PHP Automatyczne logowanie przy użyciu cookie
Skrypt PHP automatycznie loguje użytkownika pobierając dane z cookie.
Listing
// Plik form.html tworzący formularz
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
<TITLE>Logowanie</TITLE>
</HEAD>
<BODY>
<CENTER>
<H2>Wprowadź nazwę użytkownika i hasło:</H2>
<FORM NAME = "formularz1"
ACTION = "login.php"
METHOD = "POST"
>
<TABLE border="1">
<TR>
<TD bordercolor="#FFFFFF">Użytkownik:</TD>
<TD bordercolor="#FFFFFF">
<INPUT TYPE="text" NAME="user">
</TD>
</TR><TR>
<TD bordercolor="#FFFFFF">Hasło:</TD>
<TD bordercolor="#FFFFFF">
<INPUT TYPE="password" NAME="pass">
</TD>
</TR><TR>
<TD colspan="2" align="center" bordercolor="#FFFFFF">
<INPUT TYPE="checkbox" NAME="autologin" VALUE="CHECKED">Loguj automatycznie
</TD>
</TR><TR>
<TD colspan="2" align="center" bordercolor="#FFFFFF">
<INPUT TYPE="submit" VALUE="Wejdź">
</TD>
</TR>
</TABLE>
</FORM>
</CENTER>
</BODY>
</HTML>
//Skrypt do automatycznego logowania login.php
<?PHP
function checkPass($pass, $user)
{
if(!$fd = @fopen("passwords.txt", "r")) return false;
while (!feof ($fd)) {
$line = trim(fgets($fd));
if(($pos = strpos($line, ":"))===false) continue;
$tempUser = substr($line, 0, $pos);
if($tempUser != $user) continue;
$tempPass = substr($line, $pos + 1, strlen($line) - $pos);
if($tempPass != $pass) continue;
else return true;
}
fclose($fd);
return false;
}
if(isSet($_COOKIE["pass"]) && isSet($_COOKIE["user"])){
$pass = $_COOKIE["pass"];
$user = $_COOKIE["user"];
if($pass != "" && $user != ""){
if(!checkPass($pass, $user)){
setCookie("user", $user, time() - 3600);
setCookie("pass", $pass, time() - 3600);
include('form.html');
}
else{
include('index1.html');
}
exit;
}
}
if(isSet($_POST["pass"]) &&
isSet($_POST["user"])){
$pass = $_POST["pass"];
$user = $_POST["user"];
if(isSet($_POST["autologin"]))
$autologin = $_POST["autologin"];
else
$autologin = "";
if(!checkPass($pass, $user)){
include("zle_dane.html");
}
else{
if($autologin == "CHECKED"){
setCookie("user", $user, time() + 3600 * 24 * 30);
setCookie("pass", $pass, time() + 3600 * 24 * 30);
}
include('index.html');
}
}
else{
include('form.html');
}
?>
//Plik passwords.txt
user1:pass1
user2:pass2
user3:pass3
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
<TITLE>Logowanie</TITLE>
</HEAD>
<BODY>
<CENTER>
<H2>Wprowadź nazwę użytkownika i hasło:</H2>
<FORM NAME = "formularz1"
ACTION = "login.php"
METHOD = "POST"
>
<TABLE border="1">
<TR>
<TD bordercolor="#FFFFFF">Użytkownik:</TD>
<TD bordercolor="#FFFFFF">
<INPUT TYPE="text" NAME="user">
</TD>
</TR><TR>
<TD bordercolor="#FFFFFF">Hasło:</TD>
<TD bordercolor="#FFFFFF">
<INPUT TYPE="password" NAME="pass">
</TD>
</TR><TR>
<TD colspan="2" align="center" bordercolor="#FFFFFF">
<INPUT TYPE="checkbox" NAME="autologin" VALUE="CHECKED">Loguj automatycznie
</TD>
</TR><TR>
<TD colspan="2" align="center" bordercolor="#FFFFFF">
<INPUT TYPE="submit" VALUE="Wejdź">
</TD>
</TR>
</TABLE>
</FORM>
</CENTER>
</BODY>
</HTML>
//Skrypt do automatycznego logowania login.php
<?PHP
function checkPass($pass, $user)
{
if(!$fd = @fopen("passwords.txt", "r")) return false;
while (!feof ($fd)) {
$line = trim(fgets($fd));
if(($pos = strpos($line, ":"))===false) continue;
$tempUser = substr($line, 0, $pos);
if($tempUser != $user) continue;
$tempPass = substr($line, $pos + 1, strlen($line) - $pos);
if($tempPass != $pass) continue;
else return true;
}
fclose($fd);
return false;
}
if(isSet($_COOKIE["pass"]) && isSet($_COOKIE["user"])){
$pass = $_COOKIE["pass"];
$user = $_COOKIE["user"];
if($pass != "" && $user != ""){
if(!checkPass($pass, $user)){
setCookie("user", $user, time() - 3600);
setCookie("pass", $pass, time() - 3600);
include('form.html');
}
else{
include('index1.html');
}
exit;
}
}
if(isSet($_POST["pass"]) &&
isSet($_POST["user"])){
$pass = $_POST["pass"];
$user = $_POST["user"];
if(isSet($_POST["autologin"]))
$autologin = $_POST["autologin"];
else
$autologin = "";
if(!checkPass($pass, $user)){
include("zle_dane.html");
}
else{
if($autologin == "CHECKED"){
setCookie("user", $user, time() + 3600 * 24 * 30);
setCookie("pass", $pass, time() + 3600 * 24 * 30);
}
include('index.html');
}
}
else{
include('form.html');
}
?>
//Plik passwords.txt
user1:pass1
user2:pass2
user3:pass3
Dodano przez: igor
Ranga: Administrator serwisu Punktów: 0
Ranga: Administrator serwisu Punktów: 0
Komentarze użytkowników
:: Losowe artykuły
:: Wymiana linków
Modowe inspiracje |
Android Gry i Aplikacje |
ZaplanujTransport.pl: Przeprowadzki, transport, aukcje |
Logo dla firmy |
Change Tires - Car Weather Forecast Reminder |
Laminas: MVC Framework for PHP |
IT Books Reviews and Programming: JS, JAVA, PHP, ANDROID, CSS |
Katalog roślin |
Programming articles: JAVA, PHP, C++, Python, JavaScript |
Kancelaria Adwokacka Łukasz Huszno