Home >Backend Development >PHP Tutorial >javascript - 注册码是否可以防止跨站提交?

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

WBOY
WBOYOriginal
2016-06-06 20:42:101258browse

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

回复内容:

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

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

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

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

当然也有绕过方法:

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

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

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

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn