【发布时间】:2014-07-11 17:04:34
【问题描述】:
我正在使用带有安全组件的 Cakephp v 2.5.1。我有一个配置文件表单,其中我在用户和项目之间建立了 HABTM 关系,用户可以选择 0-N 个项目(基本上是多选)。
发帖时,帖子被黑了。
以下是来自 FormHelper 的字段(即 $hashParts):
数组 ( [0] => /用户/个人资料 [1] => a:8:{i:0;s:15:"Project.Project";i:1;s:10:"User.alias";i:2;s:16:"User.division_id ";i:3;s:17:"User.geography_id";i:4;s:13:"User.lastname";i:5;s:13:"User.level_id";s:7:"用户.id";s:2:"38";s:13:"User.username";s:26:"bobking256@prophecyinc.com";} [2] => 当前密码|新密码|新密码2 [3] => Ge08djl2390IOJjl298dj4MNbhzapo8912eadsSTBVD )
以下是发布后安全组件 ($hashParts) 中的字段: 大批 ( [0] => /用户/个人资料 [1] => a:9:{i:0;s:15:"Project.Project";i:1;s:10:"User.alias";i:2;s:16:"User.division_id ";i:3;s:17:"User.geography_id";i:4;s:13:"User.lastname";i:5;s:13:"User.level_id";i:6;s: 11:"多选";s:7:"User.id";s:2:"38";s:13:"User.username";s:26:"bobking256@prophecyinc.com";} [2] => 当前密码|新密码|新密码2 [3] => Ge08djl2390IOJjl298dj4MNbhzapo8912eadsSTBVD )
查看数组元素 [1],帖子中似乎有一个额外的属性(“i:6;s:11;multiselect”;)
我已尝试使用以下方法将其从验证中删除:
$this->Form->unlockField('Project.Project')
但它不起作用。它从上面的两个数组元素 [1] 中删除了“Project.Project”,但没有删除“多选”(它变成 i:5;s:11;multiselect)
如何解决此问题或至少从验证中删除此问题?
谢谢。
【问题讨论】:
标签: security cakephp components has-and-belongs-to-many