2 つの php ファイルがあります
1.php
echo '1';
2.php
echo '2'
;
http://localhost/1.php/2.php
と入力すると 1
が出力されます。トラブルを避けるために、アドレスが不正であることをブラウザに直接通知したいのですが、どうすればよいでしょうか。
ディスカッション (解決策) への返信
しかし、http://localhost/1.php/2.php は違法ではないのに、なぜ違法であるというメッセージが表示されるのでしょうか?
/2.php は $_SERVER['PATH_INFO'] 変数に保存されます
http://www .crehelp .com/cre-loaded-vulnerability-check-you-are-affected-pg-7.html
注文ステータスを直接確認します。
まだ修正方法がわかりません
上記の通り、違法ではありません。ただし、実装は非常に簡単で、入力 URL を取得し、ファイル名をインターセプトし、単純な判断を行います
$url = "http://localhost/1.php/2.php"; $filename = basename($url); if($filename != "1.php"){ echo "<script>alert('地址非法');</script>"; }
上記のように、違法ではありません。ただし、実装は非常に簡単で、入力 URL を取得し、ファイル名をインターセプトして、単純な判断を行う
$url = "http://localhost/1.php/2.php"; $filename = basename($url); if($filename != "1.php"){ echo "<script>alert('地址非法');</script>"; }
何を使えばいいのかわかりませんが、ジャンプ防止の壁を作って入り口のみを使用することをお勧めします
How to verify if website is vulnerable?If, for example, you use http://www.example.com/admin/ URL to access store admin, try to open http://www.example.com/admin/orders.php/login.php. If you will not see login screen you are in danger!
そして私が見ているのは
私は危険にさらされていますか?
冗談です!