0

PHPヘッダーを使用して、いくつかのページからdev.phpにリダイレクトしています

<?php header(Location: dev.php); ?>

ここにリダイレクトされた場所を知りたいです。

私が試してみました

<?php
print "You entered using a link on ".$_SERVER["HTTP_REFERER"];
?>

ただし、$_SERVER["HTTP_REFERER"];次を使用してdev.phpにアクセスする場合にのみ機能するため、機能しません<a href="dev.php">Go to Developer Page</a>

では、参照URLを取得するにはどうすればよいですか?

4

5 に答える 5

2

以下のようなものを試してください。

<?php header(Location: dev.php?referrer=$_SERVER[PHP_SELF]); ?>

また

header('Referer: '.$_SERVER['PHP_SELF']);
header(Location: dev.php);

上記の方法が機能しない場合は、セッションを使用する必要があります。

于 2013-07-22T09:03:16.680 に答える
1

GET で変数を渡すことができます。

<?php header('Location: dev.php?backurl='.$_SERVER[PHP_SELF]); ?>

そして、次のように取ります。

$backurl=$_GET['backurl'];
于 2013-07-22T09:04:23.653 に答える
0

リファラー ヘッダーはかなり信頼性が低く、完全にフィルター処理するウイルス対策ソフトウェアやファイアウォールが存在します。かなり安全に信頼できる唯一のものは、Cookie と、Cookie を使用したセッションです。

Cookie はクライアント側のブラウザーに保存されるため、操作することができますが、重要でない情報を保存する場合は、Cookie で十分です。

最近のセッションは、セッションを開始する手段として Cookie に依存しています。ランダムに生成されたハッシュは Cookie に保存され、対応するデータはこのハッシュにリンクされたサーバーに保存されます。クライアントが次のページを要求すると、このデータが取得されます。セッションの詳細については、PHP マニュアルの対応するセクションを参照してください。

私が書いたように、最近のセッションは Cookie に依存しており、セキュリティへの影響を認識していない限り、これを行うべきではありません。ただし、URL パラメータを使用してセッション ID を渡すことはできます。

補足: Cookie (およびセッション) を使用するには、設定と最終 URL の両方が同じドメインにある必要があります。そうでない場合は、リクエスト パラメータを使用して情報を渡すことができます。

于 2013-07-22T09:36:28.993 に答える
0

refererをヘッダーに手動で追加する必要があります。

header("Referer: http://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']); // current page
header("Location: dev.php");

CURL を使用して行うこともできます。そのための関数の例をここで見てください: PHP - リファラー リダイレクト スクリプト

于 2013-07-22T09:04:45.863 に答える
0
$_SERVER["HTTP_REFERER"] = 'YOUR_URL';
header('Location: dev.php');
exit(0);
于 2013-07-22T09:05:04.957 に答える