PHP安全函式

2021-07-24 15:27:29 字數 1577 閱讀 3152

php安全函式

addslashes

addslashes對sql語句中的特殊字元進行轉義操作,包括(『), (「), (), (nul)四個字元,此函式在dbms沒有自己的轉義函式時候使用,但是如果dbms有自己的轉義函式,那麼推薦使用原裝函式,比如mysql有mysql_real_escape_string函式用來轉義sql。 注意在php5.3之前,magic_quotes_gpc是預設開啟的,其主要是在ge

t,post, $cookie上執行addslashes操作,所以不需要在這些變數上重複呼叫addslashes,否則會double escaping的。不過magic_quotes_gpc在php5.3就已經被廢棄,從php5.4開始就已經被移除了,如果使用php最新版本可以不用擔心這個問題。stripslashes為addslashes的unescape函式。

htmlspecialchars

htmlspecialchars把html中的幾個特殊字元轉義成html entity(格式:&***x; ) 形式,包括(&),(『),(「),(<),(>)五個字元。

& (and) => &

」 (雙引號) => " (當ent_noquotes沒有設定的時候)

『 (單引號) => ' (當ent_quotes設定)

< (小於號) => <

> (大於號) => >

htmlspecialchars可以用來過濾ge

t,post,$cookie資料,預防xss。注意htmlspecialchars函式只是把認為有安全隱患的html字元進行轉義,如果想要把html所有可以轉義的字元都進行轉義的話請使用htmlentities。htmlspecialchars_decode為htmlspecialchars的decode函式。

htmlentities

htmlentities把html中可以轉義的內容轉義成html entity。html_entity_decode為htmlentities的decode函式。

mysql_real_escape_string

mysql_real_escape_string會呼叫mysql的庫函式mysql_real_escape_string,對(\x00), (\n), (\r), (), (『), (\x1a)進行轉義,即在前面新增反斜槓(),預防sql注入。注意你不需要在讀取資料庫資料的時候呼叫stripslashes來進行unescape,因為這些反斜槓是在資料庫執行sql的時候新增的,當把資料寫入到資料庫的時候反斜槓會被移除,所以寫入到資料庫的內容就是原始資料,並不會在前面多了反斜槓。

strip_tags

strip_tags會過濾掉nul,html和php的標籤。

#  php自帶的安全函式並不能完全避免xss,推薦使用html [purifier](

php比較函式,判斷安全函式

一 字串比較函式 intstrcasecmp string str1,string str2 intstrcmp string str1,string str2 intstrncmp string str1,string str2,int len intstrncasecmp string str1...

安全相關的PHP函式

1.mysql real escape string 這個函式對於在php中防止sql注入很有幫助,它對一些特殊字元像單引號雙引號,加上反斜槓 注意是在連線著資料庫的情況下使用 確保查詢之前資料是安全的。現在更多的 應用會用類似pdo這樣的庫對資料庫進行操作,而且一些框架tp或ci都可以防止sql注...

php安全設定 禁用危險函式

在 php.ini 中找到 disable functions 這一行,在其後面新增需要禁止的危險函式名,以英文逗號分隔 disable functions phpinfo,set time limit,system,exec,shell exec,passthru,proc open,proc c...