我正在寻找一个解决方案,以防止重定向从外部网站到我的领域。比方说,我有一个域调用abcd.com,我发现另一个域调用xyz.biz将它们的所有流量重定向到我的域中。我想停止来自xyz.biz的查询/重定向
我正在使用IIS8 8/Windows 2012,并尝试了以下配置,但没有成功。
选项1: --我在HTTP_REFERER脚本下面添加了web.config文件,但仍然接受重定向请求。
<rule name="DenyAccess" stopProcessing="true">
<match url="(.*)" />
<conditions logicalGrouping="MatchAny" trackAllCaptures="false">
<add input="{HTTP_REFERER}" pattern="xyz.biz" />
<add input="{HTTP_REFERER}" pattern="www.xyz.biz" />
</conditions>
<action type="CustomResponse" statusCode="403" statusReason="Forbidden" statusDescription="Forbidden" />
</rule>选项2:我尝试在index.php文件中添加下面的PHP脚本,但是它没有工作。
$ref=$_SERVER['HTTP_REFERER'];
if($ref=="http://xyz.biz" || $ref=="http://www.xyz.biz"){
exit();
}当我执行回显$_SERVER‘’HTTP_REFERER‘时,它返回空结果,看不到从xyz.biz捕获的任何细节
有人能建议我们如何处理这个问题吗?提前谢谢。
发布于 2020-04-19 19:20:37
通过将.htaccess文件添加到根目录并添加下面的指令,您可以使用apache重写重定向规则:
RewriteEngine on
RewriteCond %{HTTP_REFERER} xyz\.biz [NC]
RewriteRule .* - [F]发布于 2020-08-27 13:06:34
我有一个域调用
abcd.com,我发现另一个域调用xyz.biz被重定向到我的域。我想停止来自xyz.biz的查询/重定向
如果xyz.biz是HTTP3xx重定向通信量(您已经在注释中确认为302),那么不幸的是,这是不可能的。因为重定向请求来自发出初始请求的用户代理,而不是来自xyz.biz本身。命中abcd.com的请求中的header和远程IP地址实际上可以是任何内容。
对abcd.com的请求可能是通过对xyz.biz的重定向来实现的,这一事实完全隐藏在abcd.com面前。这与用户在xyz.biz上实际单击链接时不同--在本例中,xyz.biz是Referer (除非引用者-策略阻止它)。
https://stackoverflow.com/questions/61309601
复制相似问题