我现在对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" %>
答案 0 :(得分:1)
您可以使用XSS_terminate
等插件来转义用户的输入然后就像在模型中这样做一样简单:
class YourModel < ActiveRecord::Base
xss_terminate :except => [ :your_input_field_to_be_exempt ]
end