第七色在线视频,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)就不用擔心,這是其一;其二,如果這一列在 SELECT 時要比較的話,方法2 就要求比較的值也必須先編碼,否則不可能相等,如:WHERE c = 'a < b'這么寫肯定不行,因為數(shù)據(jù)庫存的是 'a &lt; b'。所以,從純粹程序設計的角度講,方法2 總是假定客戶端是瀏覽器,不好。但是方法1 的問題是,如果每次寫到 html 時都要 “記得” 編碼,太容易忘!一旦忘記,也就埋下了安全隱患,對吧?所以您的建議是?
查看完整描述

1 回答

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

TA貢獻1828條經驗 獲得超6個贊

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

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

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


查看完整回答
反對 回復 2018-12-16
  • 1 回答
  • 0 關注
  • 801 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號