5
こんにちは私は、このスクリプトでは、着信$ _GET変数の値をチェックし、それが整数であることを確認して、この値を$ _SESSION値に対して検証します自分のアカウントにしかアクセスできないことを確認します。
// validate $_GET field
if(isset($_GET['identity']) && filter_var($_GET['identity'], FILTER_VALIDATE_INT, array('min_range' => 1))) {
if(isset($_SESSION['user_identity']) && ((int)$_SESSION['user_identity'] === (int)$_GET['identity'])) { // if session exists and is === $_GET['identity']
// Proceed with code
私が合格しようとすると、このインスタンスのために正常に動作し、「0」、「2-2」、「ABC」または$ _GET値として無価値をクエリが正常に失敗し、リダイレクト:コードは次のようになりますそれらをホームページに送ります。
私が試したのは、.htaccessファイルを変更してURLを 'profile/1'にマップして整理することでした。
RewriteRule ^profile$ profile.php
RewriteRule ^profile/([0-9]+)$ profile.php?identity=$1 [NC,L]
私が今見出したのは、上記の無効な$ _GETパラメータを使用してページがリダイレクトされないということです。それはちょうど 'プロフィール/ abcを見つけることを試みる。
誰でも知っていますか?
ありがとうございます、私はあなたのルールを試してみましょう。 PHPの文が整数ではないものを明示的に除外し、URLに$ _GETを渡してマスクされていないものをすべて投げ捨てるので、それは私の.htaccesルールと関係するものでなければなりません。 – Jonnny
あなたが追加の助けが必要な場合はお知らせください –
私はそれを試しましたが、私はまだ同じ結果を得ます。どのように奇妙な、私のシステムでいくつかの奇妙なかもしれない。 – Jonnny