1

我现在对 javascript/jQuery 和 rails 有点陌生,并且正在使用带有 select2-rails 的 text_field_tag 来创建带有自动完成功能的标记等。

它现在工作得很好,但只是出于好奇,我放置了

<脚本>alert("hello");</script>

(没有空格)在文本框中,弹出警报。这不是很不安全吗?我应该添加什么来阻止 javascript 在该 text_field 中执行吗?

编辑:: 这是我在该页面上的 javascript 应用到我的 text_field_tag:

$(document).ready(function() {  
    $("#filter-in-postkey-select2").select2( {  
        width                   : "450px",   
        placeholder             : "No postkeys. Add some here now!",  
        minimumInputLength      : 1,  
        maximumSelectionSize    : 5,  
        tags                    : ["red", "brown", "green"],  
        tokenSeparators         : [",", " "]  
    });  
});  

我的文本字段很简单:

<%= text_field_tag "filter-in-postkey-select2" %>
4

1 回答 1

1

您可以使用XSS_terminate之类的插件来转义用户的输入

那么它就像在您的模型中执行此操作一样简单:

class YourModel < ActiveRecord::Base
  xss_terminate :except => [ :your_input_field_to_be_exempt ]
end
于 2012-12-14T20:35:50.373 回答