問題タブ [csrf-protection]

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 投票する
5 に答える
41562 参照

angularjs - Laravel APIを使用してAngularJSフォーム内でcsrf_token()を送信するには?

angular + laravel rest アプリケーションを構築しようとしています。データベースのビューを取得できます。新しいアイテムを追加しようとすると。csrf500 errorトークンが一致しないというメッセージが表示されます。私のフォームのレイアウトは次のとおりです。

これは、アイテムをデータベースに追加しようとする方法です:

アプリケーションに使用するフィルターは次のとおりです。

私のブレードビューでは、これを使用して動作します:

HTML フォームを使用するときに csrf_token を送信するにはどうすればよいですか?

ありがとう

編集 1: このようにポスト リクエストにヘッダーを追加しても、エラーは発生しません。

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

rack - この Rack::Protection::FormToken がセキュリティ上の問題になるのはいつですか?

Rack::Protection::FormTokenのヘッダー コメントには次のように書かれています。

このミドルウェアがセキュリティ上の問題になる例を誰か説明できますか?

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

php - laravel 4: Request::header() が指定されたヘッダーを取得しないのはなぜですか?

私はヘッダー値を取得しようとしています:

Request::header('csrf_token')

ただし、私の firebug は、csrf_token が に設定されていることをヘッダーに示していbaMDpF0yrfRerkdihFack1Sa9cchUk8qBzm0hK0Cます。実際、csrf_token代わりにネイティブ php コードを使用して取得できます。

getallheaders()['csrf_token']

ここで問題は、XSRF 保護を正しく行っているかどうかです。または、私が行ったphpコードに欠陥があり、バグのあるlaravel 4関数を実際に使用する必要がある

Request::header('csrf_token')

これは何も返しません。そして、私は何かを逃しました。おそらく私のLaravel 4構成などで?

PS: 私は AngularJS を使用していますが、どのクライアント側を使用してもかまわないかもしれません。ガイドとしてこのリンクがあります: Laravel API を使用して AngularJS フォーム内で csrf_token() を送信する方法は?

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

php - CSRF PHP 防止メカニズム

私は CSRF に関する多くの記事を読みましたが、それらのほとんどすべてが非表示のトークンである同じ解決策を持っているため、CSRF を防止するコードを書き、その後自分のページをハッキングしようとしましたが、うまくいきませんでした。私のコードはCSRF防弾であり、とにかくその周りにある場合。

フォームが含まれる 4 つのページがあるため、各ページに次のように記述します。

この方法は、攻撃者が私の Web サイトで CSRF を使用するのを阻止するのに十分でしょうか?

どうもありがとう。

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

php - CodeIgniter 2、プロファイルの編集時に Ion Auth が CSRF エラー メッセージを表示する

CodeIgniter バージョン 2.1.4 とIon Authをかなり長い間使用してきましたが、すべてうまく機能していました。昨日、Ion Auth を最新バージョンに更新しましたが、ユーザー プロファイルを「編集」しようとすると CSRF エラーが発生します。

「このフォーム投稿はセキュリティ チェックに合格しませんでした。」

controllers/auth.phpさまざまな Ion Auth ビューが独自のテンプレートに読み込まれるようにファイルを変更すると、このエラーが発生します。結局のところ、これを自分のサイト デザインに統合できなければ、これが何の役にも立ちません。 ただしauth.php、コントローラーがまったく変更されていない場合でも、古いバージョンの Safari でもこのエラーが発生します。

これは、auth.phpコントローラ ファイルに対する単純な変更です。

この行を置き換えました:

この行で:

はい、私のload関数 ( にあるTemplate.phpファイル内/libraries/) は最初から (何ヶ月も前) 正常に動作しています。Ion Auth の新しいバージョンでも、テンプレートの読み込み機能は動作しています... しかし、上記のようにセキュリティ エラーが発生し続けます。


いくつかの調査を行った後、エラーの原因は Ion Auth の CSRF セキュリティ ルーチンです。これら 2 つの関数はコントローラ全体で呼び出され、関数が を返すauth.phpたびに上記のエラーを表示します。_valid_csrf_nonce()false


一時的な (または恒久的な?) 回避策として、CodeIgniterconfig/config.phpファイルの 298 行目で「CSRF 保護」オプションを有効にしました。

true次に、常に関数から戻ることで、Ion Auth の CSRF 保護を抑制しました。


ただし、ここで根本的な原因を理解したいと思います。古いブラウザを使用したり、独自のテンプレート内に Ion Auth ビューを配置しようとしたりするだけで、これらすべての CSRF エラーが発生するのはなぜですか? すべてが同じドメインを使用する同じサーバー上にあります。

(編集: はい、CIsessionライブラリは自動ロードされており、明らかに正常に動作しています。結局のところ、ログインしたままにすることができます。)

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

php - CSRF トークンの複数タブの問題

すべての投稿方法で自分の Web サイトに CSRF トークンを実装しています。しかし、別のタブで自分の Web ページにアクセスすると、両方のページでトークンが変更され、トークンが一致しなくなります。私のトークンはDOMに保存されており、SESSIONを使用してトークンを照合しています。これを解決する方法。