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
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
Daiquiri
post
Post #2





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 (IMG:style_emoticons/default/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

Posty w temacie


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

 



RSS Aktualny czas: 13.10.2025 - 18:07