15
天学会
jQuery (6-10)
15 Days of jQuery(Day 6) ---
更安全的
Contact Forms
,不带
CAPTCHA
这次的教程内容贴近我擅长的技术方向:安全的
contact forms
。
就像我在前一篇教程中提到的那样,一个最普通的
contact forms
可以帮助访客同你进行通信来往而不需要暴
露你的电子邮件地址给那些可恶的垃圾邮件制造者们。
但如果
spammer
们已经盯上你,没有什么比一个不安全的
contact foms
更糟糕的了。想象一下你的网络空间
提供商发给你一封措辞强烈的电子邮件,通知说:他们发现你的网站发送了大批量的性药广告以及其他垃圾邮
件,另外,直到你停止这种行为之前,你的网站都将处于离线状态–谢谢!
那么,今天我要在这篇教程里告诉大家的是一种在任何
contact forms
上添加一个额外安全层的简单方法-即
使你没有使用我提供的超级安全、超级灵活的
Ultimate Form Mail
。
当前状况
你意识到
spammer
们已经通过远程探测技术发现了你的
contact forms
的弱点,而你希望他们走开。
难点
你不想使用
CAPTCHA
(
Completely Automated Public Turing Test to Tell Computers and
Humans
Apart
),因为你明白,让你的访客先去阅读那些歪七扭八的字母数字才能发送消息只能抑制他们想要互动的
欲望,而不是促进它。
(
数字验证的缺陷
)
关键点:你希望那些坏家伙们堵车到天黑,同时希望那些好孩子们一条大道通罗马。
解决方案
你将学会在页面加载的时候使用
jQuery
来给你的
contact forms
添加一些隐藏的标签信息。当窗体信息被提交
到服务器端的时候,你可以用一些简单的
php
代码实现如下的步骤:
隐藏的标签被识别出来 隐藏标签的信息与你的网站访客下载到浏览器上的
cookie
里的某项标志相一致 隐藏标
签的有效时间还未过期 换句话说,你的访客们只有在一段有限的时间内才可以填写窗体并进行发送。如果一个
spammer
尝试通过远程调用来提交窗体信息到你的服务器,他们将会发现自己踢到了一块又厚又硬的铁板,
不付出点代价休想通过。
我将要告诉你的这种方法是从一位非常聪明的同事
Chris Shiflett
提供的蓝本基础上修改而成的。他是位专业的
安全专家,对
php
程序员经常遇到的安全问题了如指掌(我怎么感觉他又要忍不住提到他的
Ultimate
Form
Mail
了
~~
汗)。
页码,1/8jquery中文指导:15天学会jquery_2 [jQuery中文社区]
2008-11-10http://wiki.jquery.org.cn/doku.php?id=jquery%E4%B8%AD%E6%96%87%E6%...
评论1