ホームページ >バックエンド開発 >PHPチュートリアル >URLが仕様を満たしているかどうかを判断する
URL が仕様を満たしているかどうかを確認する
http://localhost/photo.php?type=1&id=0
最近、ハッカーのチュートリアルを読んだところ、これらの URL の後に 1=1 条件をいくつか追加すると書かれていました。これはどのような SQL インジェクションの問題を実装していますか?
上記の photo.php ファイルにアクセスすると、プログラムは 'type=' と 'id=' の後に数字のみが続くかどうかをチェックすると思います。 。 ID の後に次のような他のパラメータを指定することはできません:
http://localhost/photo.php?type=1&id=0&1=1
こちらの方法
いくつか教えてくださいアドバイス、ありがとう
-----解決策--------------------------
intval または正規表現を使用して、最終的な宛先タイプに基づいてコンテンツ フィルターを送信します。送信するコンテンツの長さを決定します...
もちろん、データベース操作を伴うことが前提です。このパラメーターを使用してデータベース関連の操作に参加しない場合は、それほど神経質になる必要はありません。
------解決策---------
データのエスケープが必要です。データの有効性を判断するだけではありません
------解決策----------------------
規則性は必要ありません。 is_numeric() は数値かどうかを判断できます。
------解決策---------
整数型 (int の直接強制) の場合) $var;これは簡単ではないでしょうか?キャラクターチャネリングタイプに関しては、フィルタリングなどの方法を使用する必要があります。
------解決策---------
基本的に入力データを確認してフィルタリングする最初のステッププログラムの目的は...実際、投稿者さん、あなたはそれをたくさんやったはずです...
プログラムで使用されない入力は何も引き起こしません。セキュリティへの害
intval、(int)、is_numeric、または Regular の使用に関しては、すべて必要に応じて異なります。
これらのメソッドは、特殊な項目を入力するときに異なる効果を生み出す可能性があることに注意してください。
>例えば、10 進数を入力するときは? 負の数の場合は? 16 進数または 8 進数の場合は?
結果が異なる場合があります。別のブランチに移動します。
最良の方法 さらにテストしてください。