不要相信使用者的登陸中輸入的內容,需要處理使用者的輸入
SQL注入:(推薦學習:PHP程式設計從入門到精通)
' or 1=1 #
#防止SQL注入的幾個函數:
addslashes( $string):用反斜線引用字串中的特殊字元' " \
$username=addslashes($username);
#mysql_escape_string($string):用反斜線轉義字串中的特殊字符,用於mysql_query()查詢。
$username=mysql_escape_string($username);
mysql_real_escape_string($string):轉義SQL語句中使用的字串中的特殊字符,並考慮到連接的當前字符集,需要保證當前是連接狀態才能用該函數,否則會報警告。 不轉義%與_
$username=mysql_real_escape_string($username);
例如:
##
<?php $clean = array(); $mysql = array(); $clean['last_name'] = "O'Reilly"; $mysql['last_name'] = mysql_real_escape_string($clean['last_name']); $sql = "INSERT INTO user (last_name) VALUES ('{$mysql['last_name']}')"; ?>
以上是php什麼函數可以防止SQL注入的詳細內容。更多資訊請關注PHP中文網其他相關文章!