Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Logowanie do strony z telefonu.
Vigorator
post 1.07.2011, 14:33:04
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
Go to the top of the page
+Quote Post
markonix
post 1.07.2011, 15:28:57
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

smile.gif

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


--------------------
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 08:51