海金仓事件:PHP sql injection的问题

来源:百度文库 编辑:高考问答 时间:2024/04/28 10:00:16
<?PHP
$offset =$argv[0];
$query="SELECT id,name
FROM produits
ORDRE BY name
LIMIT 20 OFFSET &offset;";
$result=mysql_query($query);

?>

这个会引起sql injection的攻击吗?
如果会,应该怎么改正~~~~ 谢谢:)

1)如果php.ini中magic_quotes_gpc设置为on的话无论你怎么接收变量
$_GET() or $_POST() ,都不会发生注入,如:' 号,会自动变为\'
被"\"自动转义了

2)变量前使用了addslashes()函数,也不会发生注入现象.效果同上,addslashes()函数是内置,所以根本不需要你去编.

3)你上面的那句不具备注入条件.

以下才有可能
①SELECT * FROM produits WHERE id='$id'
②SELECT * FROM produits WHERE id=$id

!不太懂这玩艺!
先学编程吧