首頁 >後端開發 >php教程 >php利用 addslashes函數實作sql防注入實例講解

php利用 addslashes函數實作sql防注入實例講解

怪我咯
怪我咯原創
2017-05-22 12:00:264188瀏覽

我們知道addslashes()函數的作用是在輸入字串中的某些預定義字元前面加上反斜線。那麼它怎麼又與我們的防sql注入扯上關係呢? 什麼又是sql注入呢?

SQL注入攻擊是駭客攻擊網站最常用的手段。如果你的網站沒有使用嚴格的使用者輸入檢驗,那麼常常容易遭到SQL注入攻擊。 SQL注入攻擊通常透過向網站資料庫提交不良的資料或查詢語句

來實現,很可能會使資料庫中的紀錄遭到暴露,更改或被刪除。 本篇文章主要介紹php利用addslashes函數實作sql防注入實例講解,#透過 實例敘述採用addslashes函數對於sql防注入的用處。

範例

參數'a..z'界定所有大小寫字母都被轉義,程式碼如下:

echo addcslashes('foo[ ]','a..z'); //输出:foo[ ] 
$str="is your name o'reilly?"; //定义字符串,其中包括需要转义的字符 
echo addslashes($str);  //输出经过转义的字符串

定義和用法:

addslashes() 函數在指定的預定義字元前加上反斜線.

這些預定義字元是:單引號('),雙引號("),反斜線(),null

語法:

addslashes(string)

當然這個函數更安全,實例程式碼如下:

$str="<a href=&#39;test&#39;>test</a>"; //定义包含特殊字符的字符串 
$new=htmlspecialchars($str,ent_quotes);  //进行转换操作 
echo $new;           //输出转换结果 
//不过输出时要用到 
$str="jane & &#39;tarzan&#39;";  //定义html字符串 
echo html_entity_decode($str);   //输出转换后的内容 
echo "<br/>"; 
echo html_entity_decode($str,ent_quotes); //有可选参数输出的内容

本篇對於PHP安全程式設計來說具有不錯的參考借鏡價值。入,還是建議大家加強中文防止SQL注入的檢查。

其中的0xbf5c仍會被視為單引號,所以addslashes無法成功攔截。節字串的處理【相關文章推薦】:

1.

php addslashes()函數與stripslashes()函數實例詳解#2.php stripslashes()函式與addslashes()函式的差異實例詳

#

以上是php利用 addslashes函數實作sql防注入實例講解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn