Kohana 提到他们使用 mysql_real_escape_string 来清理文档中的数据库输入。但是,在通过表单品尝一些基本查询时,它们被输入到数据库中,与我输入的完全一样。例如:
SELECT * FROM users WHERE username='admin' AND password='' OR ''=''
完全按照它的显示输入到该 mysql 数据中。我期待看到:
SELECT * FROM users WHERE username=\'admin\' AND password=\'\' OR \'\'=\'\'
我使用的是 ORM 库而不是数据库,但我知道它们可以一起工作。另外,我正在使用内置的输入库 ($this->input-post) 从表单中收集数据。我没有更改任何与安全相关的控制器或库。
我还没有梳理源代码,但是 Kohana 是否对字符串进行了转义,然后在将其输入到 db 字段之前删除了斜杠?我有点相信情况确实如此,但我想确定一下。
谢谢