Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Sql注入预防技术仍然易受攻击?_Php_Security_Sql Injection - Fatal编程技术网

Php Sql注入预防技术仍然易受攻击?

Php Sql注入预防技术仍然易受攻击?,php,security,sql-injection,Php,Security,Sql Injection,如果我在我的网站上使用mysql\u real\u escape\u string和addslashes来避免sql注入攻击,那么这两个工具足以阻止sql注入,所以100%确定现在没有人可以使用sql注入进行攻击了吗?你永远不应该使用addslashes。只需坚持使用mysql\u real\u escape\u字符串 无论如何,只有死亡是确定的 如果你害怕死亡,你应该使用PDO来减少脆弱性 您不应该使用addslashes。只需坚持使用mysql\u real\u escape\u字符串 无论

如果我在我的网站上使用
mysql\u real\u escape\u string
addslashes
来避免sql注入攻击,那么这两个工具足以阻止sql注入,所以100%确定现在没有人可以使用sql注入进行攻击了吗?

你永远不应该使用
addslashes
。只需坚持使用
mysql\u real\u escape\u字符串

无论如何,只有死亡是确定的

如果你害怕死亡,你应该使用PDO来减少脆弱性


您不应该使用
addslashes
。只需坚持使用
mysql\u real\u escape\u字符串

无论如何,只有死亡是确定的

如果你害怕死亡,你应该使用PDO来减少脆弱性

根本不要使用;防止SQL注入是不合适的

仅限使用。如果您需要更改字符编码,请使用。

完全不要使用;防止SQL注入是不合适的


仅限使用。如果您需要更改字符编码,请使用。

这取决于您的查询;如果您只想在数据库中插入值,
mysql\u real\u escape\u string
就足够了,您不需要
addslashes

如果您也在谈论变量表或列名,那么您将需要白名单以及
mysql\u real\u escape\u string
不会阻止对这些表或列名进行sql注入


所以答案确实是:不,这取决于你的查询

它取决于你的查询;如果您只想在数据库中插入值,
mysql\u real\u escape\u string
就足够了,您不需要
addslashes

如果您也在谈论变量表或列名,那么您将需要白名单以及
mysql\u real\u escape\u string
不会阻止对这些表或列名进行sql注入


所以答案确实是:不,这取决于你的查询

取决于你的意思,我想

仅仅使用mysql\u real\u escape\u字符串并不能100%肯定地保护您,如果没有其他原因,可能会错误地使用它

另一方面,正确使用mysql\u real\u escape\u字符串应该尽可能地保护您

另一方面,与参数化查询相比,程序员使用mysql\u real\u escape\u字符串可能更容易出错

如果您不确定自己的代码,那么发布代码并具体询问可能更具教育性/实用性


另外:其他人对addslashes的看法也是如此。

我想这取决于你的意思

仅仅使用mysql\u real\u escape\u字符串并不能100%肯定地保护您,如果没有其他原因,可能会错误地使用它

另一方面,正确使用mysql\u real\u escape\u字符串应该尽可能地保护您

另一方面,与参数化查询相比,程序员使用mysql\u real\u escape\u字符串可能更容易出错

如果您不确定自己的代码,那么发布代码并具体询问可能更具教育性/实用性

另外:与其他人关于addslashes的说法一样。

没有任何简单的“神奇”方法来阻止SQL注入
mysql\u real\u escape\u string
是一个很好的开始,使用PDO()更好。最重要的是,您需要查看数据库结构、查询、数据源,然后进行思考。数据来自哪里?如果数据不是我所期望的,会发生什么

创建代码的整个结构时,应考虑控制应用程序逻辑的流程。防止SQL注入的最佳方法是保持对数据库中的内容的了解和控制。

没有任何简单的“神奇”方法可以防止SQL注入
mysql\u real\u escape\u string
是一个很好的开始,使用PDO()更好。最重要的是,您需要查看数据库结构、查询、数据源,然后进行思考。数据来自哪里?如果数据不是我所期望的,会发生什么


创建代码的整个结构时,应考虑控制应用程序逻辑的流程。防止SQL注入的最佳方法是随时了解并控制数据库中的内容。

重复的?addslashes与SQL注入的关系如何?重复的?addslashes与SQL注入的关系如何?