国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

PHP安全性防范方式

chadLi / 3065人閱讀

摘要:注入注入是一種惡意攻擊,用戶利用在表單字段輸入語(yǔ)句的方式來影響正常的執(zhí)行。防范方式是針對(duì)非法的代碼包括單雙引號(hào)等,使用函數(shù)。如許多函數(shù),如可以包含或文件名防范方式過濾用戶輸入在中設(shè)置禁用和。這將禁用的遠(yuǎn)程文件。

SQL注入

SQL注入是一種惡意攻擊,用戶利用在表單字段輸入SQL語(yǔ)句的方式來影響正常的SQL執(zhí)行。

防范方式

使用mysql_real_escape_string(),或者addslashes()過濾數(shù)據(jù)

手動(dòng)檢查每一數(shù)據(jù)是否為正確的數(shù)據(jù)類型

使用預(yù)處理語(yǔ)句并綁定變量

使用準(zhǔn)備好的預(yù)處理語(yǔ)句

分離數(shù)據(jù)和SQL邏輯

預(yù)處理語(yǔ)句將自動(dòng)過濾(如:轉(zhuǎn)義)

把它作為一個(gè)編碼規(guī)范,可以幫助團(tuán)隊(duì)里的新人避免遇到以上問題

相比于直接執(zhí)行SQL語(yǔ)句,預(yù)處理語(yǔ)句有兩個(gè)主要優(yōu)點(diǎn)

預(yù)處理語(yǔ)句大大減少了分析時(shí)間,只做了一次查詢(雖然語(yǔ)句多次執(zhí)行)。

綁定參數(shù)減少了服務(wù)器帶寬,你只需要發(fā)送查詢的參數(shù),而不是整個(gè)語(yǔ)句。

預(yù)處理語(yǔ)句針對(duì)SQL注入是非常有用的,因?yàn)閰?shù)值發(fā)送后使用不同的協(xié)議,保證了數(shù)據(jù)的合法性。

而在PHP當(dāng)中,使用預(yù)處理語(yǔ)句主要有兩種方法

使用mysqli數(shù)據(jù)庫(kù)

使用PDOStatement類對(duì)象

查詢只需要被解析(或準(zhǔn)備)一次,但可以使用相同或不同的參數(shù)執(zhí)行多次。當(dāng)查詢準(zhǔn)備好(Prepared)之后,數(shù)據(jù)庫(kù)就會(huì)分析,編譯并優(yōu)化它要執(zhí)行查詢的計(jì)劃。對(duì)于復(fù)雜查詢來說,如果你要重復(fù)執(zhí)行許多次有不同參數(shù)的但結(jié)構(gòu)相同的查詢,這個(gè)過程會(huì)占用大量的時(shí)間,使得你的應(yīng)用變慢。通過使用一個(gè)預(yù)處理語(yǔ)句你就可以避免重復(fù)分析、編譯、優(yōu)化的環(huán)節(jié)。簡(jiǎn)單來說,預(yù)處理語(yǔ)句使用更少的資源,執(zhí)行速度也就更快。

服務(wù)器的措施

關(guān)于SQL注入,不得不說的是現(xiàn)在大多虛擬主機(jī)都會(huì)把magic_quotes_gpc選項(xiàng)打開,在這種情況下所有的客戶端GET和POST的數(shù)據(jù)都會(huì)自動(dòng)進(jìn)行addslashes處理,所以此時(shí)對(duì)字符串值的SQL注入是不可行的,但要防止對(duì)數(shù)字值的SQL注入,如用intval()等函數(shù)進(jìn)行處理。但如果你編寫的是通用軟件,則需要讀取服務(wù)器的magic_quotes_gpc后進(jìn)行相應(yīng)處理。

XSS攻擊

XSS(跨站點(diǎn)腳本攻擊)是一種攻擊,由用戶輸入一些數(shù)據(jù)到你的網(wǎng)站,其中包括客戶端腳本(通常JavaScript)。如果你沒有過濾就輸出數(shù)據(jù)到另一個(gè)web頁(yè)面,這個(gè)腳本將被執(zhí)行。

防范方式

是針對(duì)非法的HTML代碼包括單雙引號(hào)等,使用htmlspecialchars()函數(shù) 。

在使用htmlspecialchars()函數(shù)的時(shí)候注意第二個(gè)參數(shù), 直接用htmlspecialchars($string) 的話,第二個(gè)參數(shù)默認(rèn)是ENT_COMPAT,函數(shù)默認(rèn)只是轉(zhuǎn)化雙引號(hào)(“), 不對(duì)單引號(hào)(‘)做轉(zhuǎn)義.

所以,htmlspecialchars函數(shù)更多的時(shí)候要加上第二個(gè)參數(shù), 應(yīng)該這樣用: htmlspecialchars($string,ENT_QUOTES).當(dāng)然,如果需要不轉(zhuǎn)化如何的引號(hào),用htmlspecialchars($string,ENT_NOQUOTES).

另外, 盡量少用htmlentities, 在全部英文的時(shí)候htmlentities和htmlspecialchars沒有區(qū)別,都可以達(dá)到目的.但是,中文情況下, htmlentities卻會(huì)轉(zhuǎn)化所有的html代碼,連同里面的它無(wú)法識(shí)別的中文字符也給轉(zhuǎn)化了。

htmlentities和htmlspecialchars這兩個(gè)函數(shù)對(duì) "之類的字符串支持不好,都不能轉(zhuǎn)化, 所以用htmlentities和htmlspecialchars轉(zhuǎn)化的字符串只能防止XSS攻擊,不能防止SQL注入攻擊.

代碼注入

代碼注入是利用計(jì)算機(jī)漏洞通過處理無(wú)效數(shù)據(jù)造成的。問題出在,當(dāng)你不小心執(zhí)行任意代碼,通常通過文件包含。寫得很糟糕的代碼可以允許一個(gè)遠(yuǎn)程文件包含并執(zhí)行。如許多PHP函數(shù),如require可以包含URL或文件名

防范方式

過濾用戶輸入

在php.ini中設(shè)置禁用allow_url_fopen和allow_url_include。這將禁用require/include/fopen的遠(yuǎn)程文件。

文章參考:
https://blog.csdn.net/tim_php...
https://blog.csdn.net/come_on...
https://www.cnblogs.com/wt645...

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

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

相關(guān)文章

  • PHP網(wǎng)站常見一些安全漏洞及防御方法

    摘要:一常見網(wǎng)站安全漏洞對(duì)于的漏洞,目前常見的漏洞有五種。分別是文件漏洞注入漏洞腳本命令執(zhí)行漏洞全局變量漏洞和文件漏洞。這就是月行胃的注入漏洞。 一、常見PHP網(wǎng)站安全漏洞 對(duì)于PHP的漏洞,目前常見的漏洞有五種。分別是Session文件漏洞、SQL注入漏洞、腳本命令執(zhí)行漏洞、全局變量漏洞和文件漏洞。這里分別對(duì)這些漏洞進(jìn)行簡(jiǎn)要的介紹。 1、session文件漏洞 Session攻擊是黑客最常...

    lavor 評(píng)論0 收藏0
  • PHP代碼安全策略

    摘要:文件系統(tǒng)安全如果具有權(quán)限,且在腳本中允許用戶刪除文件,那么用戶提交數(shù)據(jù),不進(jìn)行過濾,就非常有可能刪除系統(tǒng)文件從用戶目錄中刪除指定的文件上面的代碼,假設(shè)用戶提交的值是,那么目錄就會(huì)被刪除防范文件系統(tǒng)攻擊,策略如下只給有限的權(quán)限用戶提交上來的變 文件系統(tǒng)安全 php如果具有root權(quán)限,且在腳本中允許用戶刪除文件,那么用戶提交數(shù)據(jù),不進(jìn)行過濾,就非常有可能刪除系統(tǒng)文件 上面的代碼...

    GT 評(píng)論0 收藏0
  • PHP 安全:如何防范用戶上傳 PHP 可執(zhí)行文件

    摘要:每個(gè)專業(yè)的開發(fā)者都知道用戶上傳的文件都是極其危險(xiǎn)的。如何防止引入用戶上傳的文件重命名文件名可以嗎不,辦不到解析器不關(guān)心文件的后綴名。服務(wù)器通常被設(shè)置成執(zhí)行文件并將執(zhí)行結(jié)果回復(fù)輸出。如何進(jìn)行檢查這很簡(jiǎn)單。用戶可以上傳文件到該站點(diǎn)。 showImg(https://segmentfault.com/img/remote/1460000017893665?w=1200&h=627); 每個(gè)專...

    wangxinarhat 評(píng)論0 收藏0
  • PHP 開發(fā)者如何做代碼審查?

    摘要:我們做代碼審計(jì)之前選好工具也是十分必要的。一審計(jì)工具介紹代碼審計(jì)系統(tǒng)功能介紹是一款基于開發(fā)的針對(duì)代碼安全審計(jì)的軟件。自定義審計(jì)規(guī)則。黑盒敏感信息泄露一鍵審計(jì)。挖掘這種漏洞主要是檢查是否使用了,搜索和。 GitChat 作者:湯青松原文:PHP 開發(fā)者如何做代碼審查?關(guān)注微信公眾號(hào):「GitChat 技術(shù)雜談」 一本正經(jīng)的講技術(shù) 【不要錯(cuò)過文末彩蛋】 前言 工欲善其事,必先利其器。我們做...

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

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

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<