[英]mysql_real_escape_string, stripslashes and htmlspecialchars
[英]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.