Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Jak zabezpieczyć?
GoldeNx3
post
Post #1





Grupa: Zarejestrowani
Postów: 228
Pomógł: 1
Dołączył: 24.12.2010

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


Witam. napisałem sobie prosty skrypt sklepu. Gdy ktoś coś kupic i kliknie przycisk "Kup" to odpala siędrugi skrypt, który wszystkie wpisane dane wysyła mi na e-mail. Po tym pokazuje się informacja, że wiadomość została wysłana poprawnie. Jak zrobić jakieś zabezpieczenie typu token lub czasowe, by ktoś kto kliknie odśwież na napisie z powodzeniem nie wysłało kolejnego e-maila?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
gargamel
post
Post #2





Grupa: Zarejestrowani
Postów: 278
Pomógł: 35
Dołączył: 25.06.2010

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


W pliku http://wklejto.pl/94249 (nie wiem jak on się nazywa)
Na samym początku dajesz
  1. $v = microtime(true);
  2. $_SESSION['v'] = $v;

Później gdzieś w formularzu (np niech to będzie 119 linia) wrzucasz
  1. <input type='hidden' name='v' value='<?php echo $v ?>' />

(W pierwszym poście zapomniałem echa)

Natomiast w pliku v_send.php musisz dodać warunek na wysłanie maila, na przykład:
  1. if($_POST['v'] == $_SESSION['v']){
  2. //Wysyłanie maila.... - może być cała zawartość Twojego obecnego skryptu, oczywiście oprócz session_start();
  3. $_SESSION['v'] = false; // Tu usuwasz token - a więc przesyłany ponownie z formularza, nie będzie już się zgadzał z tym w sesji
  4. }
  5. else{
  6. //Tu jakieś instrukcje które mają się pojawić po odświeżaniu, np: echo "Psze nie odświeżać tej strony!!!";
  7. }


Ten post edytował gargamel 31.03.2011, 21:35:18
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 10.10.2025 - 18:20