最新赞助活动温馨提示:自愿赞助服务器费用,学生和没有工作的整站资源免费下载!
头像

碰到一个无法获取来路的奇怪有关问题

来源:http://www.erdangjiade.com/topic/79472.html 你好,世界。 2017-10-04 21:03浏览(0)

碰到一个无法获取来路的奇怪问题
日志代码:
xxx.com "GET HTTP/1.0" "http://newchat.flirt.ru/go.php?url=http://xxx.com/" "Opera/9.80 (Windows NT 6.2; Win64; x64) Presto/2.12.388 Version/12.16" 162.244.10.69.1412582961752120 yq28


使用$_SERVER["HTTP_REFERER"]系统变更无法获取来路,输入这个变量值为空,这是怎么回事?

如果你把 http://newchat.flirt.ru/go.php?url=http://xxx.com/这个网址后面的url参数换上你的网址,也可以跳转到你的网站。

我现在目的是要屏蔽掉这些乱七八糟的来路访问。

------解决思路----------------------
$_SERVER["HTTP_REFERER"] 对url分析即可
------解决思路----------------------
$_SERVER["HTTP_REFERER"] 是获取来源地址。

但如果用户把url直接输入在浏览器,并不是通过链接等跳转到url的。
这样$_SERVER['HTTP_REFERER']会为空,因为没有来源地址。

保存为test.php

echo '<pre>';
print_r($_SERVER);
echo '</pre>';

如果直接在浏览器输入http://localhost/test.php 是获取不到HTTP_REFERER的,
------解决思路----------------------
另外通过header跳转的,也获取不到HTTP_REFERER。
<?php
header('location:http://localhost/test.php');
?>
------解决思路----------------------
用你提供的网址测试了一下
[HTTP_REFERER] => http://newchat.flirt.ru/go.php?url=http://localhost/test.php
是拿到HTTP_REFERER的,
估计不是用header直接跳过来。

这样就可以根据HTTP_REFERER判断来源进行屏蔽了。

评论0
头像

友情提示:垃圾评论一律封号 加我微信:826096331拉你进VIP群学习群

1 2