問題タブ [nonce]

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.

0 投票する
1 に答える
1308 参照

javascript - 各関数またはすべての AJAX 呼び出しのナンス?

WordPressが使用するナンスを使用しています。これは追加のセキュリティ対策であり、サーバーに送信され、数時間以内に変更されるハッシュです。

そのハッシュが存在しない場合、リクエストは無効になります。

私が取り組んでいるページには、多くのAJAX 呼び出し (約 20 程度) があります。現在、それぞれに固有のノンスがあります。それは必要ですか?すべてのリクエストに使用される1つの一般的な「AJAX」ナンスでそれを維持する必要がありますか?

0 投票する
5 に答える
109778 参照

php - ノンスを作成して使用する方法

私はウェブサイトを運営していますが、ゲームをプレイした回数に応じてポイントを獲得できるスコアリングシステムがあります。

ハッシュを使用してスコアリングのhttpリクエストの整合性を証明し、ユーザーが何も変更できないようにしますが、私が恐れていたように、誰かがそれを変更する必要がないことを理解し、ハイスコアを取得して複製する必要がありましたhttpリクエスト、ヘッダー、その他すべて。

以前は、この攻撃の可能性が低いと考えられていたため、この攻撃から保護することは禁止されていました。しかし、それが起こったので、私はできます。httpリクエストはフラッシュゲームから発信され、phpによって検証され、phpがデータベースに入力します。

ノンスが問題を解決することはかなり確信していますが、それらを実装する方法は正確にはわかりません。ノンスシステムをセットアップするための一般的で安全な方法は何ですか?

0 投票する
2 に答える
1844 参照

authentication - SHA1-Blowfishの代わりにWeb認証のためのハッシュ

動作するblowfishのphp/javascript実装を見つけることができないため、SHA1ハッシュを使用してWebベースの認証を実装することを検討していますが、この特定の分野の知識が不足しているため、選択した方法が十分に安全かどうかわかりません。

計画されたロードマップ:

  1. ユーザーのパスワードは、MD5ハッシュとしてサーバーに保存されます。
  2. サーバーは公開鍵を発行します(ミリ秒単位の現在時刻のMD5ハッシュ)
  3. クライアントのjavascript関数は、ユーザーパスワードを入力として受け取り、そのMD5ハッシュを計算します
  4. 次に、クライアントは公開鍵とパスワードのハッシュを上から連結し、結果の文字列のSHA1を計算します
  5. クライアントはSHA1ハッシュをサーバーに送信します。サーバーでは、公開鍵とユーザーのパスワードMD5ハッシュを使用して同様の計算が実行されます。
  6. サーバーはハッシュを比較し、一致は認証が成功したことを示します。
  7. 不一致は認証の失敗を示し、サーバーは新しい公開鍵を発行し、すでに使用されている公開鍵を事実上期限切れにします。

さて、問題のある部分は、SHA1の前に2つのキーを連結することです。これは、ある種の統計的攻撃やその他の攻撃を受けやすいのでしょうか。

全体的な品質を向上させるためにキーを連結する必要がある特定の順序はありますか(つまり、暗号化の信頼性にとってより高いビットがより重要です)?

前もって感謝します。

0 投票する
1 に答える
1347 参照

language-agnostic - Twitter は oauth_timestamp を強制しますか?

OAuth の内部で、 field を発見しました。このフィールドの指定された動作は、これまでに受信した最高値よりもoauth_timestamp低い値を含むすべてのリクエストを拒否する必要があるようです。oauth_timestamp処理のために多数の Twitter API リクエストをキューに入れようとしていますが、生成された順序どおりに処理されない可能性があるため、この厄介な小さな項目によって 1 日が台無しになる可能性があります。

oauth_timestampしかし、Twitter は Twitter であるため、希望があります。. 私は激しく反対するので、それは素晴らしいことです。

oauth_timestampでは、Twitter API がの指定された動作を実際に強制するかどうかを知っている人はいますか?

0 投票する
2 に答える
33169 参照

security - 認証における nonce の使用

ダイジェスト ベースの認証では、nonce はサーバーによって生成されます。ただし、OAuth ベースの認証では、ノンスはクライアントによって生成されます。違いの理由を知っている人がいたら知りたいです。

0 投票する
1 に答える
1778 参照

php - Apache/PHP でナンスを管理する

ここでナンスの生成と PHP に関するさまざまな質問を調べてきましたが、ナンスの「一度」の側面を管理する詳細についての議論は見つかりませんでした。

これが私の状況です。

Web サービスにアクセスする必要がある PHP がいくつかあり、Web サービスへの要求では、PHP が nonce を生成して要求に署名する必要があります (つまり、web サービスから nonce を要求していません)。その部分は簡単です。

複数のセッションが進行している可能性がある場合にナンスの再利用を防ぐための良い解決策に苦労しています。

そう考えると、私にできることは3つあります。

1 つは、nonce/timestamp のペアをデータベースに保存し、データベースで既存の nonce をチェックし、古い nonce を失効させるなどのロジックを実装することです。これには、スレッド セーフのためにTRANSACTIONorも必要です。LOCK TABLEうん。

2 つ目は、ノンスを APC のストアに保存し (私の場合は memcached を使用できません)、TTL に有効期限を処理させることです。この場合、スレッドセーフにはロジックをラップする必要がありますか、またはsem_acquire()本当にスレッドセーフですか? これに関する私の主な関心事は、キャッシュがいっぱいであるために実際に失敗した場合に状況を処理する方法です。sem_release()apc_add()apc_add()apc_store()

3 つ目は、APC の代わりに Cache_Lite を使用することです。

他のオプションはありますか?私が知る限り、OpenID は Cache_Lite でナンスを管理するので、これが最善の解決策だと思いますが、コミットする前にすべてのオプションを確認したいと考えています。

ありがとう。

0 投票する
2 に答える
1236 参照

wordpress - WordPressプラグインのインストールリンクを生成する方法

以前に作成したプラグインを置き換え、さらにいくつかのものを追加するプラグインを作成しました。古いプラグインの設定ページに、新しいプラグインをダウンロードしてインストールするためのリンクを含むアラートを作成し、古いプラグインが開発者によってサポートされなくなったことを通知したいと思います。現在、私の管理パネルのプラグインページから、インストールリンクは次のようになります。

URIを作成するときは、少なくとも2つの点に注意する必要があるように思われます。

  1. これがマルチサイト設定であるかどうかを確認します
  2. 正しいナンスを生成していることを確認してください。

誰かがこれを適切に行う方法を知っていますか?このURIを生成するときに考慮する必要がある他の何かがありますか?

よろしくお願いします。

0 投票する
1 に答える
1594 参照

asp.net - 認証された Web フォームを介して ASP.net で Ajax リクエストを保護する

GUIDに よる AJAX リクエストのセキュリティ保護 と ajax リクエストのセキュリティ保護を既に読み ました 。次に、私のシナリオを説明しましょう。以下は、主題の説明に役立つ可能性のあるコード スニペットです。

以下は、パラメーターを送信するための JavaScript 呼び出しです。btnCreateTitle_click は、ボタン クライアント側のクリック イベントです。txtTitle は、タイトル名を受け入れるテキスト ボックスです。バリデーターは、テキストボックスも検証するためにページ上に作成されます.CreateTitleは、scriptmanagerを使用して呼び出すページメソッドです

関数 success は、タイトルが作成されたといううなるメッセージを表示し、作成されたタイトルの詳細を表示するための URL へのクエリ文字列として暗号化されたレコード ID を含むリンクを表示します。

今、切実な質問ですが、

  1. これは十分に安全ですか?私は何が欠けていますか?
  2. プロセスをより安全かつ迅速にするにはどうすればよいですか?
0 投票する
1 に答える
5300 参照

php - 失敗したナンス検証に対処するための最良の方法は何ですか?

私はノンスについて漠然と理解していますが、少し混乱しています。

ノンス検証が失敗した場合の正しい応答は何ですか?

どのような状況でナンス検証が失敗する可能性がありますか?本物のユーザーへのリスクは何ですか?

0 投票する
1 に答える
574 参照

ajax - WordPressプラグインでメタボックスの位置を保存できません

カスタムメタボックスでいっぱいの一種のダッシュボードを表示するWordPressプラグインを開発しています。ハンドルの開閉とドラッグを正しく機能させることができました。ただし、これらの画面のカスタマイズは保存されません。ページをリロードすると、すべてがデフォルトの構成になります(実際には、すべてのメタボックスが開かれ、コードのadd_meta_boxの順序に従って並べ替えられます)。

このナンスコードを管理ページに追加しましたが、何も変更されていません。

私はおそらく何か他のものを忘れましたか?