問題タブ [authenticity-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.
ruby-on-rails-3 - Rails 3で認証トークンが変更されない
私のアプリケーションは Rails 3 を使用して構築されており、application.html.erb に csrf_meta_tag を追加しました。
Authenticity トークンはユーザーごとに変化しますが、トークンはセッション全体で同じです。つまり、put および post 要求ごとに変化しません。
この問題を解決する方法はありますか?
ruby-on-rails-3.2 - CSRF トークン セッションがリセットされる
私はRails 3.2.3をセッションにactive_record_storeとともに使用しています。
私が理解しているのは、Rails の CSRF トークンはセッションに保存され、reset_session が呼び出されるか、何らかの理由でセッションが破棄されない限り、リセットされるべきではないということです。
ただし、リモート フォームが ajax 経由で読み込まれる特定の場所では、そのページの META タグで指定されたものとは異なる認証トークンが含まれます。したがって、そのフォームの送信時に無効なトークン エラーと reset_session が発生します。
session[:_csrf_token] が破棄されて新しいトークンが作成されるのはなぜですか?
ruby-on-rails - Cucumber 機能のみで、フォーム送信パラメータに Authenticity_token がありません
開発 (および本番) として実行されているときにform_submits
、私のRails 3
アプリが Cucumber のセットでリクエストを生成しない単純な理由はありますか?authenticity_token
Cucumber 機能テストの実行時にログインにリダイレクトされることを除けば、アプリは完全に機能します。
ruby-on-rails - Rails 4 認証トークン
新しい Rails 4 アプリ (Ruby 2.0.0-p0 上) に取り組んでいたとき、いくつかの認証トークンの問題に遭遇しました。
respond_to
(クラス メソッドを使用して) json に応答するコントローラーcreate
をActionController::InvalidAuthenticityToken
作成しているときに、curl
.
設定したことを確認し-H "Content-Type: application/json"
、データを設定しまし-d "<my data here>"
たが、まだ運がありません。
Rails 3.2 (Ruby 1.9.3) を使用して同じコントローラーを作成しようとしましたが、認証トークンの問題はまったくありませんでした。いろいろ調べたところ、Rails 4 の真正性トークンにいくつかの変更があったことがわかりました。私が理解していることから、フォームに自動的に挿入されなくなりましたか? これは何らかの形で非 HTML コンテンツ タイプに影響を与えていると思います。
HTML フォームを要求し、認証トークンを取得してから、そのトークンを使用して別の要求を行うことなく、これを回避する方法はありますか? それとも、完全に明白な何かを完全に見逃していますか?
編集:何も変更せずに足場を使用して新しいRails 4アプリで新しいレコードを作成しようとしましたが、同じ問題が発生しているので、私がしたことではないと思います。
ruby-on-rails - Rails Authenticity Tokens セッションが永続的で、送信ごとに一意ではないのはなぜですか?
RailsフォームのAuthenticity Tokenが、送信ごとに一意に生成されるのではなく、セッション全体で持続するのはなぜだろうか。
私はweb2pyから来ています。ここでは、フォームは と呼ばれる一意のワンタイム トークンで生成され_formkey
ます。フォームキーは、ダブルクリックや戻るボタンのキャッシュなどによる重複送信を自動的に防ぎます。
Rails では、二重送信の問題に自分で対処する必要があるようです ( https://stackoverflow.com/a/4683161/165673を参照)。ワンタイム認証トークンは、この問題を解決し、より安全になると思いますか?
ruby-on-rails - Rails 4 の認証トークンはフォームごとに異なる必要がありますか?
ホームページのすべてのフォームが異なる認証トークンを表示しています。CSRF メタ タグは、さらに別の認証トークンを示しています。
それらはすべて同じであるべきではありませんか?
新しい Rails 4 プロジェクトを作成したところ、すべてのトークンが一致しました。
javascript - Ruby on Rails: ヘッダーまたは POST にある認証トークンの違い
Authenticity Token
経由でリクエストを送信するときに、どこに my を置くかは問題ではないことに気付きましたAJAX
。としてフォームに追加するかPOST data
、Header
.
違いはありますか?特にセキュリティに関しては?
さらに:
でトークンをエンコードしませんでしたJavascript
。私は今何かにさらされていますか?
前もって感謝します。
編集:
これは、または(コメントアウト)にJavascript
トークンを追加することです。生の鍵です。私はそれを決してエンコードしませんでした。Header
POST data
AUTH_TOKEN
ruby-on-rails - カスタム アクションに Authenticity_token がありません
関連付けオブジェクトを作成するためのカスタム アクション (RESTful セットの一部ではない) を持つコントローラーがあります。
がフォームに追加されていません。authenticity_token
これは、アクションが RESTful セットの一部ではないためだと思いますか?
authenticity_token
自動的に追加されない場合、どうすれば追加できますか?