【发布时间】:2015-07-09 06:44:47
【问题描述】:
This page 表示:
使用复杂类型时,验证您从最终用户接收的数据是否是正确的类型非常重要。未能正确处理复杂数据可能会导致恶意用户能够存储他们通常无法存储的数据。
当从前端接受 JSON 数据时,实际上会发生什么坏事(知道 CakePHP 在后台执行其标准安全检查)?
CakePHP 开发人员在处理单列的 JSON 输入并依赖于上面介绍的对 JSON 列类型的支持时,应该添加哪些额外的安全性?
【问题讨论】:
-
可能有很多事情。一个例子:我有我的帖子,我可以编辑它们。如果我可以通过 AJAX 进行编辑并且 postID 在 JSON 中,您应该在服务器端检查我是否有权编辑该帖子,因为恶意用户可以编辑将要发送的所有数据。
-
好吧,我认为这都是关于单列,而不是整个数据库行。
-
REST 无论如何都不是关于映射数据库记录的。想象一下,您可以通过
PUT更新资源状态,其语义是将现有内容替换为请求中提供的新内容 - 如果 RESTful 服务允许更新用户资源并且某个用户的资源包含角色像"role": "user"这样的定义,用户可能会授予自己"role": "admin"特权。为了防止这种情况,您应该事先验证传入的请求(PUT因此允许忽略某些输入数据) - 这对于所有 Web 输入场景都很常见
标签: json rest cakephp-3.0