美文网首页
表单、AJAX 提交必须执行 CSRF 安全验证

表单、AJAX 提交必须执行 CSRF 安全验证

作者: 新亮笔记 | 来源:发表于2018-09-10 10:23 被阅读64次

CSRF 定义

[CSRF 百度百科](https://baike.baidu.com/item/CSRF/2735433
CSRF(Cross-site request forgery)跨站请求伪造,也被称为“One Click Attack”或者Session Riding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用。尽管听起来像跨站脚本(XSS),但它与XSS非常不同,XSS利用站点内的信任用户,而CSRF则通过伪装来自受信任用户的请求来利用受信任的网站。与XSS攻击相比,CSRF攻击往往不大流行(因此对其进行防范的资源也相当稀少)和难以防范,所以被认为比XSS更具危险性。

实现原理

  • 跳转页面前生成随机token,并存放在session中。
  • form中将token放在隐藏域中,保存时将token放头部一起提交。
  • 获取 token,与session中的token比较,一致则通过,否则不予提交。
  • 生成新的token,并传给前端。

参考代码

//定义配置文件
$config['csrf_protection'] = FALSE;
$config['csrf_token_name'] = '_token';
$config['csrf_session_name'] = 'csrf_session_token';
$config['csrf_expire'] = 7200;

public function set_csrf_hash()
{}

public function get_csrf_hash()
{}

public function csrf_verify()
{}


Thanks ~

相关文章

  • 表单、AJAX 提交必须执行 CSRF 安全验证

    CSRF 定义 [CSRF 百度百科](https://baike.baidu.com/item/CSRF/273...

  • 项目简介

    登录 --- * 双向验证 * ajax提交表单(CSRF攻击) 注册 --- * 手机号和邮箱的验证 * 发送短...

  • 项目简介

    登陆 --- *双向验证数据 *ajax 提交表单(CSRF攻击) 注册 --- *手机号和邮箱的验证 *发送短信...

  • laravel项目简介

    登录 *双向验证数据*ajax提交表单(CSRF攻击) 注册 *手机号邮箱验证*发送短信接口平台*laravel如...

  • 项目需求概览

    登录 双向验证数据 ajax提交表单(CSRF攻击) 注册 手机号和邮箱的验证 发送短信的接口平台 laravel...

  • 1_项目简介

    登录 双向验证数据 ajax 提交表单(CSRF 攻击) 注册 手机号和邮箱的验证 发送短信的接口平台 larav...

  • Laravel

    1.项目简介 登录 双向验证数据 ajax 提交表单(CSRF 攻击) 注册 手机号和邮箱的验证 发送短信的接口平...

  • 2018-08-11

    登录 ----- *双向验证 *ajax提交表单

  • php yii2 表单提交CSRF验证

    Yii2表单提交默认需要验证CSRF,如果CSRF验证不通过,则表单提交失败,解决方法如下: 第一种解决办法是关闭...

  • django表单post无效,仍是get方法

    在提交post 表单前,csrf_token 必须有值。{% csrf_token %} 否则,不能post提交。

网友评论

      本文标题:表单、AJAX 提交必须执行 CSRF 安全验证

      本文链接:https://www.haomeiwen.com/subject/cngjgftx.html