をてhrefに指定されたモデルの属性でのlink_toを使用して:のRails:防止XSS例LINK_TO次のことを考慮すると
link_to "Personal Website", @user.website
私はXSS攻撃に対してそれを保護するにはどうすればよいです。 ユーザーテーブルが外部DBにあるため、信頼できません。私はsanitizeとhを使用して異なるアプローチを試しましたが、javascript:alert('XSS')
で自分のローカルDBユーザーのWebサイトに置き換えたときに、リンクをクリックしてもjavascriptが実行されています。コントローラに:あなたは "JavaScriptを" 削除することができ、事前に
おかげで、
あなたの答えをありがとう。 –
私の回避策はあなたの最初の提案です。私はbrakemanを使用しており、link_to hrefの '危険なモデル属性 'について警告しています。だから私は必要なコントロールを扱うヘルパーで 'get_user_url'メソッドを使いました。 BrakemanはもうXSS攻撃について警告しておらず、少なくとも 'javascript:'は実行されていません。しかし、あなたが言ったように、それはちょっと醜いので、それはもっとエレガントなレールの方法かもしれないと思ったのです。 'Content-Security-Policy'の提案に感謝します。私はHTTP応答ヘッダーについてもう少し詳しく掘り下げる時間をとったが、それは有益なものだった。 –