ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

php – 由客户端设置的HTTP_REFERER

2019-07-26 11:31:08  阅读:226  来源: 互联网

标签:php security http-referer


我听说HTTP_REFERER可能是欺骗性的.我有2个站点,第一个站点与第二个站点联系,第二个站点使用HTTP_REFERER来验证请求是否来自第一个站点.

如果我从第一个站点收到第二个站点的虚假请求,并且我知道没有提出此请求,我应该怎么想?第三个网站是为所有用户欺骗http_ref,还是个人从浏览器设置中欺骗它?我想知道客户端/浏览器或网站本身是否设置/欺骗了http_ref?

解决方法:

它是客户发送的信息.它通常设置为您单击链接的页面.

它也绝对可以欺骗.您可以通过在PHP cURL请求中设置HEADER来自己完成.

curl_setopt( $ch, CURLOPT_HTTPHEADER, array(
        'Host: www.google.com',
        'Referer: http://google.com/', 
        'FaKeHEADER: ThisIsFakeButItWillBeSentAnyways'));  

接收服务器将在标题中看到它们,即使它从未从google.com发送过.您还可以欺骗您在标题中看到的所有其他内容(用户代理,Cookie等).

除非你确切知道每个源的每个应该是什么样子,否则你将很难检测到欺骗性标题.您可以做的最好的事情是使用IP并限制您接受的Header类型(例如,如果页面只能使用GET请求,则拒绝所有POST请求).即便如此,如果有人想要欺骗你,那么他们很可能也不会知道.

如果你试图确保你的两个站点之间的连接,你应该限制连接不仅仅是一个标题,这根本不安全.

编辑:你甚至可以发送真正的假标题.我更新了示例以显示我的意思.有些网站使用自定义(如假的)标头来传递身份验证.

标签:php,security,http-referer
来源: https://codeday.me/bug/20190726/1543585.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有