問題タブ [replay]
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.
asp.net - ASP.NET リプレイ攻撃の再検出
OK ASP.NET WebForms は今では古いテクノロジですが、当面は使い続ける予定です。非常に基本的なリプレイ攻撃防止メカニズムを組み込むことができるかどうかを確認しようとしています。基本的には、ユーザーが明示的にログアウトした後、誰も古いリクエストを再生できず、認証 Cookie に基づいて自動的に認証されるようにしたいのですが、それを望まないユーザーが永続的な認証 Cookie を使用できるようにしたいと考えています。新しいブラウザ セッションごとに再ログインします。後者のケースで私が観察したことから、ブラウザを終了して新しいセッションを開始すると、何もありませんCookie ヘッダーのセッション ID - フォーム認証 Cookie のみ。この場合、自動認証を許可します (少なくとも GET リクエストに対して)。「再生」の場合、Cookie ヘッダーにセッション ID がありますが、ASP.NET は実際には同じ ID を使用して新しいセッションを自動的に再作成します。幸いなことに、これを検出できます (Session.IsNewSession と Request.Headers["Cookie"] をチェックすることにより - 奇妙なことに、クライアントから送信されていない場合でもセッション Cookie を含む場合がある Request.Cookies ではありません)。ユーザーがログアウトしたときに閉じられた/放棄されたセッションのセッション ID をクライアントが送信した場合に、再ログインを強制することができます。
しかし... リプレイ アタックが意図的にセッション ID を省略した場合、認証 Cookie が永続 Cookie である場合、これを正当なブラウザー リクエストと区別する実際の方法はありません。このような場合、少なくとも「POST」リクエストをブロックできますが、リプレイ攻撃では、最初に GET を発行して新しいセッションを確立し、その後に POST を送信することができます。私が本当にwant は、ユーザーがログアウトすると、そのセッションを承認するために使用された Cookie 値が無効になったことを判断する方法です。DB に何かを保存する必要があると思います (現在有効な Cookie 値のリストである可能性が最も高い)。 、この時点で正当化できる以上の努力のようです。しかし、それ以外のもの (フォームで非表示の nonce フィールドを使用するなど) は、永続的な認証 Cookie を使用して新しいセッションを再確立するユーザーをエミュレートするだけのスクリプトになりやすいようです。 nonce フィールド値などです。ですから、どの認証 Cookie 値がまだ有効であるかを (本質的に) 追跡するために何かをサーバー側に保存する必要があると私が正しいと仮定すると、既知の低フットプリント/よく知られているライブラリはありますか?これを行う?
(ところで、今のところ、認証チケットで IsPersistent フラグを使用しています。これが false の場合、つまり、ユーザーがセッションごとの Cookie のみを使用することを明示的に選択した場合、次のブラウザー セッションで再ログインする必要があることがわかっています。 、その後、リプレイ攻撃を確実にブロックできます.しかし、trueの場合、「POST」リプレイのみをブロックするため、実際の保護はあまり提供されませんが、少なくともより洗練されたリプレイ攻撃を懸念しているユーザーは、常にセッションごとを選択することでそれらを防ぐことができます.認証)。
oracle - オラクルのアプリケーション・コンティニュイティは、RAC 実装でのみ機能しますか?
Oracle の Application Continuity は RAC 実装でのみ機能しますか、それとも単一の Oracle インスタンスでも機能しますか。
RAC を持たない Oracle db ベースのアプリケーションにアプリケーション継続性を実装しようとしています。Oracle DB インスタンスは 1 つしかありません。ここでの私の質問は、AC は RAC なしで機能するかということです。
datasource - Oracle Application Continuity - Replay DataSouce を取得できません
再生可能なデータソースを取得できません (コードは以下に添付されています)。
以下は、上記のコードから取得したシステム プリントです。これは、接続インスタンスが再生可能なタイプではないことを示しています。
接続ファクトリ セット URL jdbc:oracle:thin:@(DESCRIPTION = (TRANSPORT_CONNECT_TIMEOUT=3) (RETRY_COUNT=20)(FAILOVER=ON) (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) ( CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl))) プールが構成 されています。接続を取得しようとしていますが、これはリプレイ データ ソースではありません。なぜだめですか?
以下のサイトからコードを入手し、少し修正してスレッドを追加し、AC をシミュレートしました。しかし、再生可能なデータソースを取得できません。
https://martincarstenbach.wordpress.com/2013/12/13/playing-with-application-continuity-in-rac-12c/
oracle - Oracle DB - アプリケーション・コンティニュイティ - テスト方法は?
アプリケーションの継続性の概念をテスト/POC する方法。アプリケーションが接続を取得できず、プールから取得しようとするように、接続を保持するコードを作成しようとしました。これがアプリケーションの継続性をテストする正しい方法ではないことは確かですが、適切なシナリオを作成する方法がわかりません。
トランザクションの進行中にデータベースをダウンさせる唯一の方法ですか?
以下のコードを使用して、毎回新しい接続でプロシージャが 20 スレッドで 20 回呼び出される AC をシミュレートしました。私は、1 つのスレッドが接続を待って接続を待ち、時間内に接続を取得できなかったためにタイムアウトし、接続を取得するために引退するシナリオを作成しています。IS これは適切な AC テストです。(以下はテストクラスです)
以下のサイトからコードを入手し、少し修正してスレッドを追加し、AC をシミュレートしました。しかし、再生可能なデータソースを取得できません。
https://martincarstenbach.wordpress.com/2013/12/13/playing-with-application-continuity-in-rac-12c/
arduino - Arduino Nano と Sim900 モジュールを使用して送信者にメッセージで返信
私はarduino NanoとSim900モジュールを使用しています。メッセージが受信されたら、Arduino が"thanks"
送信者に返信するようにします。私のメッセージ受信関数コードは次のとおりです。
それは機能しますが、メッセージから送信者番号を取得するにはどうすればよいですか?