当前位置:  开发笔记 > 编程语言 > 正文

javascript - 注册码是否可以防止跨站提交?

如果在用户注册和登录页面,如果设了验证码功能,是不是就可以防止跨站提交呢?
如果在用户注册和登录页面,如果设了验证码功能,是不是就可以防止跨站提交呢?

回复内容:

如果在用户注册和登录页面,如果设了验证码功能,是不是就可以防止跨站提交呢?

只要把註冊碼也複製過去就又可以跨站提交了~

csrf(跨站请求伪造)是现在危害最大的web进攻手段之一,他通过伪造一个你已经登陆并且在cookie中留下登陆记录的网站的链接(可以嵌入在img a 等标签中)从而达成一定的目的,比如你登陆了银行网银账户,那么他伪造你转帐的链接,让你点击,从而把你的money给转出去(只是举个例子啊)。
防御手法有:

  1. 给每一个关键操作都添加验证操作,比如验证码,或者手机短信验证等等。
  2. 每次请求链接一个随机token,
  3. 保护好你的请求参数,不要被人猜出来。

当然也有绕过方法:

  1. 图片验证码的话可以通过人为交互或者是破译验证码的方式 搞定。比较安全的是短信验证码了
  2. token的话一定要足够随机,否则被猜出来就没用了
    同时不要认为只有get方法才有csrf,post也可以的,具体情况请自行查阅资料

如果验证码不对的话,本站也是没法提交的。如果跨站提交的js脚本里面给你识别了(虽然不大可能),提交肯定就可以了。目前还是比较有用的,建议是和token一起使用。

token和验证码只能解决正常用户的重复提交和频繁操作,对恶意的行为难以免疫。君不见现在各类群发和常见验证码识别技术如火如荼。

推荐阅读
jerry613
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有