繁体   English   中英

我如何确定用户从哪个网站提交了表格?

[英]how do i identify from what website a user submitted a form?

我想确定用户从哪个网站提交了联系表。

联系人表格是一个包含文件(.shtml),该文件正在两个不同的网站上使用。 由于它只是一个文件(包括), if...else语句或switch语句会执行javascript操作吗? 如果是这样,它将如何编写?

我是JavaScript的新手,并且不必写太多东西,因此希望您能对语法有所帮助。

我考虑过在其中一个包含联系人表单的字段中添加两个隐藏字段,其中包含两个不同站点的ID:

html

<input type="hidden" data-id="new_student_signup" name="student_signup" value="" />
<input type="hidden" data-id="existing_student_signup" name="existing_student_signup" value="" />

js

if(data-id="new_student_signup"){

  // this user came from the new student website

   code if this condition is true
 }

else if(data-id="existing_student_signup"){

  // this user came from the existing student website

   code if this condition is true

 }

还是我应该为另一个网站创建一个新的包含文件,然后将隐藏字段添加到该文件中,而不是在一个包含项上使用JavaScript?

我承认,对于像我这样的JavaScript新手来说,这似乎最简单,但是我确实喜欢学习更多JavaScript的想法。

您可以通过检查HTTP_REFERRER使用服务器端脚本来完成此操作。

PHP示例

<?php
if(!empty($_SERVER['HTTP_REFERRER']) && $_SERVER['HTTP_REFERRER'] == 'http://google.com/')
{
// proceed accordingly
}

您可能要根据域名或更具体的URL数据(而不是整个HTTP引荐来源字符串)来区分引荐来源。 在这种情况下,请查看http://php.net/parse_url


您也可以通过访问document.referrer属性使用JavaScript来完成此操作。

您可以在javascript中通过检查document.url属性并将其放入隐藏的输入字段中来执行此操作。 但是,我认为最好在服务器端编程代码中进行检查。 您可以只检查当前使用的服务器,然后使用它来确定它是哪种形式。 您可以通过获取SERVER_NAME服务器变量来完成此操作,这将告诉您当前所在的域。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM