亚洲激情欧美色图_国产综合一区二区三区视频一区_五月婷啪啪_手机看久久_成人免费xxxxx在线视频_毛茸茸xxx多毛pics

18842388900

網(wǎng)站建設(shè) APP開發(fā) 小程序

Article/文章

記錄成長點滴 分享您我感悟

您當(dāng)前位置>首頁 > 知識 > 網(wǎng)站建設(shè)

幾個有用的過濾函數(shù)

PHP中有許多方便的函數(shù)可以幫助您避免SQL注入和XSS攻擊。現(xiàn)在讓我們來看看為項目增加安全性的這些函數(shù)。但請注意,這只是一些常用功能的列表,可能并不全面,但我相信它們對您的項目非常有幫助。

Mysql_real_escape_string(string sqlQuery):

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

將轉(zhuǎn)換以下字符:

\ X00,\ N,\ r \”,”,\ X1A

在執(zhí)行sql語句之前,使用此函數(shù)執(zhí)行sql查詢將會破壞底座中的一些危險。

但是現(xiàn)在在更成熟的項目中,通常建議使用像PDO這樣的數(shù)據(jù)庫持久層來處理所有數(shù)據(jù)庫操作。它們代表了一種更先進(jìn)的數(shù)據(jù)庫操作處理技術(shù),在安全性和數(shù)據(jù)讀寫速度方面比舊的mysql_ * api強大得多。

Addslashes():

將某些數(shù)據(jù)插入數(shù)據(jù)庫時,此功能非常有用。它可以在一個反引號之前,以便插入數(shù)據(jù)而不會出錯。但它的使用與php.ini中的設(shè)置有關(guān) - magic_quotes_gpc

1.對于PHP magic_quotes_gpc=on,我們可以對輸入和輸出數(shù)據(jù)庫的字符串?dāng)?shù)據(jù)執(zhí)行addslashes()和stripslashes()操作,數(shù)據(jù)將正常顯示。

如果此時對輸入數(shù)據(jù)執(zhí)行addlashes(),則必須使用stripslashes()在輸出時刪除額外的反斜杠。

2.對于PHP magic_quotes_gpc=off

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

[stripslashes():刪除addslashes()函數(shù)添加的反斜杠。 】

Htmitientities():

處理輸出的一個非常有用的功能。它用于將可能導(dǎo)致XXS攻擊的某些字符轉(zhuǎn)換為html實體。瀏覽器顯示這些字符時這些字符是正常的,但是當(dāng)您查看其源代碼時,他將不會顯示這些特殊字符。這樣,例如

輸出:

約翰& “亞當(dāng)斯”

源代碼:

約翰&安培; '亞當(dāng)斯';

輸出:

<>

源代碼:

<&的GT,GT;

有效地編碼這些符號可以避免XSS攻擊。

用htmlspecialchars():

它與上面的函數(shù)相同,但它更常見,因為htmlentities()將html標(biāo)準(zhǔn)中定義的所有字符轉(zhuǎn)換為相應(yīng)的html實體,這將使您的輸出更不可讀(Html實體列表http://www.w3school.com。 CN /標(biāo)簽/html_ref_entities.html)。因此,使用htmlspecialchars()只是將一些預(yù)定義的字符(導(dǎo)致問題)轉(zhuǎn)換為html實體。例如:

&安培; (和)成為&

“(雙引號)變?yōu)椤?/p>

'(單引號)變?yōu)?

< (小于)變?yōu)椋t;<>

> (大于)變?yōu)椋t;

所以,在某些項目中,我仍然使用htmlspecialchars()來處理html的輸出。他在安全方面更具體。

Strip_tags():通常用于輸出以去除HTML,XML和PHP標(biāo)記。

原型:strip_tags(string,allow)

String表示輸入字符串,allow表示未刪除的標(biāo)簽。您可以使用allow來自定義要過濾的標(biāo)簽

Md5():

將字符串轉(zhuǎn)換為32位哈希值(無法進(jìn)行反向解碼)的函數(shù)。任何字符串都可以通過此函數(shù)獲得唯一的32位字符串。但是,現(xiàn)在使用此功能時,需要注意一些數(shù)據(jù)庫記錄中的大量md5值,通過強力枚舉破解密碼,因此在使用時,可以先在原始字符串中添加一個圖層。密度,然后使用md5()哈希,將獲得更好的結(jié)果。

Sha1():

一個類似于md5()和類似的函數(shù),但他使用不同的算法生成一個40個字符的字符串。可以考慮在項目中使用。

Intval():

也許您認(rèn)為此功能不是安全功能。但在某些情況下,它可以很好地保護(hù)您的代碼。從用戶收集的一些數(shù)據(jù)(如ID,密碼和用戶名)可能會消除一些安全風(fēng)險。畢竟,這是最受打擊的。

網(wǎng)站建設(shè),小程序開發(fā),小程序制作,微信小程序開發(fā),公眾號開發(fā),微信公眾號開發(fā),網(wǎng)頁設(shè)計,網(wǎng)站優(yōu)化,網(wǎng)站排名,網(wǎng)站設(shè)計,微信小程序設(shè)計,小程序定制,微信小程序定制

相關(guān)案例查看更多

主站蜘蛛池模板: 古丈县| 广丰县| 葫芦岛市| 塔城市| 北京市| 台东市| 柘荣县| 睢宁县| 长沙市| 车险| 徐水县| 紫云| 西城区| 盐亭县| 敦煌市| 长乐市| 定州市| 浠水县| 大兴区| 东兰县| 金秀| 游戏| 吴江市| 漳平市| 柏乡县| 安多县| 筠连县| 讷河市| 卓尼县| 望谟县| 中牟县| 刚察县| 合江县| 临泉县| 大新县| 常宁市| 阿城市| 磐石市| 长白| 玉屏| 女性|