私は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
ある/私は潜在的なハッキングなどのことを考慮しなければならないユーザからの入力を表しています。
私の場合、セキュリティについて気にすることはできますか?
ところで:どのような状況でRuby on Rails 3.xはエスケープ処理をしませんか?いくつかありますか?もしそうなら、何時? – user12882
文字列が.htmlsafeでマークされていない限り、Rails 3.xは.erbテンプレート内の何かのエスケープを処理します。<%= %>で出力します。 ActiveRecordを適切に使用している場合、RailsはSQLインジェクションからの保護も処理します。しかし、レールがエスケープ処理をしないケースは潜在的に無数にあります。レールでできることは無限にありますので、何もしないもの感覚や誰も前にやったことはありません。これらの状況の中には、Railsがエスケープ処理をしないものもあります。 – jrochkind
Ruby on Rails *を扱う**極端なケース**とエスケープしない*の2つの例を教えてください。 – user12882