[英]Should I care about the DOM processing time in Newrelic Rails app?
[英]What could/should I do to care about security in my case?
我正在使用Ruby on Rails 3.1.0,我想关注使用I18n gem进行国际化的安全性。
这时我有:
# in .yml file
key_1_html: "%{var_1} is just a test"
# in view, controller and model files
I18n.t('key_1_html', :var_1 => 'Test variable')
Test variable
是/表示来自用户的输入,因此我应该将其视为潜在的黑客行为。
在我的情况下,我可以/应该做些什么来关心安全性?
在正常的Rails(3.x)使用情况下,您无需执行任何操作。
即使某些HTML代码或javascript进入从i18n返回的字符串,如果您正在输出以常规方式从i18n返回的字符串,其中的任何HTML(无论是来自模板还是变量)都将被转义并显示为文字来源网页。
您必须手动将i18n返回的字符串标记为.html_safe,以使其作为html源传递。
所以不要这样做。
亲自尝试,看看。
I18n.t('key_1_html', :var_1 => '/<script>danger!</script>')
现在在ERB模板中输出,看看会发生什么。
如果您正在使用i18n做一些奇怪的事情而不是通过典型的Rails模板将其输出到浏览器,那么您需要说出什么,以及您关注的是什么。
我想也许本指南正是您所需要的,有关Rails安全问题的概述:
http://guides.rubyonrails.org/security.html
参见第8节“注射”。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.