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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

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

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

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

1 回答

?
30秒到達戰(zhàn)場

TA貢獻1828條經(jīng)驗 獲得超6個贊

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

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

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


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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