h()
für die Flucht zitiert auch nützlich ist.
Zum Beispiel habe ich eine Ansicht, die eine Verknüpfung mit einem Textfeld result[r].thtitle
erzeugt. Der Text könnte einfache Anführungszeichen enthalten. Wenn ich nicht result[r].thtitle
im confirm Verfahren entging, würde die Javascript brechen:
<%= link_to_remote "#{result[r].thtitle}", :url=>{ :controller=>:resource,
:action =>:delete_resourced,
:id => result[r].id,
:th => thread,
:html =>{:title=> "<= Remove"},
:confirm => h("#{result[r].thtitle} will be removed"),
:method => :delete %>
<a href="#" onclick="if (confirm('docs: add column &apos;dummy&apos; will be removed')) { new Ajax.Request('/resource/delete_resourced/837?owner=386&th=511', {asynchronous:true, evalScripts:true, method:'delete', parameters:'authenticity_token=' + encodeURIComponent('ou812')}); }; return false;" title="<= Remove">docs: add column 'dummy'</a>
Hinweis: Die :html
Titel Erklärung auf magische Weise entkam durch Rails.
[Nach dem OWASP] (https: //www.owasp. org/index.php/XSS_ (Cross_Site_Scripting) _Prevention_Cheat_Sheet # RULE_.231 _-_ HTML_Escape_Before_Inserting_Untrusted_Data_into_HTML_Element_Content), sollten die folgenden sechs Zeichen für einen korrekten XSS-Schutz im HTML-Element Inhalt maskiert werden: '& <> '' /' – sffc