欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

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

程序员文章站 2022-05-08 08:01:01
...
如果在用户注册和登录页面,如果设了验证码功能,是不是就可以防止跨站提交呢?

回复内容:

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

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

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

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

当然也有绕过方法:

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

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

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

相关标签: javascript php