2017-10-16 46 views
0

請告訴我如何正確加密從sql注入發送到服務器的數據(用戶名,電子郵件,消息)。我無法理解記錄本身的語法。加密來自SQL注入的數據

我的PHP處理程序

session_start(); 

if (isset($_SESSION['captcha']) && $_SESSION['captcha']===$_POST['captcha']){ 
    if (isset($_POST['username']) && isset($_POST['email']) && isset($_POST['message'])){ 

     $username = $_POST['username']; 
     $email = $_POST['email']; 
     $message = $_POST['message']; 

     $db_host = "localhost"; 
     $db_user = "alekspvn"; // Логин БД 
     $db_password = "123"; // Пароль БД 
     $db_table = "book"; // Имя Таблицы БД 

    $connect_db=mysql_connect(HOST, MYSQL_USER, MYSQL_PASS) 
     or die("No connection with SQL"); 

     mysql_select_db("guests_db",$connect_db); 

     mysql_query("SET NAMES 'utf8'",$connect_db); 

     $result = mysql_query ("INSERT INTO ".$db_table." (username,email,message) VALUES ('$username','$email','$message')"); 
     echo json_encode(['success' => true, 'message' => 'Added to db']); 
    } 
} 
else { 
    echo json_encode(['error' => false, 'message' => 'Wrong captcha']); 
} 
+0

轉換密碼和用戶名,電子郵件細節MD5 –

+0

我相信 「SQL注入」通常用於指涉及執行不需要的SQL代碼的攻擊一臺服務器。 「SQL注入」是什麼意思? – Cowthulhu

+0

你不應該使用'mysql_ *',你應該參數化。 'PDO'或'mysqli'允許參數化查詢。 – chris85

回答