人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

PHPにて$_POST等のNULLバイト対策をしたいのですが、
function sanitize ($arr)
{
if (is_array($arr))
{
return array_map('sanitize', $arr);
}
if (preg_match('/\0/', $arr))
{
die('不正な入力です');
}
return str_replace('\0', '', $arr);
}
本に載っていた上記の関数にて
$_POST = sanitize($_POST);
としても、例えば$_POST['name']に
hogetarou\0<script>とかhogetaarou\x00<script>とか送っても、普通にそのままブラウザに出ます。
チェックされずに(die()されずに)通ってしまうのですが、これではダメなのでしょうか?
それともそもそも自分の指定方法がNULLバイト攻撃のようになっていないのでしょうか?
改善方法、または皆さんのNULLバイト対策法を教えていただきたいのですが。

●質問者: yujinTODO
●カテゴリ:コンピュータ
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● きゃづみぃ

http://www.nekomanma.jp/room/php/validation.php#index_null

エスケープ解除をしてあげないとダメなのかもしれませんね。


yujinTODOさんのコメント
ご返信ありがとうございます。 ごめんなさい、肝心な事を書き忘れておりました。 5.3.8です。

yujinTODOさんのコメント
もう一つ書いておきます。 centOS6で、Apacheは2.2の最新をソースコードから入れております。
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ