![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 31.05.2011 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Mam problem otóż zrobilem logowanie na sesjach i wszsytko dziala ale... nie da sie zalogować z niektórych telefonów i internetu przenosnego (czasami sie to udaje ale moze 5% prob jest udanych). Na poczatku myslalem ze to wina telefonu, ale mam coraz wiecej zgloszen ze to nie dziala. Nie wiem od czego zacząć naprawe, zwlaszcza ze u mnie wszsytko dziala na telefonie. Nie wiem czy telefony maja problem z sesjami, ale sesje sa na serwie... Dodam jeszcze ze nie wyswietla sie zadna informacja o blednym logowaniu itp. Podam moze kod logowania i prosilbym o przejrzenie gdzie moze być blad. no i przy okazji zerknijcie czy jest to bezpieczny kod. Formularz loginu i hasla: <form method="POST" action="/i/logowanie"> <input class="form" name="login"> <input class="form" type="password" name="haslo"> <input type="image" src="menu/zaloguj.png" name="Loguj" width="52" height="20"> </form> plik logowania: <? function Oczysc($zmienna) { $zmienna=trim($zmienna); //OBCINA SPACJE PRZED I PO $zmienna=strip_tags($zmienna); //USUWA KOD HTML I PHP $zmienna=htmlspecialchars($zmienna); //USUWA KOD HTML $zmienna=addslashes($zmienna); //DODAJE UKOSNIKI PRZED ' " / NULL $zmienna=mysql_escape_string($zmienna); //USUWA ZAPYTANIA MySQL return $zmienna; } $_SESSION = array(); session_destroy(); $login=$_POST["login"]; $login=strtolower(Oczysc($login)); //Funkcja Oczysz $haslo=$_POST["haslo"]; $haslo=Oczysc($haslo);$haslo=md5($haslo); if (!isset($_SESSION['sprawdz'])) //WYDAJE MI SIE ZE TU JEST BLAD { session_regenerate_id(); $_SESSION['sprawdz'] = true; $_SESSION['adres_ip'] = $_SERVER['REMOTE_ADDR']; } if($_SESSION['adres_ip'] !== $_SERVER['REMOTE_ADDR']) { header( "Location: http://www.strona.pl"); exit; } Pozniej nastepuje sprawdzenie MySQL czy jest taki login i haslo Jesli tak to: session_start(); $_SESSION['kto']= "$login"; header( "Location: ../user/zalogowano"); exit; To tyle tego. Wedlug mnie to powinno dzialac, a nie dziala ;/ Prosze o sugestie. Dzieki Ten post edytował Vigorator 1.07.2011, 14:40:25 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%) ![]() ![]() |
$zmienna=mysql_escape_string($zmienna); //USUWA ZAPYTANIA MySQL
![]() funkcja Oczysc jest bezsensu - zamień to wszystko na jeden preg_match. $_SESSION = array(); - nie rozumiem po co to. if($_SESSION['adres_ip'] !== $_SERVER['REMOTE_ADDR']) { header( "Location: http://www.strona.pl"); exit; } tutaj by można zamknąć sesje gdy wykryje zmianę adresu. Ten post edytował markonix 1.07.2011, 15:33:08 -------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 08:51 |