相关疑难解决方法(0)

如何在PHP中阻止SQL注入?

如果插入用户输入而不修改SQL查询,则应用程序容易受到SQL注入的攻击,如下例所示:

$unsafe_variable = $_POST['user_input']; 

mysql_query("INSERT INTO `table` (`column`) VALUES ('$unsafe_variable')");
Run Code Online (Sandbox Code Playgroud)

这是因为用户可以输入类似的内容value'); DROP TABLE table;--,查询变为:

INSERT INTO `table` (`column`) VALUES('value'); DROP TABLE table;--')
Run Code Online (Sandbox Code Playgroud)

可以采取哪些措施来防止这种情况发生?

php mysql sql security sql-injection

2776
推荐指数
28
解决办法
166万
查看次数

尽管PHP魔术引用成功的SQL注入

我一直都知道Magic Quotes根本不会停止SQL注射,但我无法理解为什么不呢!举个例子,假设我们有以下查询:

SELECT * FROM tablename
  WHERE email='$x';
Run Code Online (Sandbox Code Playgroud)

现在,如果用户输入$x=' OR 1=1 --,则查询将是:

SELECT * FROM tablename
  WHERE email='\' OR 1=1 --';
Run Code Online (Sandbox Code Playgroud)

Magic Quotes会添加反斜杠,不会造成任何损害!

有没有办法,我没有看到用户可以在这里绕过魔术报价插入?

mysql sql-injection

13
推荐指数
1
解决办法
2万
查看次数

为什么将magic_quotes_gpc视为不良做法?

为什么在PHP中启用magic_quotes_gpc被认为是一种不好的做法?

php magic-quotes-gpc

3
推荐指数
1
解决办法
8923
查看次数

标签 统计

mysql ×2

php ×2

sql-injection ×2

magic-quotes-gpc ×1

security ×1

sql ×1