是否有人熟悉我可以在我的网站上发布链接的方式,访问时会导致用户向HOST标头中的自定义内容向第三方网站发出HTTP请求(与实际主机/不同)请求在IP级别上发送到的域名)? 一个简短的例子来澄清我的意图 - 发送到www.example.com的请求:
GET / HTTP/1.1
Host: $$CUSTOM_PAYLOAD$$ (not www.example.com)
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:25.0) Gecko/20100101 Firefox/25.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive
我在这里已经看过几个关于使用CUSTOM标题发出请求的主题的讨论,但事实并非如此,因为标题是接收方接受的合法标题。
提前致谢,
答案 0 :(得分:3)
这不是HTTP的工作原理。 Host
标头由客户端设置,并与request-URI中的主机名匹配。您可以不让浏览器向http://foo/
执行请求,并使主机标头包含bar
:
Host request-header字段指定Internet主机和端口 请求的资源编号,从原始编号获得 用户或引用资源给出的URI(通常是HTTP URL, 如第3.2.2节所述。
主机字段值必须代表 由...给出的源服务器或网关的命名权限 原始网址。这允许源服务器或网关 区分内部不明确的URL,例如根“/” 单个IP地址上多个主机名的服务器的URL。
请解释您要解决的实际问题。