我正在浏览 Code Igniter 的文档,想知道我是否正确:
每次都使用 $this->input->post(x,TRUE) 而不是 $_POST
最好使用 PDO。如果没有,在查询之前执行 $this->security->xss_clean() 然后 $this->db->escape() 。
使用 bcrypt 而不是他们的加密系统
另外,要重新填充表单,我可以将 post(x,TRUE) 放在输入的 value="" 字段中,还是必须通过 prep_for_form() ?
他们真的应该写一份关于如何使用 CodeIgniter 处理数据的文档。
编辑:显然 CodeIgniter 的 ActiveRecords 已经逃脱了一切,所以不需要使用 db->escape()...
EDIT2:显然 form_validation 也逃脱了。因此,在完成 form_validation 之后执行 htmlspecialchars 会进行双重转义......我已经在这里发布了这个问题:https ://github.com/EllisLab/CodeIgniter/issues/2230