Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP] Jak zabezpieczyc sie przed odswiezaniem i ponownym wysylaniem danych do mysql?, Problem z odswiezaniem i ponownym wpisie do bazy danych...
cros
post 24.08.2009, 15:08:02
Post #1





Grupa: Zarejestrowani
Postów: 164
Pomógł: 21
Dołączył: 21.08.2009

Ostrzeżenie: (0%)
-----


Tak jak w temacie...jak zabezpieczyc formularz, przed ponownym wpisem do bazy danych?
Powiedzmy ze zrobilem prosty formularz rejestracji, dane przesylane sa metoda POST, i gdy juz wpisze uzytkownika do bazy danych, ktos moze nacisnac F5 i ponownie dodac tego uzytkownika, przez co bedzie balagan w bazie.
Jak to zrobic, zeby po odswiezeniu zapytanie SQL nie bylo juz wysylane?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
Daiquiri
post 24.08.2009, 15:17:46
Post #2





Grupa: Administratorzy
Postów: 1 552
Pomógł: 211
Dołączył: 7.07.2009
Skąd: NJ




Przekierować użytkownika? Coś na kształt:

  1. header('Location: ');
Go to the top of the page
+Quote Post
cros
post 24.08.2009, 15:47:49
Post #3





Grupa: Zarejestrowani
Postów: 164
Pomógł: 21
Dołączył: 21.08.2009

Ostrzeżenie: (0%)
-----


Cytat(Daiquiri @ 24.08.2009, 16:17:46 ) *
Przekierować użytkownika? Coś na kształt:

  1. header('Location: ');


A czy to na 100% zabezpieczy mnie przed kim, kto celowo chcialby mi balagan w bazie zrobic?
Bo z tego co pamietam, wystarczy nacisnac "X" w przegladarce i zatrzymamy skrypt, wtedy nas nie przekieruje, a odswiezyc bedzie mozna :/

Uprzedzam iz sprawdzam poprawnosc wpisanych danych do formularza, w tym to czy dany uzytkownik i mail czasami nie istnieje juz w bazie i zwracam odpowiedni komunikat, ale
problem w tym ze, gdy wszystko jest OK, daje jeszcze stronke, w ktorej wypisane sa wprowadzone dane, w celu potwierdzenia ich poprawnosci przez klienta, ktory sie rejestruje.
Gdy nacisnie on "Zapisz" wtedy przesylam ponownie dane POST i dopiero dodaje do mysql, ale w tedy juz nie sprawdzam czy uzytkownik istnieje w bazie.
Czy ponowne sprawdzanie istnienia uzytkownika, to jedyne wyjscie? Bo z tego sprawdzania za 1 razem nie moge zrezygnowac, bo nie chce aby uzytkownik dowiadywal sie
dopiero przed samym zapisem, ze ten nick jest juz zajety, bo wiem jakie to bywa deprymujace (czlowiek sie nawypisuje, a tu klops...
Moglbym zrezygnowac ewentualnie z tego "potwierdzania danych przez uzytkownika" i zaraz po wyslaniu formularza i sprawdzenia czy nie ma bledow, zapisywac do bazy.
To jednak ma tez swoje minusy, bo ktos w loginie moze zrobic literowke i pozniej sie juz nie zaloguje.
Co radzicie?
Go to the top of the page
+Quote Post
Daiquiri
post 24.08.2009, 15:59:43
Post #4





Grupa: Administratorzy
Postów: 1 552
Pomógł: 211
Dołączył: 7.07.2009
Skąd: NJ




Ciężko było Ci podpowiedzieć tak "na oko", bez większej ilości informacji. Jeżeli ktoś zatrzyma wykonywanie skryptu to przecież nie wyśle niczego do bazy blinksmiley.gif .

Jeżeli dobrze rozumiem, na pierwszej stronie ktoś podaje dane a na drugiej weryfikuje i zapisuje je do bazy. Nie do końca rozumiem czego się obawiasz skoro wszystko sprawdzasz. Jeżeli użytkownik musi uzupełnić wszystkie pola, to w jaki sposób ma Ci narobić bałaganu? Jeżeli obawiasz się, że ktoś wyśle 2 razy zapytanie do bazy (dając zapisz i odśwież) to przekieruj go headerem - nie ma wtedy możliwości odświeżenia (tych danych) - możesz go przenieść do kompletnie innej strony.

Dodatkowo sprawdzaj czy dany login istnieje, bo hipotetycznie dwie osoby będą chciały zarejestrować się pod tym samym np. nickiem. Przejdą przez pierwszy etap weryfikacji w miarę jednocześnie (login jest wolny), natomiast w drugim (w którym nie sprawdzasz zajętości) obaj zatwierdza zmiany i co wtedy? Wystarczy, że pierwszy użytkownik, który chciałby zająć dany login, nie zdąży zapisać zmian po weryfikacji gdy drugi zechce również zarejestrować dany login.

Mam nadzieję, że dobrze rozumiem Twoje obawy.
Go to the top of the page
+Quote Post
erix
post 24.08.2009, 16:03:48
Post #5





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Temat: odwieanie strony zapis

Już wyszukiwarkę zbanowali...? O.o


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post

Closed TopicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 11:17