Codeigniter 在查询中转义句点

发布于 2024-12-09 11:38:28 字数 365 浏览 0 评论 0原文

我有这个位用于在数据库中搜索 IP 地址。

$this->db->where("IP1='$ip' OR IP2='$ip'");

当我使用它时,它会转义 IP 地址中的句点并通过生成此值来中断查询。

SELECT * FROM (`xxxx`) WHERE `IP1='111`.`111`.`111`.`111'` 

我希望它产生:

SELECT * FROM (`xxxx`) WHERE IP1='111.111.111.111' OR IP2 = '111.111.111.111'

谢谢!

I have this bit that I'm using to search IP addresses in a database.

$this->db->where("IP1='$ip' OR IP2='$ip'");

When I use it, it is escaping the periods in the IP addresses and breaking the query by producing this.

SELECT * FROM (`xxxx`) WHERE `IP1='111`.`111`.`111`.`111'` 

I want it to produce:

SELECT * FROM (`xxxx`) WHERE IP1='111.111.111.111' OR IP2 = '111.111.111.111'

Thank you!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

零度℉ 2024-12-16 11:38:28

来自文档

$this->db ->where() 接受可选的第三个参数,如果将其设置为 FALSE,CodeIgniter 将不会尝试使用反引号保护您的字段或表名称。”

$this->db->where('MATCH (field) AGAINST ("value")', NULL, FALSE);

如果你这样做,你最好确保你正在清理你的变量。

From the documentation:

"$this->db->where() accepts an optional third parameter. If you set it to FALSE, CodeIgniter will not try to protect your field or table names with back-ticks."

$this->db->where('MATCH (field) AGAINST ("value")', NULL, FALSE);

You better make sure that you are sanatizing your variables if you do it this way.

新人笑 2024-12-16 11:38:28

这看起来像是 where 帮助器中的错误。根据文档,您可以包含可选的第三个参数FALSE 来阻止 CodeIgniter 转义您的表/字段名称:

$this->db->where("IP1='$ip' OR IP2='$ip'", NULL, FALSE);
//                                       ^^^^^^^^^^^^^ add this

但是,如果 $ip 来自用户输入,您将不再受到保护,免受此查询中的 SQL 注入。

This looks like a bug in the where helper. According to the documentation, you can include an optional third parameter of FALSE to stop CodeIgniter from escaping your table/field names:

$this->db->where("IP1='$ip' OR IP2='$ip'", NULL, FALSE);
//                                       ^^^^^^^^^^^^^ add this

However, if $ip comes from user input you will no longer be protected from SQL injection in this query.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文