CodeIgniter 中的 MySQL 安全性
我是 CodeIgniter 的新手,但对 PHP 并不陌生,我想知道我需要在 CodeIgniter 中做什么才能确保所有查询的安全。
通常,我只是在查询中使用的每个变量上使用 mysql_real_escape_string() (标准 PHP),但我观看了 CodeIgniter 上的教程,其中作者没有转义变量,只是做了标准插入就像下面这样:
$this->db->query("SELECT * FROM Users WHERE Username = ?", array($username));
哪种方式是正确的?
I am new to CodeIgniter, but not new to PHP, and I was wondering what I needed to do in CodeIgniter in order to make all of my queries secure.
Usually, I just use mysql_real_escape_string()
on each variable used in the query (standard PHP), but I watched a tutorial on CodeIgniter, where the author didn't escape the variable and just did a standard insert like the following:
$this->db->query("SELECT * FROM Users WHERE Username = ?", array($username));
Which way is correct?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您的示例执行 参数绑定
正如您可以在上面链接的最后一段中阅读的那样,绑定自动转义传递给查询的值:
Your example does parameter binding
As you can read in the last paragraph of the above link, binding automatically escapes the value passed to query: