【发布时间】:2012-11-04 16:53:38
【问题描述】:
我觉得我在这上面找不到任何东西很奇怪,但事实就是这样。
在我的网站上,我允许用户输入要存储在我的数据库中的文本。我使用 PDO 来保证它的安全,但是所有危险字符前面都有“\”。
有没有一种简单的方法可以摆脱这一切?我应该在 MySQL 中使用不同的数据类型吗?
提前致谢!
没有双重转义。懒惰阻止了它
我读到,直接做 PDO 就可以了,所以您不必担心逃逸、消毒、漂白、擦洗等...
我像 How do I insert into PDO (sqllite3)? 那样做标准的 PDO INSERT
数据通过jQuery ajax传输。这是问题的根源吗?如果是这样,我该如何扭转它?
感谢您的帮助!
具体问题
我在引号和双引号前只有“\”。谢谢!
版本
用于 Zend Guard 兼容性的 PHP 5.3。 MySQL 5.5。阿帕奇 2.2.2。 jQuery 1.8.3
+1 反转
我会给出尽可能多的 +1 作为关于如何反转这些 / 的答案。谢谢!
魔术行情
就是答案。有人想延长他们的答案以供检查吗?
仍在寻找 SQL 语句来反转先前的转义。谢谢!
【问题讨论】:
-
危险人物长什么样子? :D
-
big bad "'"s 和 """s。它们太锋利了。它们将我的数据库切成碎片。哈哈,感谢您的关注!
-
您是否有可能使用启用了magic quotes 的旧版PHP?
-
phpinfo()应该会告诉您它是否已启用。我认为控制magic_quotes_gpc(最可能的罪魁祸首)的唯一方法是在你的php.ini中。 -
如果您已通过
phpinfo验证魔术引号是问题所在,您可以将此链接提供给有权访问您服务器上的 php.ini 文件的任何人:php.net/manual/en/security.magicquotes.disabling.php 请注意,如果其他该框上的代码依赖魔术引号来转义用户输入,这可能会导致错误或安全漏洞。
标签: php mysql jquery pdo escaping