2
を読んでいる間に、リンクまたはフォームを使用してdjangobook chapterを読んでいる間に、ログアウトリンクが悪意のあるサイトの隠れた場所に置かれているcsrf攻撃を記述するセクションに出くわしました。djangoログアウトは、
<a href="{% url my_logout %}" > Logout </a>
my_logoutのURLポイント
今urlpatterns=patterns('django.contrib.auth.views',
url(r'^logout/$', 'logout_then_login', {}, name = 'my_logout'),
)
へ:私はジャンゴを使用して作成したWebアプリケーションで
、私は同様のログアウト・リンクに
base.htmlを使用していましたcsrf攻撃について読んだら、悪意のあるサイトが私にも問題を引き起こす恐れがあるので、フォームを使用してログアウトしたいと思います。
は、私はこの
base.html好きと考えていた。今
...
<form method="post" action=".">{% csrf_token %}
<input type="hidden" name="next" value="{{next}}" />
<input type="hidden" name="confirm" value="true" />
<input type="submit" value="Logout" />
</form>
...
、私は隠された変数を処理していた場合には(confirm
をこのフォームを処理するためのビューを作成する必要がありますか?ログアウトを行う必要があるかどうかを確認してください。next
)、メソッドを使用することはできますか?
私はこれを正しく実行しているかどうか誰かに教えてください。事前に
おかげ
、ヘクタール= P – okm
Iを使用することを検討してくださいほとんど同じ答えを投稿しようとしていました:) とにかく、私はこれが本当に便利だとは思わないと付け加えます。 CSRFエクスプロイトは、ログインしているアプリケーションでアクションを完了する際にユーザーを欺くために使用されますが、強制的にログアウトする必要はありません。 –
@ClaudeVedoviniはい、攻撃者があなたをしばらくログアウトしようとしたり、新しいログイン手順を待っているときに有害なことがあります – okm