很多朋友们对于登录必然遇到的验证码这个事情很不理解,增加用户操作的冗余性,直接登录很方便,为什么web端登录要添加个验证码?直到上周,一家做业务安全的公司给出我们现在Web网站的安全报告,我才意识到:验证码的本质属性安全性,除了防止恶意破解密码、刷票、羊毛党、论坛灌水、爬虫等行为外,还是用户与网站信息安全的有力保障。
下面是我们技术人员给的从安全角度看,为什么Web登录需要验证码?
因为你的WEB站有时会碰到客户机恶意攻击。其中一种很常见的攻击手段就是身份欺骗,它通过在客户端脚本写入一些代码,然后利用其客户机在网站、论坛反复登陆,或者攻击者创建一个HTML窗体,其窗体如果包含了你注册窗体或发帖窗体等相同的字段,然后利用"http-post"传输数据到服务器,服务器会执行相应的创建帐户,提交垃圾数据等操作。如果服务器本身不能有效验证并拒绝此非法操作,它会很严重耗费其系统资源,降低网站性能甚至使程序崩溃。
## 下面引用2个常见的HTML攻击举例说明:
1、HTML语法暴露的账户安全问题
标准的HTML语法中,支持在form表单中使用标签来创建一个HTTP提交的属性,现代的WEB登录中,常见的是下面这样的表单:
<form action = "http://localhost:8080/Application/login" method = "POST"> 用户名:<input id="username" name="username" type="