国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

選択ボックス オプションの js.erb テンプレートを更新 - XSS を安全に処理し、テキストを正しく表示します
P粉674757114
P粉674757114 2024-03-31 00:36:22
0
1
832

Rails アプリケーションで .js.erb ファイルをレンダリングしています。このファイルでは、選択ボックスのオプションを更新しています。

最も重要なことは、XSS 安全な方法で実行することです。このスタック オーバーフロー ソリューションに基づいて、OWASP DOM ベースの XSS 防止チートシートを參照して、次の方法で選択ボックスのオプションを更新します。

1つ試してみる リーリー

  • 問(wèn)題: blog.name の表示テキストは HTML エンコードされています。たとえば、「Johnson & Johnson」のテキストは「Johnson & Johnson」となります。アポストロフィなどの他の特殊文字にも同じ表示の問(wèn)題が発生します。

2 つ試してみる

Rails に

html_safe メソッドがあることは知っていたので、それを使ってみました。 "<%= blog.name %>";" < ;%= blog.name.html_safe %>";。

  • 問(wèn)題: blog.namealert("Gotcha"); に設(shè)定して XSS をテストすると、次のエラーが表示されます: option at all has更新されていません。結(jié)局のところ、問(wèn)題は、このコンテキストで html_safe を使用すると、アプリケーションが二重引用符をどうすればよいのかわからないことのようです。

3 つ試してみる

この方法は

効果的だと思われます。オプションが更新され、表示テキストは正常に機(jī)能しますが、表示テキスト alert("gotcha"); を持つオプションはテキストとして表示されるだけで、コードとして実行されません。 リーリー

    質(zhì)問(wèn):
  • これが安全かどうかわかりません。 j (escape_javascript のエイリアス) は安全ではないという記事を見(jiàn)たので、よくわかりません。
  • 安全かつテキストを正しく表示する方法で、
.js.erb

テンプレートから選択オプションを更新する方法が不明です。

P粉674757114
P粉674757114

全員に返信(1)
P粉594941301

私の理解を伝えてみてください:

  • 1つ試してみる

特殊文字を デコードすることはできますが、これは Rails の方法ではありません。

    2つ試してみる

html_safe は文字列の結(jié)果が安全であることを保証しませんが、文字列內(nèi)の HTML タグを HTML 形式で表示できるように文字列が安全であることを明示的に指定しているため、問(wèn)題は解決されません。 XSS の問(wèn)題。 リーリー

    3つ試してみる
この記事

によると、escape_javascript を一重引用符または二重引用符で囲んで使用しても安全です。 リーリー したがって、試行 3 は XSS 安全で Rails の方法であるため、推奨されます。

コードは次のように簡(jiǎn)略化できます:

リーリー
最新のダウンロード
詳細(xì)>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート