我有下一个表格:
<%= form_for :user, url: "#" do |f| %>
<%= f.text_field :name %>
<%= f.submit "send" %>
<% end %>
我需要验证名称字段,但该页面使用多种语言:中文,葡萄牙语,西班牙语等。 那么我不能仅仅将字段限制为字母数字值。
如何验证危险的特殊字符?
答案 0 :(得分:0)
让我试着将其分解为几个问题
1)如何验证危险的特殊字符?
这取决于您对输入日期的处理方式。你用它构建SQL查询吗? 在您的网页上显示它,您是否将它发送到第三方Web应用程序,您是否在服务器上运行一些命令行工具并将数据作为参数传递给它。
所有这些事情都可能有不同的“危险特殊字符”概念并处理它们。
所以,没有一个完美的答案。
您可能需要指定如何使用此数据。
2)哪里可以获得有关此类问题的更多信息?
我真的希望你提出这个问题,因为如果你保护你的应用程序免受SQL注入,但是在其他常见的安全漏洞中大放异彩,那对你来说不会太好。
对于rails应用程序有一个非常好的安全性,对于有安全意识的开发人员来说必须阅读: http://guides.rubyonrails.org/security.html
3)好的。如何处理多语言页面
Ruby 2.0及更高版本的默认编码为UTF-8(您很可能正在使用)。这意味着您不必执行任何特殊操作来处理其他字符(使用它们的语言)。但是,你是对的,你需要为特殊字符添加某种转义(这取决于问题#1)。