我有两个网站(domain1.com和domain2.com),其中包含指向basedomain.com网站的链接按钮。 在basedomain.com我有一个按钮链接回domain1.com
如何将用户重定向回他们来自的网站(domain1.com或domain2.com)
<a href="http://domain1.com/" >Go back to Homepage</a>
答案 0 :(得分:2)
从&#39;添加&#39;的链接域名到您的basedomain链接,如下所示:
<a href="http://basedomain.com?from=domain1.com">
可选您可以为链接添加一些安全性,以验证来自&#39;来自&#39;使用HMAC,部分没有改变。或者匹配&#39;来自&#39;您的基础域中的值与包含可能的&#39;来自&#39;的白名单相对应。 URL&#39; S
希望这有帮助吗?
修改强>
现在最简单的方法是使用白名单变体。为此,您必须执行以下步骤:
在您的basedomain上构建一个包含有效enrties的数组,如下所示:
$validDomains = [ 'domain1.com' => 'http://www.domain1.com/', 'domain2.com' => 'http://www.domain2.com/', .... ];
在您的基础域上构建反向链接,首先要检查&#39;表格&#39;针对validDomains的密钥。如果密钥存在,请将validDomains的值添加为href链接:
$linkForYourHref = null; if (!empty($_GET['form']) && isset($validDomains[$_GET['form'])) { $linkForYourHref = $validDomains[$_GET['form']; } //button code if (!is_null($linkForYourHref)) { //link to $linkForYourHref }
另一种选择是验证您的&#39;来自&#39;通过向URL添加哈希的基本链接的一部分,如下所示:
<a href="http://basedomain.com?from=domain1.com&key=theHMACkey">
有关该内容的详情,请参阅Paragonie
答案 1 :(得分:1)
您可以使用
HTTP_REFERER - 包含用户来自的前一个网址
将url存储在变量中并将其输出到href
中 <?php
if($_SERVER['HTTP_REFERER']!=""){
$link = $_SERVER['HTTP_REFERER'];
} else {
$link = "http://www.default_link.com";
}
echo '<a href="'.$link.'" > Go back </a>';
?>
答案 2 :(得分:0)
您可以使用
header("Location: http://basedomain.com");
答案 3 :(得分:0)
使用
$refer = $_SERVER['HTTP_REFERER'];
获取域名。
并使用
header('Location: '.$refer);
重定向。