簡體   English   中英

避免使用mysql_real_escape_string和stripslashes進行SQL注入

[英]Avoiding SQL injection using mysql_real_escape_string and stripslashes

這是防止在運行數據庫查詢之前進行SQL注入的好方法嗎?

$name = mysql_real_escape_string(stripslashes($name));
$age = mysql_real_escape_string(stripslashes($age));
$location = mysql_real_escape_string(stripslashes($location));

提前致謝!

這很好地回答了:

所以,你可以做什么? 解決方案是使用預處理語句 ,幾乎所有PHP數據庫擴展都支持該語句 ,但MySQL(ext / mysql)和SQLite2(ext / sqlite)除外。 因此,為了安全起見,我建議使用PDO接口與這些數據庫進行對話,或者如果使用MySQL,則建議使用較新的MySQLi(ext / mysqli)擴展。 這些接口提供了准備好的語句支持,從而允許在查詢結構和查詢參數之間進行分隔。

因此,為了安全起見,不要僅依靠mysql_real_escape_string ,使用准備好的語句會更好。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM