我正在使用 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/