2016-10-20 2 views
-2

別のサイトからリダイレクトされたときにのみアクセスできるページを設定したいが、URLを直接入力すると機能しないが、たとえば、私はexample.com/test.htmlのようなページを持っていますが、payfast.co.zaから来たときにのみ動作するようにしたいのですが、他の方法(URLを直接入力するような場合は動作しませんあなたがexample.com/fail.htmlにリダイレクトされている。 は、私はそれをどのように行うのですか?事前に感謝 別のページからのみアクセスできるようにサイトを設定する方法

+1

の可能性のある重複した[DIRECT URLのアクセスからファイルを防止するための方法(htaccessを)?](http://stackoverflow.com/questions/10236717/htaccess-how-to-prevent-a-file-from -direct-url-access) – Mike

+1

'stripos()'を使います。 '[" HTTP_REFERER "]'は信頼できません。 –

答えて

2

あなたは

HTTPリファラがHTTP HEAであるリファラHTTPをchecekことができますリクエストされているリソースにリンクしているウェブページのアドレスを識別するフィールドを含む。リファラーをチェックすることにより、新しいウェブページはリクエストの発信元を見ることができます。

+1

信頼できないhttp://stackoverflow.com/a/6023980/ –

0

あなたはすでに@ 8zero2.opsのソリューションを持っています。 そのようにすることができます。

 if($_SERVER["HTTP_REFERER"] === "payfast.co.za"){ 
      {#what you want} else { 
      echo "Error";} 
+1

'$ _SERVER [" HTTP_REFERER "]'は信頼性がありませんhttp://stackoverflow.com/a/6023980/ –

+0

確かに。別のソリューションが存在しますが、あなたのウェブサイトがデータベースを使用していればうまくいきますその場合は、リダイレクトが完了する準備ができたときにタイムスタンプのようなアクティビティをテーブルに保存して、新しいWebページの最後のスタンプを確認することができます。したがって、ユーザーに直近の活動があった場合は、そのWebページを表示し、そうでなければpayfast.co.zaにリダイレクトします。あなたはそれを実行するために、http refererに沿ってこのソリューションを使うことができます(そして、リダイレクトの前にクッキーを設定することもできます。 – youssouf

関連する問題