問題タブ [html-injections]
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.
php - 同じキーを保持しながら配列を複製するにはどうすればよいですか?
Ok。引数を取り、危険なhtml文字を文字エンティティに置き換えて同じ引数を返す単純な(っぽい)関数を作成しました。
この関数は、文字列、配列、または 2D 配列のいずれかを引数として取ることができます。3D 配列以上はサポートされていません。
機能は次のとおりです。
この関数は機能しますが、問題は、元の配列の配列キーを維持する必要があることです。
この関数の目的は、文字通りデータベース クエリから結果セットを渡し、安全な HTML 文字ですべての値を取得できるようにすることでした。したがって、明らかに、配列内のキーはデータベース フィールドの名前になり、現時点で私の関数はこれらを数値に置き換えています。
そうです、配列キーがそのままの状態で関数に渡された同じ引数を戻す必要があります (配列が渡された場合)。
それが理にかなっていることを願って、提案をいただければ幸いです。
c++ - http プロキシ JavaScript インジェクション
C++ の単純なプロキシ ソースがあります。一部の html コンテンツを特定のページに挿入するように変更しようとしています。私はそれを機能させることができましたが、何かを挿入するたびに、元の html の一部が破損します。送信する前に結果を出力して問題ないため、文字列処理関数ではないことは事実です。HTML は一度に 1460 バイト送信され、各チャンクの先頭に改行に続く 3 文字の文字列があり、最後に改行と 0 があります。
例:
私は検索して、これらの 3 つの文字が何を表しているかを理解しようとしています。残りのコンテンツの長さは 16 進数ですか? 多分ある種のハッシュ?しかし、何も見つかりません。しかし、私はそれらが問題の原因であると推測しています。ヘルプ/洞察をいただければ幸いです。
ruby-on-rails - Rails 3 HTML インジェクション
現在、 http: //www.buildingwebapps.com/learningrails の Learning Rails Screencasts に従って、Rails 3 で動作するように必要な変更を行っています。しかし、10 番目のエピソードで、データベースから HTML コードをレンダリングするときに問題が発生しています。 . チュートリアルの Page モデルには、各ページの html が配置される body フィールドがあります。ビューア コントローラの「show」メソッドは、データベースから Page を取得し、@page.body のコンテンツをビューに生成します。ただし、h1 などのタグを適切にレンダリングする代わりに、ブラウザーで html ソースを表示すると、タグが <h1;@gt としてレンダリングされます。これを修正する方法はありますか?
参考までに、私の「表示」ビューは次のとおりです。
sql - 私のウェブサイトでのJavascriptインジェクション
私はこの概念に慣れていないので、コードへのSQLインジェクションとJavaScriptインジェクションと呼ばれます。誰かが私のすべてのphpページにコードを入れて攻撃し続けています。攻撃者は常にこのコードで攻撃しており、サイトにはそのような「マルウェアが検出されました」と表示されます。挿入されたコードは次のようになります
攻撃者がすべてのページを絶えず攻撃している方法を誰かがガイドできますか?鉱山はトラフィックの多いWebサイトです。どんな提案も非常に高く評価されています。
よろしく、phphunger..。
javascript - Javascript インジェクションを除外する
<script>
タグと Javascript タグを許可しないように検証コードを入れたテキストエリアがありますが、ユーザーは のような説明を入力できます<strong onmouseover=alert(2)>
。
したがって、誰かがこの文字列タグの上にカーソルを置くと、JS アラート ボックスが表示されます。
この種の JavaScript インジェクションを停止するにはどうすればよいですか?
asp.net - コード インジェクションを防ぐ方法 Windows サーバー 2008 R2 .aspx
PCI ガイドラインに準拠する必要があるサイトの世話をしています。しばらく前に多くの作業を行った後、最終的に PCI セキュリティ チェックに合格しました。最近また失敗し始めました。これは、セキュリティ チェックに新しいテストが追加されたためだと思われます。
現在、チェックが不平を言っているのは、サイトへのコード インジェクションの可能性です。これは、その内容の 1 つの例です。
Firebug を使用してソース コードを調べると、私のコードに対してこれが行われていることがわかります。
Ok。それ自体は害はありませんが、彼らが何をしようとしているのかがわかります。
彼らが提供する他の非常に類似した例がありますが、それらはすべて単独で同じ種類の線です.
この種のものから実際にどのように保護できますか?そして、それは有害ですか?
前もって感謝します。
php - HTMLインジェクションからの保護
$words = htmlspecialchars($_POST['name']);
だから私はあなたが特殊文字をエスケープしていくつかのhtmlインジェクションを防ぐためにphpでできることを知っています。
しかし、実際にPHPコードに実装するのに問題があります。サイトの閲覧者に表示しているものを表示する前に使用する必要があると読んでいましたが、その方法がわかりません。私はPHPの初心者です。
だから私はSQLインジェクションの部分を行うことができましたが、これが私が上で説明したように私が立ち往生しているコードの部分です。
タイトルブログとタグのHTMLインジェクションを防止しようとしています
私の他のものからのサンプルコードが必要な場合は私に知らせてください。私にはこれで十分だったようです。
c# - 開始 BODY タグの直後に HTML コードを挿入する
ASP.Net webforms ページのオープン BODY タグの直後に HTML スニペットを挿入するサンプルはありますか? このコードの位置付けは非常に具体的です。
最初の HTML は次のようになります。
結果の HTML は次のようになります。
これは、HTML を直接操作できないシナリオであり、javascript がこれを行うには遅すぎて、追加の HTML が役に立ちません。これは、サーバー側のコードを使用して、HTML が Web ブラウザーに送信される前に行う必要があります。
javascript - html を注入した後、キャッシュされた jQuery セレクターは、キャッシュされていないセレクターとは異なる結果を返します
解決策を見つけました!わざわざ回答を作成しないでください
html を 2 回注入していたことがわかりました。1 回目はセレクターを作成する前で、2回目は未完成のリファクタリングのためです。したがって、DOM の関連部分を上書きします。ただし、キャッシュされたセレクターは依然として古い DOM 部分を参照していたため、ガベージ コレクションの対象から外れていました。もちろん、古い部分を変更しても、新しい部分には何の影響もありませんでした。これは、jQuery に新たに選択を行わせることで明確に示されました。
質問
ウィジェットを作成しようとしています。スクリプトを実行した後、ウィジェットは特定のコード タグ (以下では $rootElem として参照) を持つ を見つけ、HTML コードの一部をダウンロードして、この div に挿入します。これを行った後、入力要素へのイベントのアタッチ、スライダーなどの UI 要素の構築を開始します。
私の知る限り、html を DOM に挿入した後、結果の DOM は、最初から html を持っているのと同じになるはずです。jQuery は別のことを考えていることがわかりました。具体的に言うと、最初に html を挿入し、次にセレクターの結果を見つけてキャッシュし始めます。
次のコード ブロックは同等である必要があります (同じことを行います)。のような html の一部を のような<span>awaiting calculation ...</span>
ものに変更し<span>1234</span>
ます。そして、見よ、すべての html を同じドキュメントに入れると (挿入するのではなく)、実際には同じことを行っています。
後で取得するためにセレクターの結果をキャッシュする
毎回セレクションを行う
しかし、ウィジェットの HTML コードをメイン ドキュメントから移動し、それを操作する前に挿入すると、キャッシュされていない (後者の) バージョンのみが機能します。実際、最初のものもうまくいくようです。匿名関数にブレークポイントを設定すると、奇妙なことが起こっていることがわかります。
同じ要素を検索する場合よりも、キャッシュされた jQuery セレクターが別の DOM 要素 (変更は表示されていません) を指しているように見えます。これは、ウィジェットの html がページにコピー アンド ペーストされた場合ではなく、html を挿入する場合にのみ発生します。何が起こっているのか説明したい人はいますか?
これは、Chrome と Firefox の両方で発生します。
メイン ページの html ビットは次のようになります。
ウィジェットの html
html を挿入するコード