第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

請(qǐng)問防 XSS,存入數(shù)據(jù)庫時(shí)編碼,還是寫 Html 時(shí)編碼?

請(qǐng)問防 XSS,存入數(shù)據(jù)庫時(shí)編碼,還是寫 Html 時(shí)編碼?

PHP
尚方寶劍之說 2018-12-16 09:21:29
例如,用戶提交的數(shù)據(jù)a < b方法1,存入數(shù)據(jù)庫時(shí)編碼,即存入的是a &lt; b方法2,寫 Html 時(shí)編碼,即原樣存入數(shù)據(jù)庫a < b但在寫到頁面前,編碼成a &lt; b我個(gè)人比較傾向方法1,因?yàn)?XSS 是瀏覽器誤會(huì)造成的,而后臺(tái)返回的數(shù)據(jù)不一定只給瀏覽器呀,其他客戶端(如手機(jī)APP)就不用擔(dān)心,這是其一;其二,如果這一列在 SELECT 時(shí)要比較的話,方法2 就要求比較的值也必須先編碼,否則不可能相等,如:WHERE c = 'a < b'這么寫肯定不行,因?yàn)閿?shù)據(jù)庫存的是 'a &lt; b'。所以,從純粹程序設(shè)計(jì)的角度講,方法2 總是假定客戶端是瀏覽器,不好。但是方法1 的問題是,如果每次寫到 html 時(shí)都要 “記得” 編碼,太容易忘!一旦忘記,也就埋下了安全隱患,對(duì)吧?所以您的建議是?關(guān)注 | 2收藏 評(píng)論邀請(qǐng)回答編輯
查看完整描述

1 回答

?
莫回?zé)o

TA貢獻(xiàn)1865條經(jīng)驗(yàn) 獲得超7個(gè)贊

我當(dāng)時(shí)寫過一個(gè)保存富文本的功能. 用的是方法2(必須保存html標(biāo)簽, 沒辦法), 富文本的內(nèi)容是方法1.

說到防xss, 我當(dāng)時(shí)是在頁面提交富文本的時(shí)候, 使用jsoup(java過濾xss攻擊腳本). 由于需要保存的是富文本. 所以到頁面渲染的時(shí)候, 不做轉(zhuǎn)義(富文本編輯后上傳的內(nèi)容都是轉(zhuǎn)義后的, 除了一些富文本生成的標(biāo)簽對(duì)).

假如不使用富文本的情況下, 方法1確實(shí)方便. 但富文本的情況, 需要查找html實(shí)體的時(shí)候, 就必須轉(zhuǎn)義了.


查看完整回答
反對(duì) 回復(fù) 2018-12-16
  • 1 回答
  • 0 關(guān)注
  • 514 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)