1

このページに php でログインしたいのですが、php でログインしようとするとエラーが発生します。

以下のコードにログインしようとすると、常に変更されます。そのため、ログインできません。

コードは次のとおりです。

 <input type="hidden" name="csrfmiddlewaretoken" value="728a44ea6f15dee51406b0c82be3a03b"/>

事前の助けをありがとう

4

2 に答える 2

1

明らかに、Instagram はクロスサイト リクエスト フォージェリから保護されています。この攻撃については、こちらですべて読むことができます。

実際、Instagramの人は、最初に表示せずにログインフォームを送信することを望んでいません. それがcsrfmiddlewaretokenの目的です。フォームが表示されたときに(ランダム値)を提供し、送信すると、提供されたものが返されたかどうかを確認します。OWASP クロスサイト リクエスト フォージェリ防止チート シートを参照してください。

したがって、基本的には、ログイン フォームをリクエストし、そこからトークンを取得してから、2 番目のリクエストにログインし、そのトークンを含める必要があります。

(おそらく彼らはそこでいくつかの二重チェックを行います。この場合、トークンを 2 回送信する必要があります: 投稿データと Cookie の両方で。)

于 2013-03-06T09:46:51.557 に答える
0

フォームを含むページを開いて、「csrfmiddlewaretoken」の値を var に読み込む必要があります (たとえば、正規表現を使用)。

また、セッション cookie を保存する必要があります (curl にはコンテナ ファイルに cookie を保存する方法があります。または、応答ヘッダーを解析し、cookie 値を保存して、後の要求の要求ヘッダーに設定することで、自分で行うこともできます)。

次に、ログイン要求で「csrfmiddlewaretoken」を設定できます (セッション Cookie を送信する必要があります)。

于 2013-03-06T09:22:20.680 に答える