From f176790ed85c7ea2a4a73c94fee580d756935ca4 Mon Sep 17 00:00:00 2001 From: Chris Boden Date: Sat, 16 Jun 2012 12:49:28 -0400 Subject: [PATCH] [WebSocket] RFC compliance Close connection if payload is not UTF-8 Fixed several AB 6.* tests Refs #13 --- src/Ratchet/WebSocket/Version/RFC6455.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/Ratchet/WebSocket/Version/RFC6455.php b/src/Ratchet/WebSocket/Version/RFC6455.php index b3e47d9..5b513a6 100644 --- a/src/Ratchet/WebSocket/Version/RFC6455.php +++ b/src/Ratchet/WebSocket/Version/RFC6455.php @@ -146,6 +146,10 @@ class RFC6455 implements VersionInterface { $parsed = $from->WebSocket->message->getPayload(); unset($from->WebSocket->message); + if (!mb_check_encoding($parsed, 'UTF-8')) { + return $from->close(Frame::CLOSE_BAD_PAYLOAD); + } + $from->WebSocket->coalescedCallback->onMessage($from, $parsed); }