Page1.phpとPage2.phpという2つのページがあるとします。時にはPage1.phpが直接ロードされ、ときどきPage2.phpからリダイレクトされることがあります。私の質問は、Page1.phpが直接ロードされているか、Page2.phpからリダイレクトされているかどうかを確認できます(クエリ文字列が使用されていない場合)ページが直接読み込まれているか、他のページからリダイレクトされているかをPHPでチェックする方法は?
答えて
Page2.phpでセッション変数を設定し、
Page2.php
<?php
session_start();
$_SESSION['from2'] = true;
header('Location: /Page1.php');
?>
の.php Page1.php
<?php
session_start();
if(isset($_SESSION['from2']) && $_SESSION['from2']) {
/* from Page2.php logic here */
unset($_SESSION['from2']);
}else{
/* not from Page2.php */
}
?>
グローバル変数$_SERVER['HTTP_REFERER']
の値を読み取ることができます。
これは、正確性の必要性が低い場合に機能します。 RefererフィールドはHTTPではオプションであり、一部のブラウザはそれらを送信しません(私は自分自身でそれを無効にしていますが、一部のファイアウォールは要求からそれを削除します)。 –
私はこれを使うことができますが、リファラーがなりすましになる可能性があるため、クリティカルなアプリケーション(信頼性がない)では使用できないと思います。 http://en.wikipedia.org/wiki/Referrer_spoofingそれで、セッションを使っているエミールの答えはもっと安全だと思います。 – Alfred
これは、URLにパラメータを渡していない場合にこれを行う唯一の方法です。もちろん、現在のページを覚えているクッキーを保存することもできますが、これも100%安全ではありません。 – Gedrox
$ _SERVER [「HTTP_REFERER」]
ものの、信頼できない理由を確認するために、マニュアルをチェックアウト:何をしようとする http://uk3.php.net/manual/ro/reserved.variables.server.php
- 1. ページがリダイレクトされているかどうかは、前のページからリダイレクトされていますか?
- 2. ページがリダイレクトされたか、直接読み込まれたかを検出します(JavaScript)
- 3. PHPファイルの検索方法は、直接含まれているか、直接アクセスされていますか?
- 4. iframeに読み込まれたPHPからページをリロードする
- 5. ページが読み込まれると、mypic.jpgはブラウザからダウンロードされますか?
- 6. どのページが読み込まれているかを確認するには?
- 7. Waypoints.js:ページの読み込み時に要素が表示されているかどうかをチェック
- 8. '動的な'ページが読み込まれていますか?
- 9. PHP読み込み中のコンテンツがページとして読み込まれる
- 10. WebBrowserコントロールでWebページが読み込まれているかどうかを確認する方法
- 11. 含まれているページからPHPの返品方法?
- 12. WebページがWebブラウザに完全に読み込まれているかどうかを調べる方法は?
- 13. ページの他のすべてのコンテンツを読み込んだ後にPHPページを読み込む方法
- 14. オブジェクトインスタンスがページの読み込みに設定されていませんか?
- 15. MVC中級ページから別の長い読み込み時間ページへのリダイレクト
- 16. PHPのあるページから別のページへのリダイレクト方法は?
- 17. なぜPHPはHTMLがサーバサイドで読み込まれて実行されているので、PHPはサーバサイドでのみPHPで書かれていますか?
- 18. J2MEでチェックボックスがチェックされているかチェックされていないかをチェックする方法は?
- 19. すでにロードされているjqueryページ内にページを読み込む!
- 20. ページのデータベースから読み込む方法同じページにajaxを使ってphpとjqueryでスクロールする
- 21. PHPでページが読み込まれる内容を調べる
- 22. ページの読み込みを待たずにリダイレクトする方法
- 23. PHPでクラスからページへデータを渡すには?他のpage.Supposeページ1で定義されている
- 24. リダイレクトされたページとリフレッシュされたページとの違いを検出できるコードはありますか(初めて読み込む)?
- 25. すでに接続されているページのmysqli_query接続PHP
- 26. PHPを使用してページに直接アクセスする場合、ページをリダイレクトする方法は?
- 27. ページの表示方法ページの読み込みが完了するまでdivをロードしています
- 28. キャンバスアプリがページまたはプロフィールにインストールされているかどうかをチェック
- 29. ページが数秒間停止してから正常に読み込まれる
- 30. ページの読み込みエフェクト - 新しいページがそれぞれ異なる方向からスクロールします(... scrollToを使用して1つのページサイトとして)
が/なぜあなたはこれをしたいですか?たぶんもう一つの解決策があります。 –
これは私がlogin.phpページとvalidation.php pageを持っているからです。検証ページのユーザ名とパスワードはデータベースの値と一致し、そうでなければlogin.phpページにリダイレクトされます。だからリダイレクトで私はログインページにいくつかのエラーメッセージを表示する必要がありますし、私は必要がない場合。 – ANP