問題タブ [html-escape]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby-on-rails - Rails 3 で <%= note.html_safe %> と <%= h note.html_safe %> が同じ結果になるのはなぜですか?
何が起こっているのかを理解する必要がある String クラスに抽象化を追加するように感じhtml_safe
ます。たとえば、
4 行目で、文字列を信頼すると言っている場合、文字列は安全ですが、なぜエスケープできないのでしょうか? でエスケープするにh
は、文字列が安全でない必要があるようです。
したがって、1 行目で、文字列が でエスケープされていない場合、h
自動的にエスケープされます。5 行目でh
は、文字列を 2 回エスケープすることはできません。つまり、<
が に変更された後<
、 にもう一度エスケープすることはできません&lt;
。
それで、何が起こっているのですか?html_safe
最初は、文字列にフラグを付けて、安全だと言っているだけだと思っていました。では、なぜそれをh
回避しないのでしょうか。h
フラグの使用にhtml_escape
実際に協力しているようです:
1) 文字列が html_safe の場合、h
エスケープしません
2) 文字列が html_safe でない場合、文字列が出力バッファに追加されると、 によって自動的にエスケープされh
ます。
3)h
すでに文字列をエスケープしている場合は とマークされhtml_safe
ているため、もう一度エスケープしてh
も効果はありません。(5行目と同じように、その動作はRails 2.3.10でも同じですが、Rails 2.3.5h
では実際に2回エスケープできます...したがって、Rails 2.3.5ではh
単純なエスケープ方法ですが、どこかで2.3.10 への行はそれほどh
単純ではなくなりました.しかし、2.3.10 は文字列を自動エスケープしませんが、何らかの理由で、メソッドhtml_safe
は 2.3.10 用に既に存在します (何の目的で?))
それはまさにそれがどのように機能するのですか?最近では、出力に必要なものが得られず、すぐにhtml_safe
変数に追加することがあると思いますが、これは非常に危険な場合があります。XSS 攻撃がそのように導入される可能性があるため、正確にどのように機能するかを理解することが非常に重要になる可能性があります。上記は、正確にどのように機能するかの推測にすぎません。それは実際には別のメカニズムである可能性があり、それをサポートするドキュメントはありますか?
ruby-on-rails - ruby on rails のデータ移行で html エスケープを元に戻す
私はデータベースを持っていますが、現在、その中のアイテムの多くは html エスケープされています。これを元に戻す必要があり (理由は聞かないでください!)、そのためにデータ移行を実行します。
しかし、これらの文字列をエスケープ解除する方法はありますか? 私は何も見つけることができませんでした..
ruby-on-rails-3 - erbタグのHTMLコードをエスケープしないようにする方法
Rails プロジェクトのビューの 1 つにいくつかの単純な erb コードがあります。
<%= comment.body %>
フォーマット情報があるため、comment.body の html タグを保持したいと思います。テキストがデータベースに適切に保存されていることを確認しました
<b>hello</b>
しかし、私が期待するように、ページ上でこんにちは<b>hello</b>
ではないことが判明しました。
これはどうやってできるの?私は<%= h
htmlコードをエスケープするために使用していません。
逃げないようにするにはどうすればいいですか?私は Rails 3 を使用しています。これは問題ですか?
ruby-on-rails - Rails 3.1 にアップグレードした後、html_escape が壊れているようです
80beans のオランダ人による WYSIWYG エディター「wysihat-engine」を使用するプロジェクトがあります。以前は Rails バージョン 3.0.9 で正常に動作していましたが、3.1.0 にアップグレードした後、wysihat-engine は ERB::Util (ActiveSupport 3.1.0) から 'html_escape' を見つけることができず、次のエラー メッセージが表示されます。
'wysihat-engine.rb' 内で 'html_escape' を定義することにより、(確かに非常に不自由に) 修正しましたが、この方法で実行しない理由があると確信しています :)。
私の質問: 1. これは Rails の新しいバージョンのバグですか? 2. Rails 3.1 プロジェクト用の WYSIWYG エディターのより良い選択肢はありますか?
前もって感謝します 。
underscore.js - _.escape が Underscore.js の / 文字を変更するのはなぜですか?
Underscore.js apiを調べていたところ、、、、、、、および文字が_.escape
エスケープ&
さ<
れ>
ていることに気付きました。驚いたのは逃げること。"
'
/
/
/
知らない文字をエスケープする理由はありますか?
ruby-on-rails - Rails: セパレーターに html を含む array.join はエスケープされます
保存されていないコンテンツ (ユーザー入力) を含む文字列の配列があります。
で区切られたこれらの文字列をテンプレートに結合したいと思い<br />
ます。
私は試した:
しかし、これもスパレーターを逃れます。
配列の内容を絶対にエスケープする必要があることを念頭に置いて、回避策はありますか?
jsf - 実際の HTML ではなく HTML をそのまま印刷する
私はJSF 1.2を使用しています
を使用してテキストを印刷しようとしています<h:outputtext>
現在、この変数には html タグ付きのテキストが含まれています。<b>
など<i>
...
ただし、実際の太字または斜体の html 出力ではなく、コンテンツをそのまま表示します。
<h:outputText>
HTML応答を返すようにする方法はありますか?
json - Node.js - HTML エスケープを JSON データ、サーバー側、またはクライアント側に行うのはいつですか?
Node.js と Underscore.js を使用しています。サーバー側とクライアント側のどちらで JSON データをエスケープするかを判断できません。アンダースコアは、構文では補間された値を自動エスケープしません<%= someValue %>
が<%- someValue %>
、EJS とは対照的であり、混乱を引き起こす可能性があります。GitHub に問題があり、自動エスケープ バージョンのコミットもありました。しかし、問題の下のコメントは次のように述べています。
私は、エスケープはテンプレート言語よりもデータの近くで行うべきであるという一般的な哲学を持っています
では、AJAX データへの HTML エスケープをいつ行うのがよいかという提案はありますか? 私が使用しているサーバー側のヘルパー関数は次のとおりです。
次に、JSON を返すたびに呼び出します。
java - HTMLエスケープ文字をJSPからJavaにエスケープ解除するにはどうすればよいですか
私はHTMLエスケープを行うためにJSPfn:escapeXml
の入力値(たとえば)に適用しています。>
フォームを送信するとき、パラメーターをコントローラーに送信する必要があります。私のコントローラーでは、リクエストパラメーターはとして>
ではなくとして来ます>
。このため、元の値を取得するためにコントローラーでエスケープを解除できませんでした。誰かがこれを手伝ってもらえますか?
c++ - QString を html エスケープするにはどうすればよいですか
HTML を含む QString をエスケープ/サニタイズするにはどうすればよいですか?
いえshowInBroswser(escaped(str)) == showInNotepad(str);