網(wǎng)站檢測的Flash配置不當(dāng)屬于那種漏洞
360站長平臺中有一個工具是“官網(wǎng)直達”,通過申請可以使你的網(wǎng)站在360搜索結(jié)果中加上“官網(wǎng)”字樣的標(biāo)識,百度也有這樣的工具,不過是收費的,所以趁著360還沒收費,有興趣的朋友可以為自己的網(wǎng)站申請一下,申請這項服務(wù)有三個基本要求:ICP備案、符合法律法規(guī)、網(wǎng)站安全檢測。前兩項要求基本大部分網(wǎng)站都符合要求,我今天就卡在了第三項網(wǎng)站安全檢測上,無法通過審核。
我的網(wǎng)站使用的是Discuz論壇程序,360網(wǎng)站安全檢測的評分是85分,出現(xiàn)的唯一一個警告信息是“Flash配置不當(dāng)”的漏洞,查看了一下360官方給出的此漏洞危害:
可被用來進行跨域訪問,可能會導(dǎo)致“跨站點偽造請求”或“跨站點跟蹤”(“跨站點腳本編制”的變體)之類的攻擊,從而導(dǎo)致其它用戶的信息被非法讀取。
這個漏洞的解決方法很簡單——調(diào)整Flash跨域安全策略,F(xiàn)lash跨域策略文件是crossdomain.xml,如果是Discuz程序的話,這個文件就在Discuz的根目錄中,我們只需要將這個文件用記事本打開,將domain="*"中的"*"修改為你的網(wǎng)站域名即可,域名前不要加http://。
解決方法就是這么簡單,如果你只是為了解決這個警告信息的話,到這里就可以不用再往下看了,因為問題已經(jīng)解決了,但如果你對網(wǎng)絡(luò)技術(shù)感興趣的話,可以繼續(xù)往下面看。因為我覺得還是有必要和各位網(wǎng)絡(luò)技術(shù)愛好者介紹一下crossdomain.xml這個策略文件。
以Discuz論壇程序的crossdomain.xml文件為例,我們看到其中有四行代碼:
1.<?xml version="1.0"?>
2.<cross-domain-policy>
3. <allow-access-from domain="*" />
4.</cross-domain-policy>
為了方便介紹,我在每句代碼前面加了序號,第一句是最簡單的,首先聲明xml版本,第二句和第四句是一個完整的開合標(biāo)簽,稍微有點HTML基礎(chǔ)的朋友都清楚這一點。cross-domain-policy是跨域策略中必須的一個節(jié)點,也是這個文件中固定的格式,通過這三個英文單詞的意思我們也可以理解cross-domain-policy的意思,其中cross domain可以理解為跨域,policy在這里是策略的意思。整個文件中最重要的策略屬性就是第三句,cross-domain-policy屬于策略文件中的根節(jié)點,下面第三句allow-access-from屬于子節(jié)點,當(dāng)然子節(jié)點不是只有allow-access-from這一個,除此之外還包括site-control、allow-access-from-identity、allow-http-request-headers-from這三個子節(jié)點,也就是說cross-domain-policy下面的子節(jié)點只能是上面提到的這四個,沒有其他的子節(jié)點。
cross-domain-policy是根節(jié)點,不能賦予任何屬性,但是子節(jié)點是可以賦予屬性的,例如我們上面例子中的,其中的domain就是allow-access-from的屬性之一,只有domain中指定的域才能通過Flash讀取域中的信息和內(nèi)容,例如我們案例中domain的值是*,就代表所有的域都有權(quán)限通過Flash讀取我們網(wǎng)站所在域的內(nèi)容,因此就有可能被別人跨域訪問并獲取我們網(wǎng)站的用戶信息等敏感內(nèi)容,因此我們在上面的解決方法中,也是將*代替為我們自己的域名,這樣只有我們自己的域名所在域才有權(quán)限通過Flash訪問本域的內(nèi)容。
本文來源于互聯(lián)網(wǎng),如有疑問請及時聯(lián)系2898站長資源平臺官方客服,謝謝!