检查字符串引用是否可靠的SQL注入防止形式?

时间:2014-12-11 23:53:45

标签: security

我想知道这是否可靠。在我的PHP文件中,我执行以下代码:

if(strpos($text,"'") === false) {
    //perform query
} else { /*illegal character*/ }

我知道我可能听起来像个白痴,但这有什么缺陷?有人可能会使用不同的字符编码来绕过它并注入单引号吗?

2 个答案:

答案 0 :(得分:2)

如果您想阻止SQL注入 - 请遵循以下指南:How can I prevent SQL injection in PHP?

尝试实施自己的自定义措施只会以泪流满面。

对于记录 - 您的代码不会阻止SQL注入。例如

105; DROP TABLE Suppliers

将通过

答案 1 :(得分:0)

不,不是。注射可以使用'";和任意数量的其他字符。例如,如果使用错误的文本编码,则可以使用某些Unicode字符来终止字符串。正如@TheShiftExchange指出的那样,您的代码将通过DROP TABLES命令,它可能会导致各种其他注入。