PHP
1---略--- 2<?php 3$foo = htmlspecialchars($_POST['foo'],ENT_QUOTES,'UTF-8'); 4if (preg_match('//',$foo)!==1) { 5 die('Error'); 6 } 7?> 8---略--- 9<input type="hidden" name="foo" value="'.$foo.'">'; 10---略---
上のコードに関して、脆弱性についての質問です。書籍(気づけばプロ並みPHP)において、特段対策がなされているようには見られなかったため疑問に思い質問いたします。
このコードは、POSTメソッドによって送られてきた情報について正規表現などを使って入力検査をし、正しい場合のみ次の処理ページに情報を送ります。情報を送る際、inputのhiddenを使用していますが、hiddenでは利用者が内容を書き換えられると聞きました。
この時、悪意のある書き換えが行われることへの対策として、次の処理ページにおいても同じように入力検査をしなければならないのでしょうか?毎度入力検査をするとなると少々冗長ではないでしょうか。
また、別の方法もあればご教授頂ければと思います。よろしくお願いいたします。
回答4件
あなたの回答
tips
プレビュー