我有发布请求到页面的简单表单。当用户点击订阅按钮时,他会来到页面,我想知道它来自哪里的信息。我已经使用小型站点对其进行了测试,以确保我有重定向..
Request.UrlReferrer 和 ServerVariables["HTTP_REFERER"] 为 NULL
IP 和所有其他数据均已到位。
我如何找到网址,表格是从哪里发布到我的页面的?
表单旨在嵌入任何站点/页面,只需复制/粘贴即可。
谢谢。
另一位 SO 用户报告说 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["referrer"] 获取引用 URL。