ďťż
Podstrony
|
telcocafeWitam. Robię małego cmsa na moją stronę i napotkałem błąd.Mam skrypt, który umieszczam na początku każdej strony z panelu admina: <?php if (isset($_COOKIE['Zalogowany'])) { $spr = $_COOKIE["Zalogowany"]; if ($spr == "TAK") { // } else { header('Location: blad.php'); exit; } } else { header('Location: blad.php'); exit; } ?> Na początku miałem, że sprawdzał czy cookie istnieje, ale potem przy wylogowaniu nie mogłem go usunąć, więc uznałem, że prościej będzie porównać wartości...ale mi nie wychodzi. Jak zmienie wartość ciasteczka, to i tak przeniesie mnie na zabezpieczaną stronę. Użytkownik DJ Mentos edytował ten post 01 lipiec 2007, 21:37 to może użyj javascript zamiast "Header(...)" <script language="javascript"> windows.location.href = "blad.php"; </script> @edit zresztą po co się bawić ciasteczkami lepsze są sesje (przynajmniej dla mnie) <?php session_start(); $zalogowany = $_SESSION['Zalogowany']; $logout = $_GET['logout']; if(isset($logout) and $logout == "true") { unset($zalogowany); } if(isset($zalogowany) and $zalogowany == "tak") { echo "<a href=\"?logout=true\">Wyloguj</a>"; } else { include('blad.php'); // lub kod javascript ktory jest wyzej, lub header('location....'); } ?> To chyba wszystko :P @edit2 a jeżeli już chcesz zostać przy ciasteczkach.... <?php $spr = $_COOKIE["Zalogowany"]; $logout = $_GET['logout']; if(isset($logout) and $logout == "true") { setcookie($spr, "", time() - 3600); } if(isset($spr) and $spr == "TAK") { echo "<a href=\"?logout=true\">Wyloguj</a>"; } else { // to samo co w skrypcie wyżej } ?> Użytkownik PiKey edytował ten post 02 lipiec 2007, 10:31 dzięki, jakoś się trzyma :) Super, a jak sobie ustawię samodzielnie ciasteczko "Zalogowany" to będę mógł wejść do ciebie bez znajomości hasła. Podstawy zabezpieczania stron internetowych... dlatego bardziej lubie sesje :P żeby było bezpieczniej radziłbym przy cookie zastosować jakomś weryfikacje danych z bazą danych. Wtedy cały skrypt jest bezpieczny. Co do sesji można zastosować sesje niestandardowe do lepszego zabezpieczenia(ale to już kiedyś mówiłem) zrobiłem i cookies i sesje. Pasuje ? :) Sesje są oparte na cookiesach (zwykle jest to ID klienta) i zmiennych po stronie serwera :P Więc IMO nie trzeba stosować obu metod ;) Użytkownik DJ_ProG edytował ten post 04 lipiec 2007, 20:11 zawsze większe zabezpieczenie. Serwer mógł mieć restart a w cookies zostało, ale cookies skasowano a sesje zostały. Sesje są oparte na cookiesach (zwykle jest to ID klienta) i zmiennych po stronie serwera :P Więc IMO nie trzeba stosować obu metod ;) Przejrzyj powyższy kod, a zrozumiesz, dlaczego metoda zabezpieczeń ciasteczkami w ten sposób jest bezsensowna - to wygląda mniej więcej tak: 1. delikwent puka do drzwi z pytaniem, czy może wejść 2. oddźwierny pyta, kim jest 3. delikwent odpowiada "swój!" 4. oddźwierny wpuszcza... powinien chyba najpierw sprawdzić, czy rzeczywiście swój, czyż nie? aaa no fakt czyli muszę zrobić tak: jeżeli koleś jest w cookie sprawdź czy jest w sesjach jeżeli jest i tu i tu to wpuść. |
|||
Sitedesign by AltusUmbrae. |