自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

PHP安全:保障內(nèi)容安全

安全
除了Web系統(tǒng)本身不要出現(xiàn)漏洞而被攻擊者利用外,還需要將內(nèi)容數(shù)據(jù)安全地送達(dá)給用戶,并且用戶安全地接收內(nèi)容數(shù)據(jù)。

 [[346226]]

除了Web系統(tǒng)本身不要出現(xiàn)漏洞而被攻擊者利用外,還需要將內(nèi)容數(shù)據(jù)安全地送達(dá)給用戶,并且用戶安全地接收內(nèi)容數(shù)據(jù)。防止在傳輸過程中內(nèi)容被篡改,防止用戶提交非法內(nèi)容,確保接收的內(nèi)容是系統(tǒng)可接收的。

1、不安全的HTTP傳輸

HTTP傳輸?shù)臄?shù)據(jù)都是未加密的,也就是明文,因此在傳輸過程中,隨時(shí)可能被截獲,客戶端與服務(wù)器之間沒有任何身份確認(rèn)的過程,數(shù)據(jù)全部明文傳輸,所以很容易遭到攻擊,因此使用HTTP傳輸隱私信息非常不安全。

圖1是普通HTTP的傳輸,HTTP傳輸面臨以下風(fēng)險(xiǎn)。

(1)竊聽風(fēng)險(xiǎn):攻擊者可以獲取所有通信內(nèi)容。

(2)篡改風(fēng)險(xiǎn):攻擊者可以修改所有通信內(nèi)容。

(3)冒充風(fēng)險(xiǎn):攻擊者以冒充他人身份參與通信。

圖1  HTTP被攔截

為了防止上述現(xiàn)象的發(fā)生,研發(fā)人員對(duì)傳輸?shù)男畔⑦M(jìn)行對(duì)稱加密。如圖2中所展示的,即使攻擊者截獲傳輸?shù)男畔?,也無法破解。

圖2  對(duì)稱加密

使用對(duì)稱加密,雙方擁有相同的密鑰,信息得到安全傳輸,但此種方式有以下缺點(diǎn)。

(1)不同的客戶端、服務(wù)器數(shù)量龐大,所以雙方都需要維護(hù)大量的密鑰,維護(hù)成本很高。

(2)因每個(gè)客戶端、服務(wù)器的安全級(jí)別不同,所以密鑰極易泄露。

為了防止對(duì)稱加密中的密鑰泄露,如圖3所示,使用非對(duì)稱加密客戶端用公鑰對(duì)請(qǐng)求內(nèi)容加密,服務(wù)器使用私鑰對(duì)內(nèi)容解密,反之亦然。但這個(gè)過程也存在缺點(diǎn),公鑰是公開的(也就是攻擊者也會(huì)有公鑰),所以服務(wù)端私鑰加密的信息,如果被惡意攻擊者截獲,攻擊者可以使用公鑰行解密,獲取其中的內(nèi)容。

圖3  非對(duì)稱加密

為了兼顧性能和安全問題,人們將對(duì)稱加密、非對(duì)稱加密兩者結(jié)合起來,發(fā)揮兩者各自的優(yōu)勢(shì)。圖4展示的是混合加密。

圖4  混合加密

客戶端使用公鑰加密對(duì)稱密鑰,服務(wù)器收到信息后,用私鑰解密,提取出對(duì)稱加密算法和對(duì)稱密鑰后,后續(xù)兩者之間信息的傳輸便可使用對(duì)稱加密的方式。

但是還存在以下問題。

(1)客戶端獲得的公鑰無法確定是真實(shí)的還是攻擊者偽造的。

(2)無法確認(rèn)服務(wù)器是真實(shí)的而不是攻擊者的。

因此傳輸過程還是存在被劫持可能性,如圖5所示。

圖5  加密傳輸被劫持

2、HTTPS傳輸更安全

為了保證這些隱私數(shù)據(jù)能加密傳輸,Netscape(網(wǎng)景)公司設(shè)計(jì)了安全套接層(Secure Sockets Layer,SSL)協(xié)議用于對(duì)HTTP傳輸?shù)臄?shù)據(jù)進(jìn)行加密,從而誕生了HTTPS。

HTTPS能夠加密信息,可防止數(shù)據(jù)信息在傳輸過程中被第三方竊取、修改,確保數(shù)據(jù)的完整性,所以很多銀行網(wǎng)站或電子郵箱等安全級(jí)別較高的服務(wù)采用了HTTPS。隨著安全意識(shí)的提高,目前主流網(wǎng)站陸續(xù)在使用HTTPS。

圖6展示了HTTPS的請(qǐng)求過程,客戶端在接收到服務(wù)端發(fā)來的SSL證書時(shí),會(huì)對(duì)證書的真?zhèn)芜M(jìn)行校驗(yàn)。下面以瀏覽器為例進(jìn)行說明。

圖6  HTTPS請(qǐng)求過程

(1)瀏覽器讀取證書中的證書所有者、有效期等信息并進(jìn)行一一校驗(yàn)。

(2)瀏覽器開始查找操作系統(tǒng)中已內(nèi)置的受信任的證書發(fā)布機(jī)構(gòu)CA,與服務(wù)器發(fā)來的證書中的頒發(fā)者CA比對(duì),用于校驗(yàn)證書是否為合法機(jī)構(gòu)頒發(fā)。

(3)如果找不到,瀏覽器就會(huì)報(bào)錯(cuò),說明服務(wù)器發(fā)來的證書是不可信任的。

(4)如果找到,瀏覽器就會(huì)從操作系統(tǒng)中取出頒發(fā)者CA的公鑰,然后對(duì)服務(wù)器發(fā)來的證書里的簽名進(jìn)行解密。

(5)瀏覽器使用相同的散列算法計(jì)算出服務(wù)器發(fā)來的證書的散列值,將這個(gè)計(jì)算的散列值與證書中簽名進(jìn)行對(duì)比。

(6)如果對(duì)比結(jié)果一致,則證明服務(wù)器發(fā)來的證書合法,沒有被冒充。

(7)此時(shí)瀏覽器就可以讀取證書中的公鑰,用于后續(xù)加密。

通過發(fā)送SSL證書的形式,既解決了公鑰獲取問題,又解決了攻擊者冒充問題,所以相比HTTP,HTTPS傳輸更加安全。

(1)所有信息都是加密傳播的,攻擊者無法竊聽。

(2)具有校驗(yàn)機(jī)制,一旦被篡改,通信雙方都會(huì)立刻發(fā)現(xiàn)。

(3)配備身份證書,防止身份被冒充。

相比HTTP,HTTPS增加了很多握手、加密解密等流程,雖然過程很復(fù)雜,但可以保證數(shù)據(jù)傳輸?shù)陌踩?。在這個(gè)互聯(lián)網(wǎng)膨脹的時(shí)代,其中隱藏著各種看不見的危機(jī),為了保證數(shù)據(jù)的安全,維護(hù)網(wǎng)絡(luò)定,建議使用HTTPS。

3、防止盜鏈

盜鏈?zhǔn)侵妇W(wǎng)站擁有者自己不對(duì)資源進(jìn)行存儲(chǔ),而是通過技術(shù)手段盜取其他網(wǎng)站服務(wù)商的內(nèi)容資源直接在自己的網(wǎng)站上進(jìn)行展示,騙取最終用戶的瀏覽和點(diǎn)擊。盜取的內(nèi)容主要是圖片、視頻以及其他資源下載文件。網(wǎng)站盜鏈會(huì)大量消耗被盜鏈網(wǎng)站的帶寬和系統(tǒng)資源,從而增加服務(wù)器的負(fù)擔(dān),損害企業(yè)的利益,同時(shí)給企業(yè)形象造成負(fù)面影響。

為了防止服務(wù)器資源被盜取,通??梢詸z測訪問源的Referer來進(jìn)行過濾,如在Nginx中配置Referer檢查,檢查Referer是否是在指定的域名來源中,如www.ptpress.com.cn、ptpress.com.cn,防止jpg|gif|png|swf|flv|wma|wmv|mp3|zip|rar這些靜態(tài)資源被第三方引用。如果沒有通過檢測,則直接返回“404資源無法找到”。 

  1. location ~*^.+\.(jpg|gif|png|swf|flv|wma|wmv|mp3|zip|rar)$ {  
  2. valid_referers none blocked www.ptpress.com.cn ptpress.com.cn;  
  3. if($invalid_referer) {  
  4. return 404;  
  5. break;  
  6.  
  7. access_log off;  

如果是使用Apache作為Web服務(wù)器,可以直接在.htaccess中進(jìn)行配置,設(shè)置方式如下。 

  1. RewriteEngine on  
  2. RewriteCond %{HTTP_REFERER} !^$ [NC]  
  3. RewriteCond %{HTTP_REFERER} !ptpress.com.cn [NC] 
  4. RewriteCond %{HTTP_REFERER} !www.ptpress.com.cn [NC]  
  5. RewriteRule .*\.(jpg|gif|png|swf|flv|wma|wmv|mp3|zip|rar)$ http://www.ptpress.com.cn/ [R,NC,L] 

如果是一些動(dòng)態(tài)資源,則可以使用PHP檢查Referer白名單的方式以防止盜鏈。 

  1. <?php  
  2. $whiteList=array("www.ptpress.com.cn","ptpress.com.cn");  
  3. $referer=$_SERVER['HTTP_REFERER']; 
  4. $parseResult=parse_url($referer); // 解析URL  
  5. $host=$parseResult['host']; // 獲取referer中的域名  
  6. if(!in_array($host,$whiteList)); {  
  7. die('防止非法盜鏈');  

4、敏感詞

每一個(gè)系統(tǒng)都應(yīng)該保證接收和傳輸?shù)接脩舳说膬?nèi)容是合法健康的,所以需要建立有效的過濾或安全限制機(jī)制。其中,涉及“政治”“毒品”“色情”“武器”“暴力”“恐怖”“廣告”“業(yè)務(wù)違規(guī)”等內(nèi)容的,一定要進(jìn)行過濾并禁止傳輸或接收,以防止被攻擊者和不法分子用于廣告宣傳、言論攻擊等。

通常的做法是建立敏感詞詞庫,當(dāng)用戶提交內(nèi)容后,對(duì)內(nèi)容進(jìn)行分詞處理,將分詞后的數(shù)據(jù)與敏感詞庫中的數(shù)據(jù)一一對(duì)比。一旦命中,就禁止用戶提交。

圖7展示了系統(tǒng)在檢測到敏感詞,拒絕用戶提交數(shù)據(jù)的過程。

圖7  檢測到敏感詞

只有檢測后的內(nèi)容不包括敏感詞,才允許對(duì)用戶的內(nèi)容進(jìn)行保存。圖8中展示了系統(tǒng)未檢測到敏感詞,用戶可順利提交數(shù)據(jù)的過程。

圖8  未檢測到敏感詞 

 

責(zé)任編輯:龐桂玉 來源: 計(jì)算機(jī)與網(wǎng)絡(luò)安全
相關(guān)推薦

2017-12-01 20:43:12

網(wǎng)易云

2020-08-19 15:30:04

PHP網(wǎng)絡(luò)安全代碼

2022-09-08 15:36:07

物聯(lián)網(wǎng)安全物聯(lián)網(wǎng)網(wǎng)絡(luò)

2020-11-06 15:00:58

PHPMySQL數(shù)據(jù)庫

2020-11-09 15:49:38

PHPMemcache網(wǎng)絡(luò)安全

2010-09-01 22:12:53

2016-10-17 16:37:08

華為 云監(jiān)控

2014-02-28 09:49:11

2013-11-12 09:56:03

系統(tǒng)服務(wù)安全TCP wrapper企業(yè)安全

2013-12-02 15:54:34

2010-09-01 10:39:01

2011-03-16 13:46:03

2016-04-13 14:03:38

2009-09-24 13:16:31

虛擬桌面安全軟件客戶端安全

2010-11-01 11:29:48

綠盟科技

2013-03-25 17:01:20

2009-01-14 11:28:51

諾頓賽門鐵克安全特警2009

2023-05-31 14:50:18

2019-08-19 11:26:47

2011-07-25 15:20:27

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)