php - 在哪里清理 PHP $_POST[] 输入?

标签 php codeigniter

我正在使用 codeigniter 框架。

我应该在哪里清理 PHP 输入 - Controller 或模型?

最佳答案

所有这些答案都与一般的 PHP 方法有关,但与 CodeIgniter 无关。

发布数据

如果您在 config.php 中启用了 global_xss,CodeIgniter 会在您使用 $this->input->post('item_name') 时自动清理您的 POST 数据。如果您只希望清洁特定元素,您可以使用:

$this->input->post('item_name', TRUE);

无论哪种方式,您都可以免受 XSS 攻击和其他问题的影响。

SQL 注入(inject)

如果您使用 ActiveRecord(insert()、update() 等)或使用 query() 绑定(bind),输入到数据库中的任何内容都会自动转义。

$this->db->query('INSERT INTO bla (?, ?)', array($foo, $bar));

这一切都被逃脱了,所以不再关心去哪里了。您可以只编写代码并将安全性交给框架。

关于php - 在哪里清理 PHP $_POST[] 输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2401706/

相关文章:

php - CodeIgniter Controller 在调用父构造函数时中断

php - 无法链接到 MySQL 表

php - 设置访问的 url

php - 增量停止在 10

php - 如何在 Codeigniter 中使用 JOIN 从两个表中获取 AVERAGE

php - 查询15分钟内添加的行

php - 如何向普通用户显示我的服务器的当前响应时间

php - 如何使这个表格工作

php - codeigniter foreach具有相同ID的多个条目,求和元素并显示为一个

javascript - 当使用ajax在codeigniter中刷新页面时插入购物车