問題タブ [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.
angularjs - Laravel APIを使用してAngularJSフォーム内でcsrf_token()を送信するには?
angular + laravel rest アプリケーションを構築しようとしています。データベースのビューを取得できます。新しいアイテムを追加しようとすると。csrf500 error
トークンが一致しないというメッセージが表示されます。私のフォームのレイアウトは次のとおりです。
これは、アイテムをデータベースに追加しようとする方法です:
アプリケーションに使用するフィルターは次のとおりです。
私のブレードビューでは、これを使用して動作します:
HTML フォームを使用するときに csrf_token を送信するにはどうすればよいですか?
ありがとう
編集 1: このようにポスト リクエストにヘッダーを追加しても、エラーは発生しません。
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() を送信する方法は?
php - CSRF PHP 防止メカニズム
私は CSRF に関する多くの記事を読みましたが、それらのほとんどすべてが非表示のトークンである同じ解決策を持っているため、CSRF を防止するコードを書き、その後自分のページをハッキングしようとしましたが、うまくいきませんでした。私のコードはCSRF防弾であり、とにかくその周りにある場合。
フォームが含まれる 4 つのページがあるため、各ページに次のように記述します。
この方法は、攻撃者が私の Web サイトで CSRF を使用するのを阻止するのに十分でしょうか?
どうもありがとう。
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
ライブラリは自動ロードされており、明らかに正常に動作しています。結局のところ、ログインしたままにすることができます。)
php - CSRF トークンの複数タブの問題
すべての投稿方法で自分の Web サイトに CSRF トークンを実装しています。しかし、別のタブで自分の Web ページにアクセスすると、両方のページでトークンが変更され、トークンが一致しなくなります。私のトークンはDOMに保存されており、SESSIONを使用してトークンを照合しています。これを解決する方法。