slim框架中防止crsf攻击时,用到的函数hash_equals
1.防止crsf攻击的最多解决方案就是 为每个请求生成一个唯一 token ,验证来源于客户端 HTML 表单产生的 POST等请求 .
2.这个token默认放在session中.
slim框架源码中生成方式 如下:
1 <?php 2 //生成name和token 3 $name = uniqid($this->prefix); 4 $token = bin2hex(random_bytes($this->strength)); //strength是一个大于16的数字 5 6 $_SESSION['crsf'][$name] = $token;
验证的时候,如果存在hash_equals函数,会优先这种方式
1 //通过$name获取到对应的值$token, $value为表单提交获取的 2 if (function_exists('hash_equals')) { 3 //hash_equals如果不等返回false 4 $result = ($token !== false && hash_equals($token, $value)); 5 } else { 6 $result = ($token !== false && $token === $value); 7 }
至于为什么先用hash_equals的方案,有什么鸟用,表式不理解.
查了下相关文档,和密码哈希比对安全有关, 具体可以 看
http://bobao.360.cn/learning/detail/398.html
https://blog.whitehatsec.com/magic-hashes/
文章里面大概就是说 如果用 双等号"=="比较密码哈希(十六进制有很小的几率会出现问题), 可以通过 hash_equals 或者 === 或者 !== 比较.
slim框架中防止crsf攻击时,用到的函数hash_equals相关推荐
- TP框架中ajax post请求时提示404
ajax post请求时提示404错误 TP框架中ajax post请求时提示404 找了半天是 控制器中方法有错误! 下次再遇到去控制器方法中找一步一步找,肯定能找到,我是单词拼错了! 转载于:ht ...
- Laravel框架中数据库分表时Model使用方法
前言: 0.最近在使用laravel框架做MySQL分表的时候经过实践和踩坑,总结了以下3种可行的分表方法,亲测可用. 1.本人公司做的是SaaS系统,以店铺为维度.店铺id(shop_id) 命名规 ...
- 问题解决10使用带有框架的页面跳转到登录页面时,登录页面只显示在子框架中,未能铺满整个浏览器--解决方案如下:...
问题描述: 使用带有框架的页面跳转到登录页面时,登录页面只显示在子框架中,未能铺满整个浏览器,例如: 当登录信息过期时,点击左边的菜单栏会让登录页面显示在右边的框架中,而不能铺满整个浏览器 解决方案: ...
- Yii框架中使用SRBAC作为权限管理模块时遇到的问题
Yii框架中使用SRBAC作为权限管理模块时遇到的问题 Yii框架中使用SRBAC作为权限管理模块时遇到的问题 看到Yii中提供RBAC的插件,SRBAC,就想用用. 结果按照手册上的安装办法,整来整 ...
- 关于Flask框架中启动Scrapy爬虫框架时的几种问题的解决
最近开发的爬虫调度系统是由Flask框架提供接口,在Flask中启动Scrapy项目,开发期间遇到了几个问题,网上找找,自己也琢磨了好久,终于顺利解决.问题如下: 一.Scrapy.crawl指令找不 ...
- Taro框架中 Image 和 Video 组件预览图片/视频时添加明显的关闭按钮以关闭全屏预览
需求 Taro框架中 Image 和 Video 组件预览图片/视频时 添加明显的关闭按钮 以关闭全屏观看,避免用户直接操作返回后导致页面空白(原有消息记录消失 - 重新进入项目首页) [补充] 全屏 ...
- ATTCK框架简介 已知攻击技术汇总
一.ATT&CK框架背景介绍 MITRE是美国政府资助的一家研究机构,该公司于1958年从MIT分离出来,并参与了许多商业和最高机密项目.其中包括开发FAA空中交通管制系统和AWACS机载雷达 ...
- ajax校验的优点,django框架中ajax的使用及避开CSRF 验证的方式详解
本文实例讲述了django框架中ajax的使用及避开CSRF 验证的方式.分享给大家供大家参考,具体如下: ajax(Asynchronous Javascript And Xml) 异步javasc ...
- Java防止Xss注入json_浅谈 React 中的 XSS 攻击
作者:陈吉 转发链接:https://mp.weixin.qq.com/s/HweEFh78WXLawyQr_Vsl5g 前言 前端一般会面临 XSS 这样的安全风险,但随着 React 等现代前端框 ...
最新文章
- Codeforces Round #220 (Div. 2)
- Wiki1017(乘积最大)
- 【BZOJ1188】分裂游戏(博弈论)
- 人工智能python小程序_Python:一个可以套路别人的python小程序
- android点击事件的优先级,Android事件体系全面总结+实践分析,系列篇
- 数据科学和人工智能技术笔记 十三、树和森林
- web前端开发基础入门教程之HTML5 浏览器支持
- matlab自带滤波器,matlab自带滤波器函数小结(图像处理)
- 程序员英语语法学习(4)扒一扒名词与形容词的关系
- 怎样让机器有人类思维
- 莫名其妙CSDN不让我发帖子了。看来10年的老水手我该离开CSDN了。
- 目标检测tricks(基于detectron2)
- UNLIMITED TABLESPACE权限
- 关于“智能革命”的分析与思考
- SysinternalsSuite
- 就GIS二次开发的一些看法
- java 登录注册小程序
- 投资理财-简单策略其实不简单
- webpack开发配置API代理解决跨域问题-devServer
- SQL Sever数据库存取图片