
在没有验证码的时代,想要在论坛上发帖,只需轻轻敲一下回车键。然而,这也给恶作剧者和黑客提供了同样的便捷,他们通过编写大量、重复编写信息的程序,伪装成人类用户,肆无忌惮地朝网络上倾斜大量的、无意义的“僵尸”信息,垃圾邮件、垃圾广告、垃圾评论到处乱飞。论坛被灌水,有用的信息很快会被淹没,很多网站的正常运营遭到破坏。除此之外,还有数之不尽的程序机器人使用不断尝试的方法恶意破解密码、恶意刷票,从中获取非法的利益。
网站制作中经常会遇到验证码功能,那么到底是前端验证还是服务器端来验证?苏州网站制作在这里分享下个人观点,一是模拟用户动作,比如鼠标点击、字符输入,好处是对灌水者来说屏蔽了技术细节,只关注需要做什么操作。对于这种流派,理论上滑动解锁也是可以模拟的。
二是直接post数据,会事先抓包分析好需要的参数,然后直接向服务器提交。对于这种流派,它只关注最终的提交数据,之前有没有滑动解锁是完全无影响的。逻辑上,纯客户端的验证再复杂也是无效的。最终提供验证的,其实是在服务端,客户端只是显示了一下验证码而已。JS完全是由客户端实现的,任何JS操作都可以被模拟,所以不能单纯用JS来实现验证码。
所以苏州网站建设个人认为,验证码真正的目的是为了安全性的考虑,那么真实有效的验证也应该在服务器端验证。应该是后台生成的验证码到前端显示,前端传输数据到后端进行验证,前端再根据后端的验证结果显示。当然大牛们可能要喷了,前端也有实力达到很高的安全性,不过小编还是习惯后端验证。