隠し入力のあるフォームは、コードに自動的に割り当てられる値として整数を持ちます。隠し入力値を常に整数に消す
<form action="">
<input name="pageNum" type="hidden" value="1">
</form>
どのように私は値が常に指定された整数であることをことをサニタイズすることができますか?要求の値の後に'
を追加して、SQLインジェクションを行うように誰かがリクエストを変更した場合でも。これは実際のケースであるため、SQLインジェクションのセキュリティインシデントとして、テストを行った後、誰かがSQLインジェクションのセキュリティインシデントとして報告しました。しかし、1
は1\
'になり、1\
'は1の配列に存在しないため、私のコードが壊れます。
$pageNumber = $_POST['pageNum'];
if (!is_int($pageNumber)) { // $pageNumber = "1\'" for this example
// what can I do to make it 1 again?
}
私はこれをどのように達成できるのでしょうか?これにより、コード内で内部サーバーエラーが発生し、SQLインジェクションセキュリティの脆弱性であると思うようになります。
あなたはこれをあきらめましたか? – AbraCadaver
申し訳ありません、ちょうど忙しいです。 – Mentos93