我试图弄清楚如何根据引荐来源将某个域上的所有流量重定向到我的其他网站。
例如,我们只希望没有推荐人或从我们的其他网站链接到的人能够访问该网站。
我正在考虑一个脚本,如果他们的推荐人与我指定的网站不匹配(但仍然不允许推荐人流量),则可以将每个人重定向到我选择的网站。
任何帮助表示赞赏!
我试图弄清楚如何根据引荐来源将某个域上的所有流量重定向到我的其他网站。
例如,我们只希望没有推荐人或从我们的其他网站链接到的人能够访问该网站。
我正在考虑一个脚本,如果他们的推荐人与我指定的网站不匹配(但仍然不允许推荐人流量),则可以将每个人重定向到我选择的网站。
任何帮助表示赞赏!
以下 PHP 代码应该这样做(但请记住,这不能用作安全措施,因为Referer
标头由客户端提供):
if (isset($_SERVER['HTTP_REFERER']) &&
$_SERVER['HTTP_REFERER'] &&
stripos($_SERVER['HTTP_REFERER'], "example.org") === false) {
header("Location: http://example.com/", true, 302);
exit();
}
在这里,我们检查客户端是否提供了Referer
标头,然后检查它是否为非空,最后检查它是否缺少正确的域名(此处为“example.org”)。如果是这样,我们将客户端重定向到另一个 URL(此处为“http://example.com/”)并退出。
您可以只检查 HTTP 引用(故意拼写错误)标头:
if (!stristr($_SERVER['HTTP_REFERER'], "somesiteyouspecify") && !$_SERVER['HTTP_REFERER'] == '') ... redirect
您应该在 Apache 或 nginx 等网络服务器中将其配置为 RewriteRules。可以在文档中轻松找到示例......(如果我知道使用的网络服务器软件,我会给出一个......)