私は以前にウェブサイトにアクセスしたことについて話しているわけではありませんが、ログインしていないユーザーが以前にウェブサイトにアクセスしたことがあっても、ウェブサイトのホームページにアクセスしたばかりです。私はセッションで何かをしなければならないと思っていますが、私はそれをまだ理解していません。PHPでは、ユーザーがウェブサイトのホームページ/インデックスページにアクセスしたばかりかどうかを確認するにはどうすればよいですか?
答えて
$_SERVER['HTTP_REFERER']
でこれを行うと、最後に訪れたページのアドレスが返されます。この変数は変更することができ、ユーザーエージェントによって設定されていない可能性があるため、重要なことにはこれを頼ることはできません。
現在のページへのユーザエージェントと呼ばページ(もしあれば)のアドレス:PHPドキュメントから
。これはユーザエージェントによって設定されます。すべてのユーザエージェントが に設定されているわけではなく、HTTP_REFERERを 機能として変更する機能もあります。要するに、それは本当に信頼できるものではありません。
// by file setcookie('last_page', $_SERVER['PHP_SELF']); // by uri setcookie('last_page', $_SERVER['REQUEST_URI']);
とに確認してください:
// homepage $home = 'home'; // check if ($_COOKIE['last_page'] == $home) {}
参照
あなたはまた、次のように訪問したクッキーやセッション変数を使用してページを設定することができ
ありがとう、これは私が探していたものです。 – dave
あなたは、PHPのServer Variableを活用することができるはずです。
$refer = $_SERVER['HTTP_REFERER'];
これは誰でも簡単に偽装することができますが、これは簡単な方法です。
あなたが言ったように、簡単になりすますことができるので、そのサーバ変数に対してhtmlspecialchars()を実行してください。 –
ユーザーは以前からのページを操作できるので、より良いアプローチは何ですか? – dave
本当に良い方法はありません。 SSLを使用しているWebサイトが増えれば、これはさらに大きな問題になります。 – earthmeLon
インデックスページを入力するときに、タイムスタンプ付きのCookieを設定できます。
確かな方法(ユーザーがCookieを有効にしていることが前提)を望む場合は、セッションを開始し、$_SESSION['ref'] = $_SERVER['PHP_SELF']
のような変数を割り当て、ユーザーが訪問する後続のページのホームページURLを確認します。
- 1. ユーザーがindex.htmlにいるかどうかを確認するにはどうすればよいですか?
- 2. ユーザーがウェブサイトまたはオフラインでオンラインになっているかどうかを確認するにはどうすればよいですか?
- 3. WinActivateが成功したかどうかを確認するにはどうすればよいですか?
- 4. Seleniumスクリプトがログインできたかどうかを確認するにはどうすればよいですか?
- 5. エラーが返されたかどうかを確認するにはどうすればよいですか?
- 6. リンクが訪問されたかどうかを確認するにはどうすればよいですか?
- 7. PHP:ユーザーが特定のグループに再帰的にアクセスできるかどうかを確認するにはどうすればいいですか?
- 8. ネットパイプサービスがリッスンしているかどうかを確認するにはどうすればよいですか
- 9. データが新しいかどうかを確認するにはどうすればよいですか?
- 10. jquery:ページにフォーカスがないかどうかを確認するにはどうすればよいですか?
- 11. ポップアップページが開いているかどうかを確認するにはどうすればよいですか?
- 12. Scala - オブジェクトがスレッドセーフであるかどうかを確認するにはどうすればよいですか?
- 13. フォームがヘルプモードであるかどうかを確認するにはどうすればよいですか?
- 14. アンドロイドアプリがハイブリッドアプリであるかどうかを確認するにはどうすればよいですか?
- 15. Java - シーンがフルスクリーンモードであるかどうかを確認するにはどうすればよいですか?
- 16. ジェネリックメソッドパラメータが値型であるかどうかを確認するにはどうすればよいですか?
- 17. オブジェクトがコレクションであるかどうかを確認するにはどうすればよいですか? (スウィフト)
- 18. ウィンドウがオフスクリーンであるかどうかを確認するにはどうすればよいですか?
- 19. ファイルが空であるかどうかを確認するにはどうすればよいですか?
- 20. URLが画像であるかどうかを確認するにはどうすればよいですか?
- 21. TextFieldが整数であるかどうかを確認するにはどうすればよいですか?
- 22. オブジェクトが「空」であるかどうかを確認するにはどうすればよいですか?
- 23. テキストエリアが空であるかどうかを確認するにはどうすればよいですか?
- 24. コンピュータにWiFiアダプタがあるかどうかを確認するにはどうすればよいですか?
- 25. Android:アクティビティにオプションメニューがあるかどうかを確認するにはどうすればよいですか?
- 26. アプリがバックグラウンドにあるかどうかを確認するにはどうすればよいですか?
- 27. EditTextに値があるかどうかを確認するにはどうすればよいですか?
- 28. Androidアプリにメモリリークがあるかどうかを確認するにはどうすればよいですか?
- 29. ユーザーがGPSをオンにしているかどうかを確認/確認するにはどうすればよいですか?
- 30. javascriptオブジェクトがイメージかキャンバスかどうかを確認するにはどうすればよいですか?
いつでもCookieを使用できますが、安心できません。 – yasar