当前位置: 首页 > Web前端 > HTML

为什么网页登录需要验证码?

时间:2023-04-02 18:50:15 HTML

很多朋友不理解登录时必须遇到的验证码,它增加了用户操作的冗余,直接登录就很方便了。为什么网页登录需要添加验证码?直到上周一家做业务安全的公司给我们现网做了一份安全报告,才知道验证码的本质属性就是安全,除了防止恶意破解密码、刷票、羊毛党,论坛泛滥,爬虫等。此外,它是用户和网站信息安全的有力保障。从安全的角度来说,web登录为什么需要验证码?因为你的WEB站有时候会遇到客户端的恶意攻击。一种非常常见的攻击方法是身份欺骗。它在客户端脚本中编写一些代码,然后使用其客户端重复登录网站和论坛,或者攻击者创建一个HTML表单。如果表单中包含Youregister与表单或post表单相同的字段,然后使用“http-post”向服务器传输数据,服务器会进行创建账户、提交垃圾数据等相应操作。如果服务器本身不能有效地验证和拒绝这种非法操作,将严重消耗其系统资源,降低网站性能,甚至导致程序崩溃。下面以两种常见的HTML攻击为例:1.HTML语法暴露的账户安全问题在标准的HTML语法中,支持在form表单中使用标签创建HTTP提交的属性。在WEB登录中,常见如下形式:username:password:loginform表单请求时会提交,会获取表单中input标签的name属性,作为登录验证HTTP请求body中的参数传递给后台。例如账号为user1,密码为123456,则提交登录时发送到后台的HTTP请求如下(通过Chrome或FireFox开发者工具抓取,需要开启Preservelog):可以找到也就是说即使密码字段是一个黑点,但是本地的请求还是被明文拦截了。2、HTTP协议传输直接暴露用户密码字段。在网络传输过程中,如果被嗅探,将直接危及用户信息的安全。以Fiddler或Wireshark为例,发现捕获到的HTTP报文中包含敏感信息:而现在流行的判断访问WEB程序是合法用户还是恶意操作的方法是使用一种技术,叫做“字符验证”。WEB网站就像现在的东网论坛。用于实现此目的的方法是向客户提供包含随机字符串的图片,用户必须读取这些字符串,然后将它们与用户创建的表单(例如登录表单或发布表单)一起提交。所以我该怎么做?有什么方法可以保护它吗?这时,我们的安全研究人员发明了验证码。具体的发明历史介绍可以参考我之前文章的介绍。因为图片中的数字人们很容易看出来,但是如果是一段客户端攻击代码,通过一般手段很难识别验证码。这可以确保当前访问来自人而不是机器或AI机器人。验证码:就是用一系列随机生成的数字或符号生成一张图片,在图片中加入一些干扰像素(防止OCR),让用户用肉眼识别验证码信息,输入表格和提交到网站进行验证,验证成功后才能使用功能。典型应用场景:网站安全:垃圾注册、恶意登录、恶意攻击数据安全:数据爬取、数据销毁、账号盗用恶意套现、盗卡支付意义:为防止用户使用机器人自动注册、登录、泛滥、刷票、薅羊毛等,现在的网站都使用验证码技术。目前,随着技术的发展,验证码在交互形式上也有了很大的提升,越来越重视用户体验。比如鼎象的智能无感验证就推出了无需验证即可识别用户身份的验证。系统的原理其实很简单。风控引擎会扫描运行环境,分析一些关键参数,包括常用IP、地理位置、使用习惯、恶意特征、设备指纹等,在用户尝试登录或执行其他需要验证的传统操作之前。风控引擎基于大量模型和数据的分析,可以对用户身份进行预判。如果风控引擎认为用户是“好人”,则直接放行;如果它判断它是一台“机器”,它就不会放过它;如果有任何疑问,它会给出验证码。该验证码可以有效防止特定注册用户使用特定程序暴力破解方法连续登录。其实使用验证码是很多网站(比如12306、各大银行网上个人银行登录页面、BBS论坛等)等常用的方式,虽然登录有点麻烦,但是这个功能还是可以的对网站来说是必要和重要的。