Wzialem sie ostatnio za skrypt logowania na moją stronke, jednak nie wiem czy jest on dostatecznie bezpieczny(nie znam sie na exploitach itp, wiec nie wiem jak go zlamac:P).
Kolejnym problemem jest dodanie pola "Zapamiętaj mnie", zeby informacje ze ktos jest zalogowany byly przechowywane nawet po restarcie kompa itd.
Nie znam sie na sesjach, wiedze bralem z paru tutoraiali, i wyszlo cos takiego.
BTW. Jak zrobic tak fajnie, ze identyfikator sesji jest przekazywany wraz z adrsem strony(metoda GET), czy cookies są wystarczająco bezpieczne?
Skrypt przechowuje informacje w MySql, tablica wyglada tak(export z phpmyadmin)
CREATE TABLE `users` ( `nr` int(20) NOT NULL AUTO_INCREMENT, `login` varchar(20) NOT NULL DEFAULT '', `plec` varchar(20) NOT NULL DEFAULT '', `haslo` varchar(200) NOT NULL DEFAULT '', `data` date NOT NULL DEFAULT '0000-00-00', `email` varchar(50) NOT NULL DEFAULT '', `imie` varchar(50) NOT NULL DEFAULT '', `nazwisko` varchar(50) NOT NULL DEFAULT '', `ip` varchar(15) NOT NULL DEFAULT '', `user_level` smallint(6) NOT NULL DEFAULT '0', PRIMARY KEY (`nr`) ) TYPE=MyISAM AUTO_INCREMENT=50 ;
Skrypt rejestracji (index.php?mode=register)
<?php function verifyEmail($email) { } { $uname = $_POST['uname']; $email = $_POST['email']; $imie = $_POST['imie']; $nazwisko = $_POST['nazwisko']; $ip = $_POST['ip']; $passwd = $_POST['passwd']; $passwd1 = $_POST['passwd1']; $plec = $_POST['plec']; if ($uname && $passwd && $passwd1 && $email && $imie && $nazwisko && $ip) { if ($znal==0){ if ($passwd == $passwd1) { if (verifyEmail($email)==true){ $res = mysql_query("INSERT INTO `users` (`login`,`haslo`,`email`, `imie`,`nazwisko`, `data`, `ip`, `plec`) VALUES ('$uname', '$passwd', '$email', '$imie', '$nazwisko', '$data', '$ip', '$plec')"); } else { } } else { } } else { } } else { echo <<<END <div id="belka">Rejestracja</div> <br> <FORM ACTION="" METHOD=post> <table border="0" width="100%" cellspacing="0" cellpadding="0"> <tr> <td width="42%" align="right"><span id="opisy">Login:</span></td> <td width="58%"><span id="formularz"> <input type="text" name="uname" size="20"></span></td> </tr> <tr> <td width="42%" align="right"><span id="opisy">Hasło:</span></td> <td width="58%"><span id="formularz"><input type="password" name="passwd" size="20"></span></td> </tr> <tr> <td width="42%" align="right"><span id="opisy">Ponownie Hasło:</span></td> <td width="58%"><span id="formularz"> <input type="password" name="passwd1" size="20"></span></td> </tr> <tr> <td width="42%" align="right"><span id="opisy">Imię:</span></td> <td width="58%"><span id="formularz"> <input type="text" name="imie" size="20"></span></td> </tr> <tr> <td width="42%" align="right"><span id="opisy">Nazwisko:</span></td> <td width="58%"><span id="formularz"> <input type="text" name="nazwisko" size="20"></span></td> </tr> <tr> <td width="42%" align="right"><span id="opisy">Płeć:</span></td> <td width="58%"><span id="formularz"> M <input name="plec" value="M" type="radio"> K <input name="plec" value="K" type="radio"> </td> </tr> <tr> <td width="42%" align="right"><span id="opisy">E-Mail:</span></td> <td width="58%"> <span id="formularz"><input type="text" name="email" size="20"></span></span></td> <input type="hidden" name="ip" size="20" value="$REMOTE_ADDR"> </td></tr></table><center> <INPUT TYPE=image SRC=grafika/wyslij.gif BORDER=0 name=submit> </form><BR><span id="opis_glowny" stle="font-size:15pt">Należy wypełnić wszystkie pola !</span> END; } ?>
Forma logowania z skryptem(index.php?mode=login)
<?php { $login = $_POST['uname']; $haslo = $_POST['passwd']; if ($razem!=0) { { $email = $wynik['email']; $plec = $wynik['plec']; $imie = $wynik['imie']; $nazwisko = $wynik['nazwisko']; $user_level = $wynik['user_level']; } else } else } else { echo <<<END <div id="belka">Logowanie</div> <br> <FORM ACTION="" METHOD=post> <table border="0" width="100%" cellspacing="0" cellpadding="0"> <tr> <td width="42%" align="right"><span id="opisy">Login:</span></td> <td width="58%"><span id="formularz"> <input type="text" name="uname" size="20"></span></td> </tr> <tr> <td width="42%" align="right"><span id="opisy">Hasło:</span></td> <td width="58%"><span id="formularz"><input type="password" name="passwd" size="20"></span></td> </tr> <input type="hidden" name="ip" size="20" value="$REMOTE_ADDR"> </td></tr></table><center> <INPUT TYPE=image SRC=grafika/wyslij.gif BORDER=0 name=submit> </form> END; } ?>
a wylogowanie to(index.php?mode=logout)
<?php ?>
To wszystko, przepraszam ze moze troche zamotałem, ale mam nadzieje ze zrozumieliscie:>