【发布时间】:2012-08-05 04:20:37
【问题描述】:
我想使用单引号值运行以下查询。
INSERT INTO web_camp_keywords (web_id, keyword) VALUES (195, 'abc'hotels')
我只想添加abc'hotels 值。我使用了反斜杠,但它不起作用。
INSERT INTO web_camp_keywords (web_id, keyword) VALUES (195, 'abc\'hotels')
我该如何解决这个问题?
【问题讨论】:
-
尝试 INSERT INTO web_camp_keywords (web_id, keyword) VALUES (195, 'abc''hotels') 。但为什么不准备好声明?
-
tnx.我对准备好的陈述没有经验。我会试试的。
-
@Asurya 那么你的应用程序充满了所谓的 SQL 注入安全漏洞。想象一下,如果在表单中输入
abc'hotels的用户改为输入abc'; DELETE FROM web_camp_keywords;--或更糟的是abc';DROP SCHEMA public CASCADE;--会发生什么? splat,你的整个数据库就到这里了。请参阅en.wikipedia.org/wiki/SQL_injection(注意:如果您的应用程序仅使用最低要求的权限进行连接,DROP SCHEMA技巧将不起作用 - 它不应该拥有表或成为超级用户 - 但您的应用程序可能是表格。)
标签: php sql postgresql