亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

原始vs.html_security vs.h以取消轉義html。

原始vs.html_security vs.h以取消轉義html。

滄海一幻覺 2019-06-24 10:31:54
原始vs.html_security vs.h以取消轉義html。假設我有以下字符串@x = "<a href='#'>Turn me into a link</a>"在我看來,我希望顯示一個鏈接。也就是說,我不希望@x中的所有內容都被轉義并顯示為字符串。使用<%= raw @x %><%= h @x %><%= @x.html_safe %>?
查看完整描述

3 回答

?
大話西游666

TA貢獻1817條經驗 獲得超14個贊

我認為有必要重復一遍:html_safe是嗎?HTML-轉義你的字符串。實際上,它將防止您的字符串被轉義。

<%= "<script>alert('Hello!')</script>" %>

將:

&lt;script&gt;alert(&#x27;Hello!&#x27;)&lt;/script&gt;

進入您的HTML源代碼(Yay,非常安全!),同時:

<%= "<script>alert('Hello!')</script>".html_safe %>

將彈出警報對話框(您確定這是您想要的嗎?)所以你可能不想打電話html_safe在任何用戶輸入的字符串上。


查看完整回答
反對 回復 2019-06-24
?
波斯汪

TA貢獻1811條經驗 獲得超4個贊

區別在于Rails‘html_safe()raw()..葉胡達·卡茨(Yehuda Katz)在這方面發表了一篇很棒的文章,它可以歸結為:

def raw(stringish)

  stringish.to_s.html_safeend

是,raw()是個包裝器html_safe(),這將強制輸入字符串,然后調用html_safe()在上面。情況也是如此raw()是模塊中的助手,而html_safe()是String類上的一個方法,它生成一個新的ActiveSupport:SafeBuffer實例,該實例具有@dirty旗子在里面。

參考“Rails的html_security與RAW".


查看完整回答
反對 回復 2019-06-24
  • 3 回答
  • 0 關注
  • 523 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

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

公眾號

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