Zdravim vas. Potreboval bych radu. Jsem na PHP dost lama a potreboval bych na stranky udelat prihlasovani - okno pro zadani hesla ( stejneho pro vsechny uzivatele ) a potvrzovaci tlacitko + vypis nejaky hlasky pri spatnem hesle a presmerovani na jinou stranku kdyz bude spravne heslo. Kdo by mi sem mohl hodit zdrojak byl bych mu velmi vdecny.
Fórum › PHP
Please help
A co takhle mrknout na kurzy, tutoriály, atd. a to PHP?ko se na nějakou úroveň naučit? Mám taky rád učení z praktických příkladů, ale ne tak, že to za mě napíše někdo jinej. :O
Dušan Janošík | web: djanosik.cz, @djanosik
Stačilo by něco na tento způsob?
login.php
<?php
$heslo = "super_tajne_heslo";
if($_POST["form_login"]) {
if($_POST["password"] == $heslo) {
//cookie ktera se smaze po zavreni prohlizece
if(!setcookie("super_tajna_cookie", crypt($heslo)))
$loginnotice = "Pro prihlaseni je nutne mit povolene cookies!";
else
//presmerovani na tajnou stranku
Header("Location: http://example.com/super_tajna_stranka_s_tajnym_nazvem.php");
}
else {
$loginnotice = "Chybne heslo!";
}
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-language" content="cs">
<meta http-equiv="content-type" content="text/html; charset=<?php echo $charset; ?>">
<meta name="keywords" content="<?php echo $metakeywords; ?>">
<meta name="description" content="<?php echo $title; ?>">
<title>
<?php echo "t".$title."n"; ?>
</title>
</head>
<body>
<form name="login" action="<?php echo $_SERVER["REQUEST_URI"]; ?>" method="post">
<div class="outlinetitle" title="P?ihl??en? u?ivatele">
P?ihl?sit
</div>
<br style="line-height: 12px">
<?php echo $loginnotice."n"; ?>
<br style="line-height: 12px">
<table style="font: bold 12px Verdana" align="left">
<tr>
<td>
<input type="password" size="15" name="password" style="width: 120px">
</td>
<td>
Heslo
</td>
</tr>
<tr>
<td>
<input type="hidden" name="form_login" value="sent">
<input type="submit" name="loginbutton" value="P?ihl?sit">
</td>
</tr>
</table>
</form>
</body>
</html>
super_tajna_stranka_s_tajnym_nazvem.php
<?php
$heslo = "super_tajne_heslo";
//Overeni
if(crypt($heslo, $_COOKIE["super_tajna_cookie"]) == $_COOKIE["super_tajna_cookie"]) {
?>
<!-- libovolny html kod -->
dostali jste se do supertajne stranky
<?php
}
else {
?>
<!-- libovolny html kod -->
NEPOVOLENY PRISTUP
<?php
}
?>
Jako jedinou závažnější bezpečnostní díru vidím možné odposlechnutí $_POST hodnot, což by šlo například ošetřit ssl komunikací nebo s pomocí techniky "výzva-odpověď". Jak popsal Vrána na svém webu http://php.vrana.cz/bezpecne-prihlasovani-uzivatelu.php.
Věřím, že můžete v životě získat všechno, co budete chtít, když budete pomáhat druhým lidem, aby dostali to, co si přejí oni. - Zig Ziglar
dost dlouhy a slozity :))
<?
if(!($PHP_AUTH_USER=="naky_login" && $PHP_AUTH_PW=="nake_heslo")){
Header("WWW-Authenticate:Basic realm='SITE'");
Header("HTTP/1.0 401 unauthorized");
exit;
}
?>
Tohle das na zacatek (jeste pred <HTML>!!!) a je to ;-)
Nefuguje copy/paste :((
Jinak, kdyby si někdo chtěl o plusech a mínusech tohoto typu autentifikace přečíst víc - http://php.vrana.cz/prihlasovani-uzivatelu.php.
Věřím, že můžete v životě získat všechno, co budete chtít, když budete pomáhat druhým lidem, aby dostali to, co si přejí oni. - Zig Ziglar
Zjistit počet nových příspěvků
Přidej příspěvek
Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
Uživatelé prohlížející si toto vlákno
Uživatelé on-line: 0 registrovaných, 31 hostů
Podobná vlákna
Helpdesk v php — založil Paja2
Problem s jednim programikom Helpnete pls — založil Dark
Leader of helpdesk team Zilina — založil PB_BHR
HELP_řetězec — založil Mitch
Helpdesk - htaccess — založil František
Moderátoři diskuze