我刚刚继承了一个项目,因为最后一个开发人员离开了 该项目由Code Igniter构建.我之前从未使用Code Igniter.
我快速浏览一下代码,然后在控制器中看到数据库调用,如下所示:
$dbResult = $this->db->query("SELECT * FROM users WHERE username = '".$_POST['user_name']."'");
Run Code Online (Sandbox Code Playgroud)
或者这样的电话:
$dbResult = $this->db->query("SELECT * FROM users WHERE username = '".$this->input->post('username')."'");
Run Code Online (Sandbox Code Playgroud)
代码点火器是否会自动清理这些查询以防止sql注入?
mysql_real_escape_string在大多数情况下是否足以清理用户输入?
::编辑::
我主要考虑的是防止SQL注入,但我最终想知道在应用mysql_real_escape_string之后是否可以信任用户数据,或者我是否应该采取额外措施来清理数据,然后再将其传递给应用程序和数据库.
我知道清除HTML字符的位置很重要,但我不认为有必要信任用户输入.
Ť