我正在使用Response.Redirect将用户重定向到另一台服务器以下载文件,另一台服务器正在检查标头以确保它来自正确的服务器…但是似乎Response.Redirect从响应中剥离了标头.
Response.AddHeader("Referer","www.domain.com");
但是当我检查是否设置了Referrer标头时,接收页面会测试为false.
解决方法
有一个HTML黑客可用.
<form action="http://url.goes.here" id="test" method="GET"></form> <script type="text/javascript"> document.getElementById("test").submit(); </script>
如果你需要从后面的代码触发,那也可以这样做:
Response.Write( @"<form action='http://url.goes.here' id='test' method='GET'></form> <script type='text/javascript'> document.getElementById('test').submit(); </script> ");
正如Inkel可能指出的那样,这是对Referer [原文如此]规范的宽松解释.它会做你想要的.