如何获取Request.UrlReferrer和ServerVariables [“HTTP_REFERER”]都是NULL。 Asp.Net

时间:2013-07-30 20:50:59

标签: c# asp.net

我有一个简单的表单,其中包含Post请求页面。当用户点击订阅按钮时,他会进入页面,我希望在那里获得有关它来自何处的信息。我已经使用小网站测试了它,以确保我有重定向..

Request.UrlReferrer和ServerVariables [“HTTP_REFERER”]为NULL

IP和所有其他数据已到位。

如何找到网址,表单是否已发布到我的页面?

只需复制/粘贴即可嵌入任何网站/页面的表单。

感谢。

1 个答案:

答案 0 :(得分:0)

Another SO user报告称,跨域的帖子中不会填充HTTP_REFERER。

所以我认为最好依靠JavaScript在提交之前使用引用页面填充表单中的隐藏输入。像这样:

<form action="http://www.yourdomain.com/subscribe" 
   method="POST" 
   onsubmit=
      "document.getElementById('www.yourdomain.com.referrer').value=window.location;" >
    <!-- hidden input for field starts with a domain registered by you 
    just so that it's unlikely to clash with anything else on the page -->
    <input type="hidden" id="www.yourdomain.com.referrer" name="referrer"/>
    your email: <input name="email" type="text"/>
    ... rest of form ...
    <input type="submit" value="Subscribe"/>
</form>

然后您可以在处理页面中从Request.Form [&#34; referrer&#34;]获取引用网址。