OWASP CSRF 防止チート シートを読むと、この種の攻撃を防止するために提案されている方法の 1 つは、シンクロナイザー トークン パターンです。
セッショントークンが暗号的に強力な場合、次の擬似コードで説明されているように、csrf トークンとしても使用できますか?
クライアント:
<script>
dom.replace(placeholder, getCookie("session-cookie"))
</script>
<form>
<input type="hidden" name="csrf-cookie" value="placeholder-value"/>
<input type="text" />
</form>
サーバ:
if(request.getParameter("csrf-cookie") != user.getSessionCookie())
print "get out you evil hacker"
ページの読み込み時に JavaScript を使用して Cookie が設定され、たとえば、ページのコピーを友人に電子メールで送信した場合などに、ユーザーが誤ってセッション Cookie を漏らさないようにします。