加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 在CodeIgniter中启用CSRF为TRUE

发布时间:2020-12-13 16:18:40 所属栏目:PHP教程 来源:网络整理
导读:只需阅读CodeIgniter 2.x内置的CSRF保护.现在,在阅读文档后,我没有找到任何与CSRF相关的内容,只是在config.php文件中将其设置为TRUE的选项就是这样.但是,在我的系统中,我不使用这个自动包含CodeIgniter的CSRF保护的form_helper,而是使用native form的 HTML.
只需阅读CodeIgniter 2.x内置的CSRF保护.现在,在阅读文档后,我没有找到任何与CSRF相关的内容,只是在config.php文件中将其设置为TRUE的选项就是这样.但是,在我的系统中,我不使用这个自动包含CodeIgniter的CSRF保护的form_helper,而是使用native< form>的 HTML.

我担心的是我是否需要做任何事情来实现CodeIgniter的CSRF,或者只是将选项设置为TRUE就足够了?

解决方法

要在Codeigniter中启用CRSF,您需要做的就是:

>在配置文件中将选项设置为“TRUE”
>所有表单必须使用form_open() helper function.这将自动生成并在表单中包含一个“隐藏的”CSRF令牌.然后,Codeigniter将在每个表单提交时自动检查此令牌,作为安全功能的一部分.如果它检测到CSRF错误,它将自动抛出401错误.

你不需要做任何其他事情.

编辑:我刚刚重新读到你没有使用form_open().也许可以自己手动将CSRF令牌插入到表单中 – 但这比需要的工作更多.只需将所有表单转换为使用form_open – 它将无缝地工作.

(是的 – 这是CI中为数不多的记录功能之一 – 所以我理解为什么你找不到答案 – 我花了一段时间)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读