[django][html] W którym miejscu wstawić "csrf_token"

Bash, C, C++, Java, PHP, Ruby, GTK, Qt i wiele innych - wszystko tutaj.
gregorio99
Sędziwy Jeż
Sędziwy Jeż
Posty: 95
Rejestracja: 16 lis 2008, 15:56
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: Brak
Architektura: x86

[django][html] W którym miejscu wstawić "csrf_token"

Post autor: gregorio99 » 28 lis 2016, 17:03

Myślałem, że "csrf_token" zawsze umieszczam w pierwszej linii bloku formularza:

Kod: Zaznacz cały

        
        <form action="." method="post">
            {% csrf_token %}
            {{ form.as_p }}
            <p><input type="submit" value="Wyślij e-mail" /></p>
        </form>
Ostatnio spotkałem zapis z "csrf_token" w końcowej linii formularza:

Kod: Zaznacz cały

        
        <form action="." method="post">
            {{ form.as_p }}
            <p><input type="submit" value="Wyślij e-mail" /></p>
            {% csrf_token %}
        </form>
Jest w tym jakaś różnica, czy to jest bez znaczenia w którym miejscu umieszczę "csrf_token"?
Awatar użytkownika
ka_o_3991
Przyjaciel
Przyjaciel
Posty: 861
Rejestracja: 01 wrz 2007, 13:34
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: GNOME
Architektura: x86

Re: [django][html] W którym miejscu wstawić "csrf_token"

Post autor: ka_o_3991 » 06 sty 2017, 20:03

Nie ma znaczenia gdzie go umieścisz. Token CSRF to po prostu ukryty input z jakąś wartością, taki "podpis" pod formularzem. Zanim serwer zacznie przetwarzać dane z formularza, upewnia się czy wśród nich jest ten podpis, jeśli nie ma odrzuca formularz jako próbę ataku CSRF.

trochę odkopałem temat, ale może komuś się przyda :)
ODPOWIEDZ

Wróć do „Programowanie”