2011-09-22 84 views
0

腳本的這部分是否安全從sql注入?因爲我用這個腳本的這部分是否安全的從SQL注入?

網絡的導遊說,應該更有效和更快的工作。

<? 
    session_start(); 
    include("db.php"); 

    if(empty($_POST['token']) || $_POST['token'] !== $_SESSION['token']){ 
     exit("Error!"); 
    } 
    unset($_SESSION['token']); 


    foreach(array_keys($_POST) as $key) 
    { 
     $clean[$key] = mysql_real_escape_string(trim($_POST[$key])); 
    } 
    $name=$clean['name']; 
    $country=$clean['country']; 
    $ip=$clean['ip']; 
    $map=$clean['map']; 

感謝您的幫助。

+0

<3網絡指南 –

+0

爲什麼你不設置會話令牌? –

回答

4

是的,這是節省的情況下,你把它放在引號(在MySQL查詢)。不過,我會改變的foreach到

foreach($_POST as $key => $value) 
{ 
    $clean[$key] = mysql_real_escape_string(trim($value)); 
} 
+0

爲什麼超過'()'? –

+1

@ TomalakGeret'kal:刪除。我忘了將它們刪除。謝謝 – genesis

2

如果你想防止SQL注入容易,並獲得良好的生活習慣,您應該使用PDO或mysqli檢查parameterized queries