gpt4 book ai didi

codeigniter - 在 codeigniter 中防止 SQL 注入(inject)

转载 作者:行者123 更新时间:2023-12-05 00:40:13 27 4
gpt4 key购买 nike

在我的项目中,我使用 $this->input->(get|post) 将数据传递给模型。在模型中,我总是使用事件记录。
这足以防止sql注入(inject)吗?

最佳答案

不,不是。 编辑 : 是的...没有看到您对使用事件记录的评论。您需要使用 PHP 或 CodeIgniter 的转义函数手动转义您的输入,或者您应该使用 CodeIgniter 的查询绑定(bind) 或者你可以使用 CodeIgniter 的 Active Record 类 .我更喜欢进行查询绑定(bind),因为它 a) 使我的查询看起来更好,并且 b) 确保在 MySQL 中运行之前清理我的所有输入。

http://ellislab.com/codeigniter/user_guide/database/queries.html

这像这样工作:

$qStr = "SELECT * FROM students WHERE id=?";
$q = $this->db->query($qStr, array($id);

CodeIgniter 将识别您的变量是什么类型的数据,并相应地包装它。也就是说,如果它是一个字符串,它将把 ''围绕 SQL 中的转义值,这是确保用户无法注入(inject)任何恶意内容所需要的。

关于codeigniter - 在 codeigniter 中防止 SQL 注入(inject),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3917831/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com