Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]$_SESSION['csrf'] i F5
Forum PHP.pl > Forum > Przedszkole
phpuser88
hej, mam dość dziwny problem, który teoretycznie nie powinien się pojawić. Obstawiam, że jest to problem z moim Xampp'em i nie resetowaniem komputera przez długie tygodnie.

w dużym skrócie:
Mam formularz, który ma unikalny <input type="hidden"> z wartością $_SESSION['key'] - ten kod po dokonaniu INSERT w SQL jest zmieniany aby zapobiec ponownemu INSERT przez np. F5
Dotychczas raczej działało to bezproblemowo, ale aktualnie moje IFy przepuszczają mimo, że nie powinny i troche zgłupiałem... tak wygląda kod:
  1. if ($_POST['id']==$_SESSION['key'] AND $_POST['formularz']==TRUE AND $_POST['kom']==TRUE) {
  2. $KOMENTARZ = czysc($_POST['kom'],1);
  3. $KOMENTARZ = $con -> real_escape_string($KOMENTARZ);
  4. $sql="INSERT INTO ...";
  5.  
  6. if(mysqli_query($con, $sql)) {
  7.  
  8. $_SESSION['key'] = 123;
  9. $INFO .= "<BR/>Insert=DONE! <BR/>".$_POST['id']."==".$_SESSION['key']."<BR/>";
  10. $_POST['kom'] = 0;
  11. $KOMENTARZ = '';
  12. mysqli_close($con);
  13. }
  14. }


Przy każdym odświeżeniu (F5) pojawia się Insert w bazie, mimo że $_POST['id'](123456789) != $_SESSION['key'](123)
Wiem, że przeglądarka zapisuje wartości, ale serwer mimo wszystko powinien skontrolować każde odświeżenie w IFie - mam racjęquestionmark.gif? :/
PS: wiem, że można to obejść headerem(), ale chce się dowiedzieć czy to wynik błędu czy brak wiedzy?

EDIT:
Jednak mam racje, ha! Xampp się wysypał przy ponownym uruchomieniu, ale to i tak było bardzo dziwne...
Johnas
miałem te same problemy z xampp na windows 11... ale on wysypywał mi bazę danych, dlatego lepiej jest zainstalować wamp... nic nie wysypuje
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.