私はいくつかの入力パラメータを持っています。私はサニタイザを使用するようにXSS攻撃を防ぎたいと思っています。 JavaScriptタグを使用してデータを保存しないようにするには、サニタイザを使用する方法が2つあります。以下のような消毒各個々のparam使用するためのすべてのアクションにおいて
1):ルビで一度入力したすべてのユーザーをサニタイズする方法はありますか?
Book.create(title: ActionController::Base.helpers.sanitize(params[:object][:title])
2)ように作成し、モデル内の更新に関数を定義する:
before_validation :sanitize_title,:on => [:create,:update]
def sanitize_title
self.title = ActionController::Base.helpers.sanitize(self.title)
end
しかし問題されていますこれらの機能が増加すると、列とパラメータが増加し、応答速度に影響する可能性があると考えました。すべてのパラメータを一緒に浄化する方法はありますか?
私はjsタグを含んでいるかどうかに関わらずデータを保存していますが、私の応答(jbuilder)ではデータを扱うかどうかはデータを保存することを意味しますか? –
それは、どんな技術でも、ジェンソンを衛生的にすることになっています。正当な理由がない限り、HTMLはJSON形式で送信する必要があります。 – Ven
申し訳ありませんが、私はあなたが意味するものを得ませんでした。あなたは、それが何であるかを見て、パラメを保持しなければならないということですか? –