![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 86 Pomógł: 0 Dołączył: 5.02.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam. Jeśli mam na stronie możliwość usunięcia konta (oczywiście po zalogowaniu) poprzez kliknięcie w button 'usun konto':
Czyli poprzez zmienną GET. Jak wiadomo będzie to widoczne w pasku przeglądarki, więc jeśli ktoś zmieni 95 na np. 26 to usuwa mi z bazy usera o id 26. Zresztą ten sam problem mam podczas edycji konta czy systemu prywatnych wiadomości. Pytanie: czy mod_rewrite będzie dobrym i 100% zabezpieczeniem się przed takim problemem ? Czy są jakiś inne rowiązania ? |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 798 Pomógł: 307 Dołączył: 13.05.2009 Skąd: Gubin/Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Nie, mod_rewrite, nie ma tutaj nic do rzeczy. Brak sprawdzania czy dany użytkownik, który chce zmienić swoje dane, jest danym użytkownikiem. A jest to bardzo proste do wykonania, zwłaszcza jeżeli jakieś dane użytkownika trzymasz w sesji.
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Nieautoryzowani Postów: 2 249 Pomógł: 305 Dołączył: 2.10.2006 Ostrzeżenie: (0%) ![]() ![]() |
Absolutnie nie, mod_rewrite nie zabezpieczy Cię przed niczym.
Przed usunięciem czegokolwiek przecież jakieś uprawnienia sprawdzasz, prawda? -------------------- Google knows the answer...
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 86 Pomógł: 0 Dołączył: 5.02.2009 Ostrzeżenie: (0%) ![]() ![]() |
Tak, dane każdego usera mam w sesji. Czy mógłbym prosić o jakieś wskazówki jak sprawdzić czy dany użytkownik, który chce zmienić swoje dane, jest danym użytkownikiem ? A co do mod_rewrite to myślałem, że poprostu ukryje zmienne GET w pasku i będzie po problemie... Czy mimo ich ukrycia można je jakoś zobaczyć ?
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 821 Pomógł: 111 Dołączył: 11.09.2006 Skąd: Biała Podlaska Ostrzeżenie: (0%) ![]() ![]() |
-------------------- |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 1 798 Pomógł: 307 Dołączył: 13.05.2009 Skąd: Gubin/Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Cytat A co do mod_rewrite to myślałem, że poprostu ukryje zmienne GET w pasku i będzie po problemie... Takich danych nie ukryjesz, każde dane czy to post/get które są przesyłane do serwera sobie można podejrzeć. Pani krysia w księgowości tego nie podejrzy i nie zrozumie, ale pierwszy lepszy webdeveloper podejrzy, zrozumie, i skasuje ci wszystkie konta. |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 29 Pomógł: 6 Dołączył: 29.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
Warto dodać, że można zrobić link w stylu
www.nazwastrony/usun_konto.php, który kasuje konto użytkownika w sposób Kod usun_usera($_SESSION['id_zalogowanego']); // gdzie usun_usera to jakas Twoja funkcja do tego Warto dodać, że takie coś, jak również w mniejszym stopniu to co zrobiłeś jest podatne na atak CSRF. Przeslanie na gg (np. skroconego w celu ukrycia) linku do tej strony/podstrony umozliwia nieswiadome samoskasowanie sobie konta. W Twoim przypadku trzeba znać id użytkownika, ale można je też zdobyć, dlatego potrzebujesz zabezpieczenia np. w postaci tokena. Poczytaj na ten temat ![]() |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 1 798 Pomógł: 307 Dołączył: 13.05.2009 Skąd: Gubin/Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Tokena jak tokena, ogólnie wypadałoby żeby było jakiekolwiek potwierdzenie danej czynności. Żeby nie było tak że ktoś wchodzi pod dany link, i sobie kasuje co chce..
|
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 821 Pomógł: 111 Dołączył: 11.09.2006 Skąd: Biała Podlaska Ostrzeżenie: (0%) ![]() ![]() |
Tokena jak tokena, ogólnie wypadałoby żeby było jakiekolwiek potwierdzenie danej czynności. Żeby nie było tak że ktoś wchodzi pod dany link, i sobie kasuje co chce.. W czym problem wziąć kod ten co podałem i dodać jeszcze tam:
Edit: Z nudów napisałem i krótki skrypt do tego. Wystarczy zmodyfikować linijkę 17 i 18 oraz usunąć 3-5. Dodatkowo trzeba podać swoje hasło aby usunąć konto. Działanie: http://rysh.tk/forum/del_acc.php
Ten post edytował Rysh 16.03.2012, 17:44:13 -------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 25.07.2025 - 10:02 |