只允许从特定页面访问链接


Allowing link only to be accessed from a specific page?

我正在尝试一个只能从批准的网站访问的页面,但我不知道如何访问它。我是否只需要提供一段PHP代码,生成一个随机密钥并将其附加到URL,并且该密钥只对一次访问有效?

或者可以在另一个域设置cookie,然后在最终目的地读取吗?也许在最初的页面上是一个1px的iframe?

还是我只是想做一些永远不会奏效的事情?

在评论中,我们能够澄清。。。

我只需要一种方法来保护页面,而不需要每个用户都有登录凭据,也不需要任何登录。我想的另一个选项是,每次他们点击链接时都可以进行POST发送,只有在POST包含特定密钥的情况下,我的页面才会允许他们进入。[…]

由于检测欺诈访问不是问题,我建议您只需根据批准的网站(和/或页面)列表检查http refer。它对批准的网站来说是非侵入性的,提供的安全性并不比你检查的固定帖子令牌差。

在PHP中,referr位于$_SERVER['HTTP_REFERER']变量中(如果可用)。

好的,这里是答案

<?php
$server = $_SERVER['SERVER_NAME'];          //Getting Server name
$site_name = "http://$server";              //Creating Website URL from SERVER_NAME
$url_allowed = array("http://www.allowed1.com", "http://www.allowed2.com"); //Add Allowed Website list Here
if(in_array($site_name,$url_allowed)){
echo "<a href='***your link here***'>This is Link</a>";
}else{
echo "This Link is Not Allowed For Your Site";
}
?>