A. php伪造referer获取header,请大神指教
$out那部分不能这么写
$out="GET$targetHTTP/1.1 Host:$host Referer:$referer Connection:Close ";
开头不能有空行,且每一行必须有换行符分隔
或者用
$out="GET$targetHTTP/1.1 ";
$out.="Host:$host ";
$out.="Referer:$referer ";
$out.="Connection:Close ";
B. 如何改变或伪造HTTP-REFERER
以前对Http中Referer的认识不够透彻。最近理了理,记录一下。
1 Referer可以记录访问的来源,统计访问量,可以用来防盗链。
2 客户端用js不能篡改Referer,用一些插件什么的可以达到伪造的目的。
3 可以使用Fiddler修改Referer。
选择 fiddler窗口的rules->customize rules…在打开的CustomRules.js记事本窗口中,找到如下位置 static function OnBeforeRequest(oSession: Session) { // Sample Rule: Color ASPX requests in RED // if (oSession.uriContains(“.aspx”)) { oSession["ui-color"] = “red”; }
在这一句的后面加上 if(oSession.oRequest.headers.ExistsAndContains(“Referer”,”220.170.79.105″)) { oSession.oRequest.headers.Remove(“Referer”); }
4 服务器端修改Referer,通过webClient,直接设置访问可以达到修改目的。
5 其它的一些修改Referer的方式方法。参考:http://www.cnblogs.com/mx3000/archive/2007/12/17/1003239.html
6 利用Referer防止图片盗链
虽然Referer并不可靠,但用来防止图片盗链还是足够的,毕竟不是每个人都会修改客户端的配置。(一般只允许站内访问)
C. php如何判断用户是从指定页面跳转进来的
从请求的header中获取Referer来判断:
$_SERVER['HTTP_REFERER']
当浏览器向web服务器发送请求的时候,一般会带上Referer,告诉服务器用户是从哪个页面链接过来的,服务器籍此可以获得一些信息用于处理。比如从A页面链接到一个B页面,B页面的服务器就能够从HTTP Referer中统计出每天有多少用户点击A页面上的链接访问的的B页面。
D. php 伪造或隐藏 http referer
三楼,人家明显问的是黑b网站的事情,不是什么负载均衡。
因为发给b网站的请求如果是从客户端浏览器发起的,那么refer是用户机器上发起的,浏览器会自动根据当前页设置refer。所以你要是想伪造,就只能做proxy,或者欺骗浏览器让他认为当前网站域名就是b网站。
proxy的方式,a网站作为代理,要同时承担这部分欺骗引起的流量,如果你是想黑别人,那么会得不偿失。
欺骗浏览器方案,这种可以考虑用js来实现,不过具体方法就不告诉你了。
那也是一个意思,就只有我说的这两种方法。
E. 如何用PHP伪造referer - PHP进阶讨论
$content=@fsockopen($domain,80,$errno,$errstr,12);//连接目标主机这个我用的就是不行,不知道是不是我的方法问题,希望高手能给个例子
F. 如何改变或伪造HTTP-REFERER
其实伪造HTTP-REFERER是一些流氓软件或者是一些批量注册或灌注信息的工具必备的,因为这样才能跳过服务器的HTTP-REFERER检查。 当然,出于研究也好或者出于伪造也好,了解一下吧! 先看看伪造的方法,看看服务器端的手段,服务器可以轻松实现,...
G. 如何改变或伪造HTTP-REFERER
先看看伪造的方法,看看服务器端的手 段,服务器可以轻松实现,但是一个直接的问题就是查 remote_addr的时候,就只有一个了,容易被禁止IP:
ASP:
dim http
set http=server.createobject("MSXML2.XMLHTTP") '//MSXML2.serverXMLHTTP也可以
Http.open "GET",url,false
Http.setRequestHeader "Referer","http://www.fromdomain.cn/"
Http.send()
PHP(前 提是装了curl):
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL, "http://www.readdomain.cn/xxx.asp");
curl_setopt ($ch, CURLOPT_REFERER, "http://www.fromdomain.cn/");
curl_exec ($ch);
curl_close ($ch);
PHP(不装curl用sock)
$server = 'www.readdomain.cn';
$host = 'www.fromdomain.cn';
$target = '/xxx.php';
$referer = 'http://www.aslibra.com/'; // Referer
$port = 80;
$fp = fsockopen($server, $port, $errno, $errstr, 30);
if (!$fp)
{
echo "$errstr ($errno)<br />\n";
}
else
{
$out = "GET $target HTTP/1.1\r\n";
$out .= "Host: $host\r\n";
$out .= "Cookie: SESSIONID=test\r\n";
$out .= "Referer: $referer\r\n";
$out .= "Connection: Close\r\n\r\n";
fwrite($fp, $out);
while (!feof($fp))
{
echo fgets($fp, 128);
}
fclose($fp);
}
VB.NET/C#.NET
Dim oXMLHttp As MSXML2.XMLHTTP30 = New MSXML2.XMLHTTP30()
或 者
MSXML2.XMLHTTP30 oXMLHttp = new MSXML2.XMLHTTP30();
oXMLHttp.open(....
oXMLHttp.setRequestHeader(...
oXMLHttp.send(..
引用
原理都是sock构造http头来senddata。其他语言什么的比如perl也可以,目前比较简单的防 御伪造referer的方法是用验证码(Session)。现在有一些能防盗链软件的商业公司比如UUDOG,linkgate,VirtualWall 什么的,都是开发的应用于IIS上面的dll。有的是采用cookies验证、线程控制,有的是能随机生成文件名然后做URL重写。有的方法能的确达到不 错的效果.
H. php取得页面来源,就是referer,
1、如果是从其他页面跳转过来,则会有 $_SERVER['HTTP_REFERER']值,且不为空
2、如果是直接从网址里输入这个URL访问,则会有 $_SERVER['HTTP_REFERER']值,且为空
I. php,跳转,如何才能保留referer
你好!
方法很多,cookie和session就不用说了,还有一个就是使用查询参数保存就可以了,
也就是,header跳转前在地址后面在加上一个reffer参数
header("url.php?...&reffer=".当前的地址);
如有疑问,请追问。
J. 如何修改referer php
referer是记录上一个请求的信息,这是当前请求无法修改的,也就相当于历史信息,已经定型了。
如果你单纯的只是想改变php中 $_SERVER里面referer,你可以直接修改,只是个变量而已。
当前请求能够伪造下一个请求的referer,具体你搜一下伪造referer