2013-02-26 63 views
0

最近,我的一个朋友使用mailto标签发布了他们的电子邮件地址,并因此收到了大量垃圾邮件机器人。检查用户是否从浏览器访问

我只是想知道是否可以检测到一个人是否使用“正确的”浏览器访问网页,如果他们是,显示电子邮件地址,如果他们不是,然后做不显示其电子邮件地址?

我知道你可以得到某人的电子邮件地址是使用HTTP_USER_AGENT,但我并不想真正需要编译一个有能力的浏览器的数组,只是想知道在PHP中是否有预定义的函数。

任何帮助将不胜感激。

P.S.我没有要求具体的代码,参考文献会做。

+0

你不能。浏览器是一个程序,也是一个机器人。 – 2013-02-26 00:39:31

回答

2

没有,解析阵列或离开它

E: 关于垃圾邮件的机器人,装配emailadresse的邮寄地址与JavaScript,工作正常,我和我从来没有垃圾邮件

+0

感谢您的回复。我可以做这样的事情:http://stackoverflow.com/questions/11595160/javascript-mailto-function-loading-issue? – Phorce 2013-02-26 00:35:28

+0

可能更简单var a ='firstpart_of_mail'; var b ='second_part_of_mail'; document.getElementById('mail-link')。innertext ='mailto:'+ a +'@'+ b; (没有保修;)) – Soundz 2013-02-26 00:40:16

1

虽然你可以过滤来自UserAgent的浏览器(如user-agents.org),或者使用get-browser method中的内置检测,由于UserAgent欺骗,您仍然可能会将蜘蛛的地址收集到原始html中。你最好用javascript来显示一个mailto链接,使用window.open("mailto:[email protected]")以及你想包含的任何其他参数,并使用<a onclick="jsfunction" href="javascript:void(0);">来触发。

编辑:或者在页面加载时使用脚本动态生成链接。

+0

请注意,已经有一些智能运行JavaScript的机器人。它就像战争一样。你想出一个好主意来阻止,但过了一段时间,他们想出了一个办法。 :( – iWantSimpleLife 2013-02-26 01:01:56

+0

是的,这是真的,动态生成的链接可能是最好的选择,因为它提供了简单的mailto,没有脚本运行的简便性,尽管如果bot使用模拟浏览器环境,所有上述方法都会失败像PhantomJS。 – 2013-02-26 01:05:25

相关问题