真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Web安全開發(fā)建議

Web安全問題,很多時候會被人所忽略,安全漏洞造成了很多不必要的維護和開發(fā)任務(wù),產(chǎn)生的問題有時候更是致命的。
實際上,只要我們養(yǎng)成一些習(xí)慣,知道一些安全問題的基本原理,可以很大程度避免問題的出現(xiàn),這也是一個優(yōu)秀Web程序員的必備素質(zhì)。

UI變量轉(zhuǎn)義規(guī)范

什么是UI變量?凡是出現(xiàn)在HTML中由后端輸出(或由JSON渲染)的變量都可稱之為UI變量,它可以是PHP變量、Smarty變量、JSP變量或前端模版變量等等。

創(chuàng)新互聯(lián)主營烏什網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,App定制開發(fā),烏什h5小程序定制開發(fā)搭建,烏什網(wǎng)站營銷推廣歡迎烏什等地區(qū)企業(yè)咨詢

有些模版自帶了轉(zhuǎn)義功能,比如Smarty可以對HTML或JavaScript轉(zhuǎn)義:

Data: 

"Ricky"

Template: <{$name|escape:html|escape:javascript}> Output: <h2>"Ricky"<\/h2>

Mustache默認(rèn)自動對HTML轉(zhuǎn)義(雙花括號是wiki的語法,所以本文Mustache模版標(biāo)簽用{<>}表示):

Data: 

Ricky

Template: {} Output: <h2>Ricky<\/h2>

如果不想轉(zhuǎn)義,可以使用3個花括號:{`name`}

注意:當(dāng)沒有使用具有轉(zhuǎn)義功能的模版時,一定要在程序中對UI變量進(jìn)行轉(zhuǎn)義。對后端傳來的數(shù)據(jù),都采取不信任的策略。

根據(jù)UI變量出現(xiàn)的位置不同,轉(zhuǎn)義規(guī)則也不同,常見的有以下幾種情況:

UI變量出現(xiàn)在HTML標(biāo)簽中或標(biāo)簽的屬性中

實例:

{}

轉(zhuǎn)義規(guī)則:

字符轉(zhuǎn)義漏洞實例
< <{} =

I am bigger

> >
''{} = '/>
""{} = "/>
&&
(可選)
如果不轉(zhuǎn)義,則用戶可以輸入不可見字符,如: 
如果轉(zhuǎn)義,則用戶輸入的某些字符不能正確顯示,如:©

UI變量出現(xiàn)在

轉(zhuǎn)義規(guī)則:

字符轉(zhuǎn)義漏洞實例
'\'{} = ';alert(0);…
"\"{} = ";alert(0);…
\\\{} = \
報錯:unterminated string literal
/\/{} = ";

轉(zhuǎn)義規(guī)則:

  • 字符轉(zhuǎn)義漏洞實例
    先進(jìn)行HTML轉(zhuǎn)義,再進(jìn)行JavaScript轉(zhuǎn)義
    < <{} =
    ";

    說明:從cookie或頁面的url中獲取的數(shù)據(jù)都是不可信任的,可能包含惡意代碼。

    避免document.write + location.href的寫法

    實例:

    
    

    正確寫法:

    
    
    

    說明:直接向頁面輸出帶有url的HTML,可能會執(zhí)行含惡意代碼。

    謹(jǐn)慎使用document.domain解決跨域問題

    說明:當(dāng)域為a.sogou.com的A頁面內(nèi)嵌域為b.sogou.com的B頁面時,可以通過設(shè)置domain為sogou.com使兩個頁面進(jìn)行通信。但這樣的設(shè)置使安全隱患得以擴大化,如果B頁面存在XSS漏洞,那么就可以通過B頁面操控正常的A頁面。

    Json數(shù)據(jù)conentType的設(shè)置

    說明:Json數(shù)據(jù)的Response要設(shè)置contentType為“text/javascript”,避免未設(shè)置或者設(shè)置成“text/html”。否則容易注入JavaScript腳本,并當(dāng)著普通頁面來運行。

    Flash跨域crossdomain.xml配置

    做跨域通信通常會用到Flash,這需要在server部署一個crossdomain.xml文件,通常為:

    
    
        
    
    

    這表示允許任何域的Flash對本server進(jìn)行訪問,如果Flash是用戶上傳的,就可能包含惡意代碼。

    解決辦法:只允許搜狗域的Flash訪問

    
    
        
    
    

    在頁面中插入Flash的安全設(shè)置

    如果展現(xiàn)來自用戶上傳的Flash,需要設(shè)置一下2個參數(shù):

    • allowScriptAccess: "never" //絕對禁止Flash與頁面元素及腳本的通訊

    • allowNetworking: "none" //禁止任何的網(wǎng)絡(luò)通訊

    不要隨意嵌套第三方頁面

    不要使用iframe或者其他形式隨意嵌套第三方頁面,第三方頁面會包含不可控的因素,譬如含有***瀏覽者的惡意代碼。如果第三方頁面存在漏洞,***者可以通過***第三方來實現(xiàn)***父頁面。

    防范CSRF(跨站點請求偽造)***

    • 盡量使用POST提交

    • 添加refer的檢查

    • form表單提交添加圖形驗證碼

    • 添加token驗證


    網(wǎng)頁題目:Web安全開發(fā)建議
    分享地址:http://weahome.cn/article/jcjsei.html

    在線咨詢

    微信咨詢

    電話咨詢

    028-86922220(工作日)

    18980820575(7×24)

    提交需求

    返回頂部

    <dl id="iqom6"></dl>
      • <dl id="iqom6"></dl>
            <dl id="iqom6"></dl>
            • <dl id="iqom6"></dl>
              • <tfoot id="iqom6"></tfoot>