成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專(zhuān)欄INFORMATION COLUMN

8個(gè)很有用的PHP安全函數(shù),你知道幾個(gè)?

Meils / 678人閱讀

摘要:原文譯文有用的安全函數(shù)譯者安全是編程非常重要的一個(gè)方面。一起看看中常用的可以確保項(xiàng)目安全的函數(shù)。現(xiàn)在這個(gè)函數(shù)并不被認(rèn)為是安全的,因?yàn)殚_(kāi)源的數(shù)據(jù)庫(kù)可以反向檢查一個(gè)散列值的明文。也不要把絕對(duì)安全寄托在這個(gè)函數(shù)上,否則會(huì)有意想不到的結(jié)果。

原文:Useful functions to provide secure PHP application

譯文:有用的PHP安全函數(shù)

譯者:dwqs

安全是編程非常重要的一個(gè)方面。在任何一種編程語(yǔ)言中,都提供了許多的函數(shù)或者模塊來(lái)確保程序的安全性。在現(xiàn)代網(wǎng)站應(yīng)用中,經(jīng)常要獲取來(lái)自世界各地用戶(hù)的輸入,但是,我們都知道“永遠(yuǎn)不能相信那些用戶(hù)輸入的數(shù)據(jù)”。所以在各種的Web開(kāi)發(fā)語(yǔ)言中,都會(huì)提供保證用戶(hù)輸入數(shù)據(jù)安全的函數(shù)。今天,我們就來(lái)看看,在著名的開(kāi)源語(yǔ)言PHP中有哪些有用的安全函數(shù)。

在PHP中,有些很有用的函數(shù)開(kāi)源非常方便的防止你的網(wǎng)站遭受各種攻擊,例如SQL注入攻擊,XSS(Cross Site Scripting:跨站腳本)攻擊等。一起看看PHP中常用的、可以確保項(xiàng)目安全的函數(shù)。注意,這并不是完整的列表,是我覺(jué)得對(duì)于你的i項(xiàng)目很有的一些函數(shù)。

1. mysql_real_escape_string()

這個(gè)函數(shù)在PHP中防止SQL注入攻擊時(shí)非常有用。這個(gè)函數(shù)會(huì)對(duì)一些例如單引號(hào)、雙引號(hào)、反斜杠等特殊字符添加一個(gè)反斜杠以確保在查詢(xún)這些數(shù)據(jù)之前,用戶(hù)提供的輸入是干凈的。但要注意,你是在連接數(shù)據(jù)庫(kù)的前提下使用這個(gè)函數(shù)。

但是現(xiàn)在已經(jīng)不推薦使用mysql_real_escape_string()了,所有新的應(yīng)用應(yīng)該使用像PDO一樣的函數(shù)庫(kù)執(zhí)行數(shù)據(jù)庫(kù)操作,也就是說(shuō),我們可以使用現(xiàn)成的語(yǔ)句防止SQL注入攻擊。

2. addslashes()

這個(gè)函數(shù)的原理跟mysql_real_escape_string()相似。但是當(dāng)在php.ini文件中,“magic_quotes_gpc“的值是“on”的時(shí)候,就不要使用這個(gè)函數(shù)。magic_quotes_gpc 的默認(rèn)值是on,對(duì)所有的 GET、POST 和 COOKIE 數(shù)據(jù)自動(dòng)運(yùn)行 addslashes()。不要對(duì)已經(jīng)被 magic_quotes_gpc 轉(zhuǎn)義過(guò)的字符串使用 addslashes(),因?yàn)檫@樣會(huì)導(dǎo)致雙層轉(zhuǎn)義。你可以使用get_magic_quotes_gpc()函數(shù)來(lái)確定它是否開(kāi)啟。

3. htmlentities()

這個(gè)函數(shù)對(duì)于過(guò)濾用戶(hù)輸入的數(shù)據(jù)非常有用。它會(huì)將一些特殊字符轉(zhuǎn)換為HTML實(shí)體。例如,用戶(hù)輸入<時(shí),就會(huì)被該函數(shù)轉(zhuǎn)化為HTML實(shí)體<(<),輸入>就被轉(zhuǎn)為實(shí)體>.(HTML實(shí)體對(duì)照表:http://www.w3school.com.cn/html/html_entities.asp),可以防止XSS和SQL注入攻擊。

4. htmlspecialchars()

在HTML中,一些特定字符有特殊的含義,如果要保持字符原來(lái)的含義,就應(yīng)該轉(zhuǎn)換為HTML實(shí)體。這個(gè)函數(shù)會(huì)返回轉(zhuǎn)換后的字符串,例如‘&’ (ampersand) 轉(zhuǎn)為’&‘(ps:請(qǐng)參照第三點(diǎn)中的實(shí)體對(duì)照表鏈接)

附上此函數(shù)常見(jiàn)的轉(zhuǎn)換字符:

The translations performed are:

‘&’ (ampersand) becomes ‘&’
‘”‘ (double quote) becomes ‘"’ when ENT_NOQUOTES is not set.
“‘” (single quote) becomes ‘'’ (or ') only when ENT_QUOTES is set.
‘<’ (less than) becomes ‘<’
‘>’ (greater than) becomes ‘>’
5. strip_tags()

這個(gè)函數(shù)可以去除字符串中所有的HTML,JavaScript和PHP標(biāo)簽,當(dāng)然你也可以通過(guò)設(shè)置該函數(shù)的第二個(gè)參數(shù),讓一些特定的標(biāo)簽出現(xiàn)。

6. md5()

從安全的角度來(lái)說(shuō),一些開(kāi)發(fā)者在數(shù)據(jù)庫(kù)中存儲(chǔ)簡(jiǎn)單的密碼的行為并不值得推薦。md5()函數(shù)可以產(chǎn)生給定字符串的32個(gè)字符的md5散列,而且這個(gè)過(guò)程不可逆,即你不能從md5()的結(jié)果得到原始字符串。

現(xiàn)在這個(gè)函數(shù)并不被認(rèn)為是安全的,因?yàn)殚_(kāi)源的數(shù)據(jù)庫(kù)可以反向檢查一個(gè)散列值的明文。你可以在這里找到一個(gè)MD5散列數(shù)據(jù)庫(kù)列表

7. sha1()

這個(gè)函數(shù)與md5()類(lèi)似,但是它使用了不同的算法來(lái)產(chǎn)生40個(gè)字符的SHA-1散列(md5產(chǎn)生的是32個(gè)字符的散列)。也不要把絕對(duì)安全寄托在這個(gè)函數(shù)上,否則會(huì)有意想不到的結(jié)果。

8. intval()

先別笑,我知道這個(gè)函數(shù)和安全沒(méi)什么關(guān)系。intval()函數(shù)是將變量轉(zhuǎn)成整數(shù)類(lèi)型,你可以用這個(gè)函數(shù)讓你的PHP代碼更安全,特別是當(dāng)你在解析id,年齡這樣的數(shù)據(jù)時(shí)。

原文首發(fā):http://www.ido321.com/1202.html

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/31902.html

相關(guān)文章

  • php資料集

    摘要:簡(jiǎn)單字符串緩存實(shí)戰(zhàn)完整實(shí)戰(zhàn)種設(shè)計(jì)模式設(shè)計(jì)模式是面向?qū)ο蟮淖罴褜?shí)踐成為專(zhuān)業(yè)程序員路上用到的各種優(yōu)秀資料神器及框架成為一名專(zhuān)業(yè)程序員的道路上,需要堅(jiān)持練習(xí)學(xué)習(xí)與積累,技術(shù)方面既要有一定的廣度,更要有自己的深度。 微型新聞系統(tǒng)的開(kāi)發(fā)(PHP 5.4 + MySQL 5.5) 微型新聞系統(tǒng)的開(kāi)發(fā)(PHP 5.4 + MySQL 5.5) 九個(gè)很有用的 PHP 代碼 php 代碼 國(guó)內(nèi)值得關(guān)注的...

    RobinQu 評(píng)論0 收藏0
  • PHP小知識(shí)點(diǎn)

    摘要:那些瑣碎的知識(shí)點(diǎn)作者記錄的的很奇特很難記的知識(shí)點(diǎn)。易錯(cuò)知識(shí)點(diǎn)整理注意和的區(qū)別中和都是輸出的作用,但是兩者之間還是有細(xì)微的差別。今天手頭不忙,總結(jié)一下,分享過(guò)程中掌握的知識(shí)點(diǎn)。 深入理解 PHP 之:Nginx 與 FPM 的工作機(jī)制 這篇文章從 Nginx 與 FPM 的工作機(jī)制出發(fā),探討配置背后的原理,讓我們真正理解 Nginx 與 PHP 是如何協(xié)同工作的。 PHP 那些瑣碎的知識(shí)...

    hover_lew 評(píng)論0 收藏0
  • 總結(jié) XSS 與 CSRF 兩種跨站攻擊

    摘要:但最近又聽(tīng)說(shuō)了另一種跨站攻擊,于是找了些資料了解了一下,并與放在一起做個(gè)比較。腳本中的不速之客全稱(chēng)跨站腳本,是注入攻擊的一種。 XSS:跨站腳本(Cross-site scripting) CSRF:跨站請(qǐng)求偽造(Cross-site request forgery) 在那個(gè)年代,大家一般用拼接字符串的方式來(lái)構(gòu)造動(dòng)態(tài) SQL 語(yǔ)句創(chuàng)建應(yīng)用,于是 SQL 注入成了很流行的攻擊方式。...

    jcc 評(píng)論0 收藏0
  • PHP應(yīng)用性能優(yōu)化指南

    摘要:怎樣才算是高性能的應(yīng)用性能和速度不是一對(duì)同義詞。紅線(xiàn)表示針對(duì)速度進(jìn)行了優(yōu)化的腳本,藍(lán)線(xiàn)是可擴(kuò)展性?xún)?yōu)先的腳本。將任何這些功能置于循環(huán)中可能會(huì)導(dǎo)致性能問(wèn)題。完整的代碼檢測(cè)評(píng)估雖然可能很耗時(shí),但它可以為你提供有關(guān)應(yīng)用程序性能的深入信息。 showImg(https://segmentfault.com/img/bVNxDn?w=900&h=500);程序員都喜歡最新的PHP 7,因?yàn)樗筆H...

    EddieChan 評(píng)論0 收藏0
  • Java核心技術(shù)教程整理,長(zhǎng)期更新

    以下是Java技術(shù)棧微信公眾號(hào)發(fā)布的關(guān)于 Java 的技術(shù)干貨,從以下幾個(gè)方面匯總。 Java 基礎(chǔ)篇 Java 集合篇 Java 多線(xiàn)程篇 Java JVM篇 Java 進(jìn)階篇 Java 新特性篇 Java 工具篇 Java 書(shū)籍篇 Java基礎(chǔ)篇 8張圖帶你輕松溫習(xí) Java 知識(shí) Java父類(lèi)強(qiáng)制轉(zhuǎn)換子類(lèi)原則 一張圖搞清楚 Java 異常機(jī)制 通用唯一標(biāo)識(shí)碼UUID的介紹及使用 字符串...

    Anchorer 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<