ここでは Linux システムを例に説明しますが、この防止方法はどのシステムでも有効です。以下の操作を見てみましょう。
こんな風に使えます
コードは次のとおりです | コードをコピー |
http://www.xxx.com/index.php?page=../etc/passwd さらにデータを取得: |
あなたが
?page=$_GET これが当てはまる場合は、理由を分析してください。ページングには数字しか含まれていないため、次のようにします
コードは次のとおりです | コードをコピー |
?page=intval($_GET); |
このように、文字を送信できない場合は、intval関数を使用してフィルタリングを行います。
文字を処理するときは、PHP の組み込み関数 addslashes と htmlspecialchars を使用してフィルタリングします。
として
コードをコピー | |
$body = htmlspecialchars(isset($_GET[$str])?$_GET[$str]:'');
|
http://www.bkjia.com/PHPjc/629691.html