熟女伦乱激情网一区二区,十八禁免费漫画在线观看,欲色欲香天天网综合久久,美女无遮挡隐私叼嗨网站

在PHP 中有許多方便的函數(shù)可以幫助你免于類似于 SQL注入,XSS攻擊?,F(xiàn)在讓我們來看一下這些能夠給你的項目增加安全性的函數(shù)吧。但是,請注意,這里只是一些常用的函數(shù)的列表,也許他們并不全面,但是我相信他們都是對你的項目是非常有幫助的。

 

mysql_real_escape_string( string sqlQuery ) :

●轉義 SQL 語句中使用的字符串中的特殊字符,并考慮到連接的當前字符集。一個非常有用的函數(shù),可以有效地避免 SQL 注入。

以下字符會被轉換:

\x00,\n,\r,\,’,”,\x1a

 

在執(zhí)行sql語句之前,對要將執(zhí)行的sql query 使用該函數(shù)處理,會將一些危 險扼殺在搖籃中。

但是現(xiàn)在一般在較為成熟的項目中,一般比較推薦使用類似 PDO 這樣的數(shù)據(jù)庫持久層來處理所有的數(shù)據(jù)庫操作。他們代表著更為先進的數(shù)據(jù)庫操作處理技術,在安全性,數(shù)據(jù)讀寫的速度上逗比那些古老的 mysql_* api 強大了不少。

addslashes() :

在將一些數(shù)據(jù)插入到數(shù)據(jù)庫中時,這個函數(shù)會非常有用,它可以在單引號前加上反斜杠,使得數(shù)據(jù)在插入時不會出現(xiàn)錯誤。但是它的使用與php.ini 中的一項設置有關系 —  magic_quotes_gpc

 

1. 對于PHP magic_quotes_gpc=on的情況, 我們可以不對輸入和輸出數(shù)據(jù)庫的字符串數(shù)據(jù)作addslashes()和stripslashes()的操作,數(shù)據(jù)也會正常顯示。

如果此時你對輸入的數(shù)據(jù)作了addslashes()處理,那么在輸出的時候就必須使用stripslashes()去掉多余的反斜杠。

 

2. 對于PHP magic_quotes_gpc=off 的情況

必須使用addslashes()對輸入數(shù)據(jù)進行處理,但并不需要使用stripslashes()格式化輸出,因為addslashes()并未將反斜杠一起寫入數(shù)據(jù)庫,只是幫助mysql完成了sql語句的執(zhí)行。

【stripslashes() :刪除由 addslashes() 函數(shù)添加的反斜杠?!?/span>

htmlentities() :

一個非常有用的用來處理輸出的函數(shù)。它用來將一些可能導致XXS攻擊的字符轉化為html實體,這些字符在瀏覽器顯示的時候是正常的,但是當你查看它的源代碼時,實際上這些特殊字符必不會是他顯示的那樣,例如

輸出:

John & ‘Adams’

源碼:

John & 'Adams';

輸出:

<>

源碼:

<>gt;

編碼這些符號,有效地避免了XSS 攻擊。

htmlspecialchars():

和上面的函數(shù)是一樣的,但是它更常用一些,因為 htmlentities() 是將所有的有在html 標準中定義了的字符轉換成他們對應的html實體,這樣會是你的輸出缺乏易讀性(html 實體列表 http://www.w3school.com.cn/tags/html_ref_entities.html)。所以呢,使用 htmlspecialchars() 只是將一些 預定義的字符(就是會導致出現(xiàn)問題的)轉換為html實體。例如:

& (和號) 成為 &

” (雙引號) 成為 ”

‘ (單引號) 成為 ‘

< (小于) 成為 <

> (大于) 成為 >

所以,在一些項目中,我還是常常使用 htmlspecialchars() 來處理html 的輸出的。他在安全這一方面做得更具體一些。

 

strip_tags():  一般在輸出時使用,將HTML、XML 以及 PHP 的標簽剝?nèi)ァ?/span>

函數(shù)原型: strip_tags(string,allow)

String 代表輸入的字符串,allow 代表 不刪除的標簽,你可以通過 allow 來自定義過需要濾掉的標簽

md5() :

一個將字符串轉換為一個32位的哈希值的函數(shù)(不能逆向解密),任何一個字符串都能通過這個函數(shù)獲得一個唯一的32位字符串。但是,現(xiàn)在使用這個函數(shù)時,需要注意有一些數(shù)據(jù)庫記錄了大量的md5 值,通過暴力枚舉的方式來破解你的密碼,所以在使用的時候,你可以先將你的原字符串加一層密,然后再使用md5()哈希,會獲得更好的效果。

sha1() :

和md5() 和相似的一個函數(shù),但是他使用不同的算法生成一個 40個字符的字符串??梢栽陧椖恐锌紤]使用。

intval() :

也許你認為這個函數(shù)不是一個 security function。但是它在某些情況下可以很好地保護你的code。對從用戶收集到的一些數(shù)據(jù)例如 ID,password,username處理,也許可以消除一些安全隱患,畢竟這里是重災區(qū)。

 

穩(wěn)定

產(chǎn)品高可用性高并發(fā)

貼心

項目群及時溝通

專業(yè)

產(chǎn)品經(jīng)理1v1支持

快速

MVP模式小步快跑

承諾

我們選擇聲譽

堅持

10年專注高端品質(zhì)開發(fā)
  • 返回頂部
琼海市| 长顺县| 腾冲县| 龙川县| 太仓市| 丰镇市| 文水县| 沂源县| 湖南省| 文登市| 库尔勒市| 遵化市| 三门峡市| 蓬莱市| 青川县| 夏邑县| 都匀市| 仪征市| 息烽县| 南靖县| 申扎县| 常熟市| 柘荣县| 安义县| 淮滨县| 绿春县| 钦州市| 措勤县| 永胜县| 志丹县| 皋兰县| 西充县| 徐州市| 泗洪县| 清涧县| 元阳县| 鸡西市| 中卫市| 八宿县| 肇州县| 桂阳县|