php - 使安全组件在 CakePHP 中工作

标签 php html css cakephp

这是我的情况。我听说一旦页面重新加载,Security 组件的 requireAuth() 函数会为每个表单生成一个新 key 。但是我已经使用下面的代码在我的应用程序中的每个 Controller 中进行了尝试

function beforeFilter()
{
...
$this->Security->requireAuth();
}

但我的应用程序中仍然没有任何表单生成 key 。我什至提交了表格,但 key 仍然保持不变。我的 Security.levelcore.php

中设置为 high

最佳答案

编辑后的答案

查看 FormHelper 的源代码,就 token 相同而言,如果设置了 $this->params['_Token'],它使用 $this->params['_Token']['key'] 作为隐藏字段的值。另一方面,隐藏字段 id 是随机生成的,而不是 token key 。

当使用$this->Form->end()方法时,如果设置了$this->params['_Token'],则运行字段通过名为 secure() 的方法。这实质上是序列化表单字段并通过 Security::hash() 运行它们,后者创建序列化字段的 SHA1 哈希。如果表单被篡改,这个哈希将不同于原始 token ,因此 Cake 知道表单已被篡改。

$this->Security->requireAuth() 与您的表单无关,它将操作设置为需要 SSL。

关于php - 使安全组件在 CakePHP 中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7142955/

相关文章:

javascript - 自定义资源(css、javascript 等)以在所有应用程序中实现通用外观

css - div的绝对定位,上面没有重叠的div

PHP 7.4.1 未捕获错误 : Call to undefined function mysqli_connect()

php - 多语言站点: Cookie or URL Element

html - CSS 和 SVG 动画

html - 将标题缩小到图像大小

php - 使用php将csv上传到数据库表

javascript - 谷歌图表设计在切换到另一个标签时令人不安

html - 下拉菜单正在下降的不利形象

html - 背景图像渐变不起作用