【发布时间】:2012-11-21 05:18:58
【问题描述】:
我们使用 Codeigniter 创建了一个项目,它非常酷且高效。
CI 有一个很好的表单验证功能,它有助于保护系统,但是我很难找到使用规则的正确方法。
请看下面
假设ID是一个整数字段,这样我就可以设置
$this->form_validation->set_rules("ID","FORM ID","required|trim|integer");
我认为这就足够了,因为如果ID 字段包含integer 以外的内容,表单验证将返回错误。
但是对于普通的FORM字段(文本区域或普通输入类型的文本字段)应该有什么规则,
要求
- 不允许使用 HTML(或需要去除这些标签)
- XSS 清理
- SQL 注入预防
目前我在做
$this->form_validation->set_rules("FIELD_NAME","FIELD_NAME","required|trim|xss_clean|strip_tags");
这足以使系统安全吗?
【问题讨论】:
-
通过这个我想你可以使用像PDO,mysql_escape-string这样的本地函数来防止sql注入............stackoverflow.com/questions/60174/…
-
@Venkat CI 拥有我们需要的一切,但我们需要了解如何使用。
-
是的,你是对的,但是在你设置了某些规则来防止 sql 注入之后你怎么知道它是否有效......你知道如何进行 sql 注入...... ..如果是这样,请尝试现有规则,如果失败,请尝试使用新功能
-
我不是安全专家,仅凭我的知识进行检查是不够的,这就是我发布这个问题的原因,你提供的链接对 CI 没有用。
标签: php security codeigniter sql-injection xss