万年素人からHackerへの道

万年素人がHackerになれるまで殴り書きするぜ。

  • ・資産運用おすすめ
    10万円は1000円くらい利益
    資産運用ブログ アセマネ
    • ・寄付お願いします
      YENTEN:YYzNPzdsZWqr5THWAdMrKDj7GT8ietDc2W
      BitZenny:ZfpUbVya8MWQkjjGJMjA7P9pPkqaLnwPWH
      c0ban:8KG95GXdEquNpPW8xJAJf7nn5kbimQ5wj1
      Skycoin:KMqcn7x8REwwzMHPi9fV9fbNwdofYAWKRo

    CRSF Django

    URL: http://d.hatena.ne.jp/CortYuming/20080917/p3
    この日本語の個人のチュートリアルでハマった。

    POSTしたときに

    Forbidden (403)
    CSRF verification failed. Request aborted.
    Help
    Reason given for failure:
        CSRF token missing or incorrect.
        
    In general, this can occur when there is a genuine Cross Site Request Forgery, or when Django's CSRF mechanism has not been used correctly. For POST forms, you need to ensure:
    Your browser is accepting cookies.
    The view function uses RequestContext for the template, instead of Context.
    In the template, there is a {% csrf_token %} template tag inside each POST form that targets an internal URL.
    If you are not using CsrfViewMiddleware, then you must use csrf_protect on any views that use the csrf_token template tag, as well as those that accept the POST data.
    You're seeing the help section of this page because you have DEBUG = True in your Django settings file. Change that to False, and only the initial error message will be displayed.
    You can customize this page using the CSRF_FAILURE_VIEW setting.

    という謎のエラー。

    csrf関係だと思う。

    URL: https://docs.djangoproject.com/en/dev/ref/contrib/csrf/
    こちらの公式サイトを見た

    <form action="." method="post" accept-charset="utf-8">{% csrf_token %}
    

    のように「actionのあとに{% csrf_token %}」が必要のようだ。

    ちなみに、
    "jam/settings.py"
    の中にある、

    MIDDLEWARE_CLASSES = (
    

    の項目にある

    'django.contrib.sessions.middleware.SessionMiddleware',
    

    よりも先に

    'django.middleware.csrf.CsrfViewMiddleware',
    

    を書くべきみたいなのがあったが、関係なかった。