我一直在關注了Rails 3入門指南和有本說明手冊中,我不解地問:Rails的入門幫助
在Rails的早期版本中,你不得不使用
<%=h post.name %>
因此任何HTML在插入頁面之前都會被轉義。在 Rails 3.0中,這是現在的默認設置。要獲取未轉義的HTML,您現在使用<%= raw post.name %>
。
我真的不明白這是什麼意思由轉義的HTML VS轉義HTML。誰可以給我解釋一下這個?
謝謝!
我一直在關注了Rails 3入門指南和有本說明手冊中,我不解地問:Rails的入門幫助
在Rails的早期版本中,你不得不使用
<%=h post.name %>
因此任何HTML在插入頁面之前都會被轉義。在 Rails 3.0中,這是現在的默認設置。要獲取未轉義的HTML,您現在使用<%= raw post.name %>
。
我真的不明白這是什麼意思由轉義的HTML VS轉義HTML。誰可以給我解釋一下這個?
謝謝!
如果post.name = <b>Bob</b>
然後轉義HTML將顯示
<b>Bob</b>
雖然未逸出HTML將顯示原始輸出
鮑勃
轉義HTML僅僅意味着對其進行編碼,使其看起來像HTML,因此您看到的是<b>foo</b>
,而不是實際在您的網頁上被視爲HTML,如foo。
它這樣做的方式是將特殊字符轉換爲稱爲HTML實體的安全版本。例如,<
的HTML實體是>
。
HTML轉義是重要用於確保跨越現場的導軌應用腳本。爲了更好地理解跨站點腳本,請通過此初始截屏視頻。
http://railscasts.com/episodes/27-cross-site-scripting
有關如何在Rails 3中
http://railscasts.com/episodes/204-xss-protection-in-rails-3
我會建議去固定軌的應用,這談論一大堆的東西徹底本指南的處理進一步信息。