2016-10-24 14 views
0

私はユーザーが何かを入力フィールドに入れ、nullバイトの問題を抱えるようにするアプリケーションがあります。私はAJAX経由でデータをPHP 5.5に渡していますが、AJAXリクエストから正しく渡されているのがわかりますが、PHP側で$ _POSTを直ちにvar_dumpすると '%00'を含む文字列が ''として渡ります。私は、クエリバインディングを使用してデータベースを注入から保護しています。また、ユーザー基盤は私の会社の専有物です。だから、私は本当にそれのセキュリティ面には関心がありません。これらのnullバイトを通すためにPHPを入手するにはどうすればよいですか?PHPはnullバイトを取り除きます

+0

何が通っていますか? ""? ""?それは私が思うように切断された。 – KM529

+0

PHP自体は、end-of-stringを示すためにnullsを使用しません。それはCベースであるかもしれませんが、それはC自身の制限に縛られていません。つまり、PHPの関数の中には、基になるC言語の同等のもののラッパーだけであり、THOSEの中には、文字列の終わりとしてNULLをとることができます。 –

+0

AJAX経由で '%00'として渡され、PHP $ _POSTは空文字列 ''として出力します。 – user6041966

答えて

0

PHPでnullバイトをエコーすると、空の文字列が返されるため、これは理にかなっています。

echo chr(0); // outputs nothing 
関連する問題