通常情况下,答案搜索时,我发现,某些网站可以让你看,它们的价格,如果引用者是信息,例如,google.com。 然而,如果你直接链接到的信息,这将是不可用的。
我所寻找的是最小的PHP脚本,将设置我的选择的引荐,和一个目标,就像这样:
http://example.com/ref_red.php?referer=http://google.com/&end=http://example.net/
笔记:
- ref_red.php是我的例子脚本的名称。
- 引用者和最终应该接受HTTP,HTTPS,FTP。
- 引用者和端可以包含任何类型的URI,就这么简单http://end.com或复杂,因为:
http://example.com/some/rr/print.pl?document=rr
,例如。
注:由于在答复建议,我加入了这一点。 该脚本是不是一个完整的代理本身。 仅最初的HTTP请求将被代理用于设置引荐的唯一目的 (如图像等不后续请求)。
这个功能应该给你一个起点,它会与指定的引荐获取任何HTTP URL
处理查询PARMS应该是非常容易的,所以我会离开的那部分为你做
<?php
echo geturl('http://some-url', 'http://referring-url');
function geturl($url, $referer) {
$headers[] = 'Accept: image/gif, image/x-bitmap, image/jpeg, image/pjpeg,text/html,application/xhtml+xml';
$headers[] = 'Connection: Keep-Alive';
$headers[] = 'Content-type: application/x-www-form-urlencoded;charset=UTF-8';
$useragent = 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.0.3705; .NET CLR 1.1.4322; Media Center PC 4.0)';
$process = curl_init($url);
curl_setopt($process, CURLOPT_HTTPHEADER, $headers);
curl_setopt($process, CURLOPT_HEADER, 0);
curl_setopt($process, CURLOPT_USERAGENT, $useragent);
curl_setopt($process, CURLOPT_REFERER, $referer);
curl_setopt($process, CURLOPT_TIMEOUT, 30);
curl_setopt($process, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($process, CURLOPT_FOLLOWLOCATION, 1);
$return = curl_exec($process);
curl_close($process);
return $return;
}
?>
您可以使用它允许隐藏引荐(通过设置自己的地址)在互联网上提供的服务之一,但你不能强加一个特定的引用是不实际的引荐。 用户必须实际上被重定向到该网站之前,他将被重定向到目标网站(将显示为引用)。
其中一项服务: http://linkanon.com
编辑:
既然你现在改变你的问题,我如何编写PHP中的用户代理,其作用就像一个代理,适用,但随后这得到接近犯罪活动,因为你将展示第三方网站,谁可能会认为用户评论她是在实际的网站,而实际上她已加载的内容(你传递的内容)。 要执行此贴近犯罪活动(你是一个步骤就可以尝试读取用户名和密码),通过使用指定的假引荐自己写的用户代理加载第三方网站的内容与PHP和简单地将输出到您的网站的访客。 在PHP中,它可以让一个发送HTTP标头的功能,是头($头):
header("Referer: http://example.org");
相反,在人谁试图帮助喊的,你可以尝试读取HTTP(这是到世界各地轮流根据协议)规范有关Referer标头: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14 html的 (见第14.36)。
你也可能需要阅读http://en.wikipedia.org/wiki/Referrer_spoofing在这里你可以看到,它是所有关于客户端。 PHP是服务器端。 所有你能做的就是尽量写PHP所生成的客户端代码(JavaScript)的,但如果你有任何运气,那么你闯入用户的世界。
引用者是由您的浏览器设置,没有任何服务器端的机制。 你可以,我想,构建PHP中的代理,使远程服务器的请求,并适当设置参照标头。 这似乎更加有用,只是使用Firefox的插件,如http://www.stardrifter.org/refcontrol/ 。
编辑:我会改写你的问题说清楚你想要写一个PHP代理与自定义网址标头。 我可能只需要修改类似http://sourceforge.net/projects/poxy/采取引荐参数并把它。
再次编辑:您可能会在你问清楚,但缘木求鱼不会使之成为可能。 该浏览器是负责设置网址标头; 它使用URI,导致它重定向到一个新的资源。 你问的剧本,上面写着“请访问http://example.net ,但假装我其实www.foo.com是,当你这样做的”。 没有机制服务器到浏览器的指示,以“谎言”关于它来自何处。
我想这可以通过一些令人费解的JavaScript的黑客攻击是可能的,但它会在黑帽意义上的黑客 - 一个网站能够迫使浏览器来欺骗引荐将是一个真正的安全漏洞。