Yii假冒形式漏洞

时间:2012-10-22 15:55:59

标签: php yii

如果用户伪造表单并将输入更改为ROLE,则可以更改数据库中的该字段。 我怎样才能保护Yii Forms免受假输入?

Model Users.php

array('role', 'numerical', 'integerOnly'=>true),

1 个答案:

答案 0 :(得分:2)

你不能'保护表格'。您需要通过会话或其他一些存储状态的方法将数据从客户端(即表单)移动到服务器(即php)。

只要用户的机器负责设置数据(即通过表单),他们就可以将其更改为他们想要的任何内容。如果您没有办法在服务器端独立验证,那么不要指望该表单向您发送您可以信任的内容。

关于会话,请参阅:http://www.yiiframework.com/doc/api/1.1/CHttpSession

Common Weakness Enumeration项目中的详细模糊(http://cwe.mitre.org/data/definitions/807.html):

  

仅在服务器端存储状态信息和敏感数据。   确保系统明确无误地跟踪   它自己的状态和用户状态,并具有为合法定义的规则   国家转型。不允许任何应用程序用户影响状态   直接以通过合法行为导致的任何其他方式   国家转型。