位置: 编程技术 - 正文

浅谈php(codeigniter)安全性注意事项(浅谈一下新冠的好处)

编辑:rootadmin

推荐整理分享浅谈php(codeigniter)安全性注意事项(浅谈一下新冠的好处),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:浅谈是什么意思,浅谈中国式现代化3000字论文,浅谈一下新冠的好处,浅谈是什么意思,浅谈如何培养孩子的注意力,浅谈如何培养孩子的注意力,浅谈建筑地基基础加固施工技术亲,浅谈是什么意思,内容如对您有帮助,希望把文章链接给更多的朋友!

1、httponly

session一定要用httponly的否则可能被xxs攻击,利用js获取cookie的session_id。

要用框架的ci_session,更长的位数,httponly,这些默认都配好了。

不要用原生的phpsession,而要用ci_session。ci_session位数更长。

如果要用原生的session,应该这样设置(php.ini):

session.sid_length //sid的长度,这里要加长,默认的太短了

session.cookie_httponly = 1原生的session就会变成httponly了。

2、phpinfo

一定要关闭phpinfo页面,dump的请求信息可能会被攻击者利用。比如cookie信息。

3、强制全站https

通过cdn跳转,本地开发环境也要配https。如果有的环节不能使用https,比如消息推送,那么可以新建一个站点。

4、Strict mode

session.use_strict_mode = 1

只使用服务端自己生成的session id,不使用用户客户端生成的session id。

5、CSRF跨站请求伪造

A的cookie里有站点example.com的session id,并且未过期,B通过放一个图片在论坛上,引诱A去点击这个图片,这个图片会发起一个请求,请求伪装成example.com,A的浏览器信以为真,将example.com的cookie附加到了这个请求上面,这个请求信息被B的代码截获并且通过异步请求发送给了B,B通过这个cookie登录了A在example.com的账户。

CI有防CSRF机制,即他会在表单里面自动的插入一个隐藏的CSRF字段。需要进行如下设置:

application/config/config.php:

注意,这个开了以后,所有的向外站进行的请求都被阻止了。如果我们网站有向其他网站获取数据的行为,比如说调用api,那就不可以启用这个开关。

6、xss攻击

CI会对post数据进行xss过滤,只要这样调用:

只要加一个参数true,就可以对post的数据进行xss过滤。

7、重放

浅谈php(codeigniter)安全性注意事项(浅谈一下新冠的好处)

你把用户名密码加密了,传到服务器进行登录验证,攻击者并不需要解密你这些用户名密码,他只要把截获的这些数据包,重新再操作一次,就可以实现登录,这就是重放。

5、6的防御措施:每个表单包含一个隐藏的只能用一次的随机码token。

只用一次的token实现:redis 到期失效 使用后直接删掉

8、总结:用户安全登录流程

<1>session基本策略:

(1)session仅作会话session,关闭浏览器即失效;

(2)session的有效期设置得越短越安全,比如说秒;

(3)相应的需要修改session的刷新时间,比如说秒;

(4)设置用redis存储session。

配置如下:

在php.ini:

这个是session的有效期,默认是秒,即分钟,改为比如说秒。当秒后,客户端跟服务端这个sid对得上的话,也是无效的,应该在秒之前刷新一次页面更新sid,怎么更新下面有说;

在application/config/config.php:

<2>session id的刷新及session的过期时间区分:

注意:这些设置跟安全关系非常大,应该注意区分及使用。

上面说的session.gc_maxlifetime是什么意思?即一个session从产生,到过期不能用的时间。其实如果使用redis就清楚了,这个值就是使用redis保存sid的时候,设定的一个存续时间,这就很清楚了,当一个sid产生的时候就会把这个时间写进去,那么到了这个时间,这个key-value就会被删掉。

那么这个sess_time_to_update呢,这个顾名思义是刷新时间,这个时间是一个阈值,是指超过这个时间即刷新。并不是自动刷新,而是访问session的时候刷新!当我们在使用session的时候,他会去判断上次使用session跟这次使用session的间隔,如果间隔大于这个值,即刷新sid。这个使用,通常的表现就是我们在刷新页面,需要读取session以鉴权,那么就是在刷新页面的时候,两次间隔有超过这个时间,即刷新sid,那么结合上面的maxlifetime呢,就是刷新完之后session重新续命了,一个新的session写进去,连带一个重新开始的计时。

就是说呢,如果我们一会刷一下页面一会刷一下页面,那么必然会在必要的时候触发我们的刷新机制,那么我们的session就不会过期了,永远不会,如果经常性的在那里刷的话。如果两次刷新的时间间隔超过maxlifetime呢,这时会显示登录超时了,session已经没了,因为在过期了之后你去update,显然是不行了,update失败。

那么总结就是,这个maxlifetime决定了我们两次刷新之间不能超过多长时间,否则登录超时;而update呢肯定要小于maxlifetime,这是必然的,因为如果大于就无效了,因为过期了刷新没用。并且最好我觉得这个update最好是maxlifetime的一半以下。如果maxlifetime很长的话(希望改善用户体验,让用户老是登录超时总是不大好),那么这个update设的比较短也没关系,因为设的比较短的话,假设这个session被偷了那么有比较大的可能这个贼去使用的时候已经过期,安全性会比较高。

<2>one-times-tokens:

一次性的token

参考这个文章:

CSRF的攻击方式详解 黑客必备知识

老生常谈重放攻击的概念(必看篇)

以上这篇浅谈php(codeigniter)安全性注意事项就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持积木网。

php及codeigniter使用session-cookie的方法(详解) 1、读写cookie1原生setcookie('name','value',time)设置失败,没有正常写入浏览器,测试失败,原因未知2CI框架$this-input-set_cookie("views","test",);echo$_COOKIE["views"

php 根据自增id创建唯一编号类 在开发过程中,我们数据表一般都使用自增数字作为id主键,而id是数字型,不容易理解。我们把id按一定格式转为编号后,很容易根据编号知道代表的

详谈配置phpstorm完美支持Codeigniter(CI)代码自动完成(代码提示) 1、设置字体、风格代码主题选择Monokai会是彩色的代码。2、配置CI代码提示1下载代码提示项目:

标签: 浅谈一下新冠的好处

本文链接地址:https://www.jiuchutong.com/biancheng/292523.html 转载请保留说明!

上一篇:PHP基于新浪IP库获取IP详细地址的方法(php php.ini)

下一篇:php及codeigniter使用session-cookie的方法(详解)(phpqrcode)

  • 房地产开发企业预缴增值税
  • 出差补贴要不要发票
  • 生产企业退税计算方法怎么选择
  • 个人所得税怎么扣
  • 广告公司小规模税率
  • 现金盘亏无法查明原因计入什么科目
  • 成品油经销企业税收风险点
  • 发生销货退回需要退回发票么
  • 未确认融资租赁费用是什么类型科目
  • 其他应收款余额在贷方,怎么填资产负债表
  • 计入在建的工资会计科目
  • 小微企业减半征收城建税
  • 清卡增值税申报比对不通过的原因
  • 公司自用房屋怎样交税
  • 个体户定额定税要做账吗
  • 多扣除了应交税费怎么调整?
  • 以前年度损益调整会计分录
  • 房地产企业的样板房,装修款如何缴纳增值税
  • 其他有形动产租赁服务
  • 月末汇兑损益怎么算
  • 资产负债表中的货币资金怎么算
  • w10触摸键盘
  • 企业从政府取得的经济资源均应当
  • 消费税有减免政策吗
  • 上季度成本多结转了怎么调
  • 理财计算收益公式
  • 前端项目中遇到的最大困难,怎么解决的
  • 主营业务收入会计分录例题
  • 腾达路由器桥接的方法
  • 微信小程序插件有哪些
  • 事件循环(Event Loop)
  • php ladp
  • 企业资本结构决策需要重点考虑的有
  • 电子承兑汇票是什么时候开始的
  • 税金及附加在哪里申报
  • 金税盘锁死能正常报税吗
  • php验证表单方法有哪些
  • html在线小游戏
  • CSS渐变背景应用
  • 低调低调
  • yolo算法百度百科
  • 【K210】K210学习笔记七——使用K210拍摄照片并在MaixHub上进行训练
  • unetbootin怎么删除
  • 应收账款周转天数减少说明什么
  • python动态强类型语言
  • 旅游费怎么记账
  • 党建工作经费使用流程
  • 跨年认证原材料是什么
  • 长期借款属于什么会计分录
  • 固定资产丢失进哪个科目
  • 两个独立核算单位可以共用一个账户吗
  • 以长期股权投资换入存货
  • 事业单位借款给下属单位
  • 上年结转会计分录
  • 社保缴费基数如何核定
  • 货物赔偿款怎么开票
  • 股份支付应如何进行账务处理?
  • 纳税期限与缴库期限不符
  • 小规模税收酒店做账报税
  • 异地预缴增值税多交了怎么办,可以退吗
  • 库存现金的使用限额
  • 货运代理服务开票
  • 公司的残保金是分摊到员工身上的吗
  • xp如何把ie浏览器设置为默认浏览器
  • 删除默认操作系统
  • ubuntu系统怎样
  • mac蓝牙怎么连接耳机
  • windows任务
  • os x 10.10 yosemite自动纠正怎么关?os x yosemite自动纠正功能关闭教程
  • 如何在Windows下移动文件
  • launch pxe
  • windows7旗舰版怎么打字
  • shader开发实战
  • js的split用法
  • unity learn premium
  • 深入理解javascript特性.pdf
  • unity自带的ui叫什么
  • LinearLayout layout_weight解析
  • unity preferences
  • 广西增值税发票查询平台
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设