gpt4 book ai didi

php - 如何防止 PHP PDO 通过 jQuery AJAX 插入的 MySQL varchar 中的转义字符

转载 作者:行者123 更新时间:2023-11-29 04:49:38 25 4
gpt4 key购买 nike

我觉得很奇怪,我在这上面找不到任何东西,但就是这样。

在我的网站上,我允许用户输入要存储在我的数据库中的文本。我使用 PDO 来保证它的安全,但是所有危险的字符前面都有“\”。

有没有一种简单的方法可以摆脱这一切?我应该在 MySQL 中使用不同的数据类型吗?

提前致谢!

没有双重转义。懒惰阻止了它

我读到直接做 PDO 就可以了,所以你不必担心转义、 sanitizer 、漂白、擦洗等......

我像这样执行标准 PDO INSERT How do I insert into PDO (sqllite3)?

数据通过jQuery ajax传输。这是问题的根源吗?如果是这样,我该如何扭转它?

感谢您的帮助!

问题的细节

我只在引号和双引号前加上“\”。谢谢!

版本

用于 Zend Guard 兼容性的 PHP 5.3。 MySQL 5.5。 Apache 2.2.2。 jQuery 1.8.3

+1 表示反转

我会给出与如何反转这些/的答案一样多的 +1。谢谢!

魔术引号

就是答案。有人想延长他们的答案以进行检查吗?

还在寻找一个SQL语句来反转之前的转义。谢谢!

最佳答案

这可能是由于在服务器上启用了 magic quotes 引起的。特别是,它可能是 magic_quotes_gpc 指令,可以在 php.ini.htaccess 等中设置,但不能在运行时使用 ini_set.

首先,仔细检查 phpinfo() 的输出以确保这是问题所在。如果您发现魔术引号已启用,您将需要有权访问服务器的人在您的 php.ini.htaccess 文件中将其禁用。 php 手册在这里解释了这个过程:http://www.php.net/manual/en/security.magicquotes.disabling.php

但请注意这一点:如果服务器上运行的代码依赖于魔术引号,禁用它可能会使这些站点容易受到 sql 注入(inject)等攻击。

关于php - 如何防止 PHP PDO 通过 jQuery AJAX 插入的 MySQL varchar 中的转义字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13408551/

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