問題タブ [csrf-token]

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

php - エラー: 419|ページの期限切れ (Laravel 6.0 -Mysql)

トークンをフォームに追加し@csrf、ヘッダーのメタタグに追加しましたが、それでも同じエラーが発生します。登録すると機能し、ホームページにリダイレクトされます。それは問題ありませんが、資格情報は問題ありませんが、ログインしてもホームページにリダイレクトされません。

Login.blade.php

WEB.PHP

LoginController.php

0 投票する
0 に答える
87 参照

haskell - Yesod 非 AJAX HTML フォーム CSRF トークン

Yesod で CSRF 保護ミドルウェアを有効にしました。

私のjQuery AJAX呼び出しは機能しており、通常の足場に従ってCSRFトークンがヘッダーに追加されています。

これで、 Yesod によって生成されたものではない、通常の HTML "POST" フォームができました。CSRF 保護トークンを非表示の入力として含めたい。

これまでのところ、私はこれを持っていますExampleHandler.hs

( Yesod 1.2 CSRF 保護の Snoymaster に感謝します)

そしてでexample.hamlet

この1つのフォームが機能します。

ハンドラーがたくさんあるので、トークンを取得するために、すべてのハンドラーにコード (または関数) を貼り付けたくありません。また、すべての HTML フォームを AJAX に変換したくありません。

上記のトークン取得スニペットを に貼り付けて、Foundation.hsどこでもトークンを取得しようとしましたが、次のようになります。

example.hamletが引き込まれるハンドラーの行。

csrftokenすべてのハンドラーでスコープ内の変数を取得するにはどうすればよいですか?

生成されていない HTML フォームに CSRF トークンを取得するより良い方法はありますか?

Haskeller と Yesod ファンに感謝します

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

php - laravel 6.2でデータテーブルでajaxを使用するとCSRFトークンが一致しません

データ テーブルのデータから CSV、Excel、PDF ファイルを生成しようとしています。

私のコードは次のとおりです-

web.php で

In ExpenseController

そして、最後に script タグで

ページをロードするたびにCSRF、トークンが正しい場合でも、トークンが一致しないというエラーが発生します。

何をすべきですか?

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

laravel - Cookie と html での CSRF トークンの不一致

CSRFトークンを「適切に」取得するにはどうすればよいですか?

Axios を使用して Vue SPA にログインしようとしています。

Auth::routes();によって生成されたルートを除いて、すべてを Vue コンポーネントに変更しましたphp artisan ui:auth。したがって、フォームで使用できなくなり@csrf、axios のヘッダーを介して csrf トークンを送信する必要があります。Laravel によって Cookie に与えられた XSRF TOKEN が HTML で取得したものと異なることに気付くまで、ほぼすべてを 2 日間試しました...下の写真を参照してください。

これは開発者ツールから来ています。

ここに画像の説明を入力 ここに画像の説明を入力

app.blade.php

これを追加したので、CSRFトークンを取得してaxiosヘッダーに添付できます。

ここに画像の説明を入力

console.log() を実行すると、別のトークンが表示されます。 ここに画像の説明を入力

console.log() のときに取得するトークン:o3nQRW6IqiKdNGOdiHc59pYXXD3sBw8YfbpCPvf7

ここに画像の説明を入力

Cookie から CSRF トークンを取得してから ? を使用しないのはなぜdocument.cookieですか?、同じことです。console.log() するたびに一致しません。

これが間違いなく、私が何をしても、常に 419 エラー CSRF トークンの不一致が発生する理由です。何が原因でしょうか?

注:ファイル内でのみ使用しAuth::routes()ていapi.phpます。には何もありませんweb.php。奇妙なことに、一度ユーザーを登録できましたが、同じ問題が原因で二度と登録できませんでした。