• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed Jak działa generowanie tokenu CSRF

0 głosów
1,116 wizyt
pytanie zadane 23 listopada 2018 w Bezpieczeństwo, hacking przez Adrian1999 Nałogowiec (34,570 p.)
zamknięte 23 listopada 2018 przez Adrian1999
Cześć, mam do was pytanie. Otóż realizuje aktualnie projekt, i staram się podejść do niego skrupulatnie. Nie siedziałem w życiu dużo nad różnego rodzaju zabezpieczeniami przed atakami hakerskimi, i chciałbym się was zapytać czy dobrze pojąłem idee tokenu CSRF. Pisane jest to w czystym php

1. Na początku w formularzu z logowaniem włączam sesje
2. Generuje randomowy token przy użyciu jakiejś funkcji do tego przeznaczonej np: md5(uniqid(rand(), true))
3. Token umieszczam w formularzu jako niewidoczny, i zapisuje do sesji
4. W pliku w którym odbierany jest token odczytuje sesje, i jeżeli różni się on od tego który został w formularzu wyświetlam błąd.

Dobrze to zrozumiałem? Dzięki z góry
komentarz zamknięcia: Uzyskano odpowiedź

1 odpowiedź

+3 głosów
odpowiedź 23 listopada 2018 przez Comandeer Guru (608,940 p.)
wybrane 23 listopada 2018 przez Adrian1999
 
Najlepsza
Tak. Ważne jest to, żeby dla każdej akcji na stronie token był inny – dzięki temu praktycznie nie da się wykonać akcji w imieniu użytkownika bez znajomości jego sesji.
komentarz 23 listopada 2018 przez Adrian1999 Nałogowiec (34,570 p.)
Akcja czyli inaczej mówiąc dla każdego formularza tak? Każdy formularz ma mieć swoją sesje, a czy po zalogowaniu ta sesja z tokenu jest również ważna?
komentarz 23 listopada 2018 przez Comandeer Guru (608,940 p.)
Nie bardzo rozumiem, co znaczy po zalogowaniu?
komentarz 23 listopada 2018 przez Adrian1999 Nałogowiec (34,570 p.)
Token jest zapisywany w sesji, i jest generowany przy każdym odświeżeniu formularza. Jeżeli użytkownik się zaloguje generuje token. Więc tak na serio sam fakt istnienia tokenu jest faktem że użytkownik się zalogował tak?
1
komentarz 23 listopada 2018 przez Comandeer Guru (608,940 p.)
Chyba mylisz token sesji (który identyfikuje usera po zalogowaniu się) z tokenem CSRF, którego jedynym zadaniem jest ochrona formularzy przed złośliwym wysłaniem. To dwa oddzielne mechanizmy.
komentarz 23 listopada 2018 przez Adrian1999 Nałogowiec (34,570 p.)
Dzięki wielkie! Jak zawsze niezawodny Comandeer.

Podobne pytania

0 głosów
0 odpowiedzi 564 wizyt
pytanie zadane 5 lipca 2019 w PHP przez nielotweb Bywalec (2,240 p.)
0 głosów
1 odpowiedź 534 wizyt
pytanie zadane 27 listopada 2017 w PHP przez idgu Nowicjusz (140 p.)
0 głosów
1 odpowiedź 483 wizyt
pytanie zadane 19 maja 2017 w PHP przez Dani7778 Użytkownik (550 p.)

93,772 zapytań

142,730 odpowiedzi

323,382 komentarzy

63,368 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...