python3 selenium webdriver + Chrome或firefox 如何模拟Referer来路

网络干货 litianseo 6个月前 (06-11) 92次浏览 已收录 0个评论
hrome_options = webdriver.ChromeOptions()
chrome_options.add_argument(‘–referer=http://www.baidu.com‘)
想通过这种方式实现,但不成功,请教有谁用过吗?
后记:
好像这种模拟真实浏览器的不能带 Referer,如果有高手实现了的话,欢迎补充。
我对 Http 中 Referer 的认识理了理,记录一下。 第一 Referer 可以记录访问的来源,统计访问量,可以用来防盗链。 第二 客户端用 js 不能篡改 Referer,用一些插件什么的可以达到伪造的目的。 第三 可以使用 Fiddler 修改 Referer。
大家可以根据上面的 php 版本改成 python 版本的
在 php 中,可以使用$_SERVER[‘HTTP_REFERER’]来获取 HTTP_REFERER 信息,关于 HTTP_REFERER,php 文档中的描述如下:
“引导用户代理到当前页的前一页的地址(如果存在)。由 user agent 设置决定。并不是所有的用户代理都会设置该项,有的还提供了修改
HTTP_REFERER 的功能。简言之,该值并不可信。 ”
在百度百科中,对于该参数的描述如下:
“HTTP
Referer 是 header 的一部分,当浏览器向 web 服务器发送请求的时候,一般会带上 Referer,告诉服务器我是从哪个页面链接过来的,服务器籍此可以获得一些信息用于处理。”
从上面的论述中我们可以得到如下几点结论:
http_referer 由浏览器生成,并不是所有浏览器都会设置该值。
http_referer 可以伪造,并不可信。
如何伪造 HTTP_REFERER
前面提到 HTTP_REFERER 是可以伪造的,那么在 php 中,如何伪造 HTTP_REFERER 呢?有如下三种方法:
首先是接口代码:

  1. $HTTP_REFERER = isset($_SERVER[‘HTTP_REFERER’]) ? $_SERVER[‘HTTP_REFERER’] : ;
  2. exit(json_encode(
  3.     array(
  4.         ‘status’ => ‘ok’,
  5.         ‘refer’ => $HTTP_REFERER 
  6.         )
  7. ));


curl
代码示例:

  1. function curl_post($url){
  2.      $ch = curl_init();
  3.      curl_setopt($ch, CURLOPT_URL, $url);
  4.      curl_setopt($ch, CURLOPT_REFERER, http://www.google.com); 
  5.      $output = curl_exec($ch);
  6.      curl_close($ch);
  7.      return $output;
  8. }
  9. var_dump(curl_post(http://www.c.com/api.php));

执行结果如下:
{“status”:”ok”,’refer’:”http;\\www.google.com”}
伪造成功。


32w.net , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:http://www.32w.net/ganhuo/279.html
python3 selenium webdriver + Chrome或firefox 如何模拟Referer来路
喜欢 (0)
[576801182@qq.com]
分享 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址