2

curl コマンドを使用してシステムにログインする必要がありますが、CSRF 認証をスキップする方法がわかりません。

次のことを試しましたが、うまくいきませんでした:

curl -d "form_username_input_name=username&form_passowrd_input_name=password" url

どうすれば欲しいものを達成できますか?

4

1 に答える 1

3

cURL ログイン専用の別のログインを作成する必要があると思います。CSRF 保護をバイパスすることはできません (実際、これが作成された理由です)。

そう、

  • sfGuardAuthアプリのデフォルト モジュールを拡張します
  • (たとえば)という新しいアクションを作成しますexecuteLoginCurl
  • デフォルトの sfGuard バリデーターを使用して検証を実行するsfGuardValidatorUser
  • $this->getUser()->signIn(...)次に、ユーザーをサインインするために呼び出します

保護を使用して、他のアプリケーションがこのモジュール/アクションを cURL し、ログインをブルート フォースしようとしないようにすることをお勧めします。たとえば、IP でこのアクションを制限することができます。

于 2013-01-07T08:28:09.950 に答える