我担心sql注入,因此如何防止它?
我正在使用此脚本,但是有几个人告诉我它非常不安全,如果有人可以告诉我这会是多么棒的话,:)。
源代码:
if(isset($_POST['lastmsg']))
{
$lastmsg=$_POST['lastmsg'];
$result=mysql_query("SELECT * FROM updates WHERE item_id<'$lastmsg' ORDER BY item_id DESC LIMIT 16");
$count=mysql_num_rows($result);
while($row=mysql_fetch_array($result))
{
$msg_id=$row['item_id'];
$message=$row['item_content'];
最佳答案
永远不要将来自用户($_POST
或$_GET
)的信息直接放入查询中。如果它们是数字,请始终首先使用(int)$var
或intval($var)
将它们转换为整数;如果它们是字符串,请始终使用mysql_real_escape_string()
对其进行转义。
阅读http://us2.php.net/mysql_real_escape_string并使用它。