Jelszavas védelem weblapra, adatbázisban tárolt nicknévvel és jelszóval
Hello! Amint az a kód elején látható, a kód nem saját forrás, de illően feltüntettem és nem töröltem ki a forrást.
Szóval lenne az alább látható kód. Nagyon szuper kis kód, mert ha belépek egy oldalra, ahol ez a kód megtalálható először két szövegdoboz fogad, amibe be kell írni a kódban beállított felhasználónevet és jelszót. Ha ezek helyesek akkor be is léptet az adott oldalra, ha nem lehet újra próbálkozni!
Szép és jó, már csak egy apróságot szeretnék még megvalósítani, ami nekem, magamtól sajnos nem megy. Ez a következő lenne:
Ezt a kódot úgy kellene átrenoválni, illetve ha nem megoldható kellene nekem egy hasonló feladatot ellátó kód, ami MYSQL adatbázisból olvassa be a felhasználónevet és a jelszót.
Van nekem egy "felhasznalok" nevezetű táblám, a következő mezőkkel: "id", "nickname", "pass". Na most csináltam egy on-line űrlapot, amivel új felhasználóneveket és jelszavakat tudok feltölteni ebbe a táblába. És azt szeretném, hogy a jelszavas védelmem (ez a kód vagy egy hasonló funkciókkal bíró kód) is e szerint működjön, azaz adatbázisból egyeztesse a felhasználónevet és a hozzá tartozó jelszót.
Tud nekem ebben valaki segíteni?
Előre is nagyon köszönöm a megoldásokat!
■ Szóval lenne az alább látható kód. Nagyon szuper kis kód, mert ha belépek egy oldalra, ahol ez a kód megtalálható először két szövegdoboz fogad, amibe be kell írni a kódban beállított felhasználónevet és jelszót. Ha ezek helyesek akkor be is léptet az adott oldalra, ha nem lehet újra próbálkozni!
Szép és jó, már csak egy apróságot szeretnék még megvalósítani, ami nekem, magamtól sajnos nem megy. Ez a következő lenne:
Ezt a kódot úgy kellene átrenoválni, illetve ha nem megoldható kellene nekem egy hasonló feladatot ellátó kód, ami MYSQL adatbázisból olvassa be a felhasználónevet és a jelszót.
Van nekem egy "felhasznalok" nevezetű táblám, a következő mezőkkel: "id", "nickname", "pass". Na most csináltam egy on-line űrlapot, amivel új felhasználóneveket és jelszavakat tudok feltölteni ebbe a táblába. És azt szeretném, hogy a jelszavas védelmem (ez a kód vagy egy hasonló funkciókkal bíró kód) is e szerint működjön, azaz adatbázisból egyeztesse a felhasználónevet és a hozzá tartozó jelszót.
Tud nekem ebben valaki segíteni?
Előre is nagyon köszönöm a megoldásokat!
<?php
# Simple password protection
#
# (c) http://www.phpbuddy.com
# Author: Ranjit Kumar
# Feel free to use this script but keep this message intact!
#
# To protect a page include this file in your PHP pages!
session_start();
$admin_user_name = "JELSZÓ";
$admin_password = "FELHASZNÉV";
if (!isset($HTTP_SESSION_VARS['user'])) {
if(isset($HTTP_POST_VARS['u_name']))
$u_name = $HTTP_POST_VARS['u_name'];
if(isset($HTTP_POST_VARS['u_password']))
$u_password = $HTTP_POST_VARS['u_password'];
if(!isset($u_name)) {
?>
<HTML>
<HEAD>
<TITLE><?php echo $HTTP_SERVER_VARS['HTTP_HOST']; ?> : Authentication Required</TITLE>
</HEAD>
<BODY bgcolor=#ffffff>
<table border=0 cellspacing=0 cellpadding=0 width=100%>
<TR><TD>
<font face=verdana size=2><B>(A belépéshez add meg felhasználóneved és jelszavad!)</b> </font></td>
</tr></table>
<P></P>
<font face=verdana size=2>
<center>
<?php
$form_to = "http://$HTTP_SERVER_VARS[HTTP_HOST]$HTTP_SERVER_VARS[PHP_SELF]";
if(isset($HTTP_SERVER_VARS["QUERY_STRING"]))
$form_to = $form_to ."?". $HTTP_SERVER_VARS["QUERY_STRING"];
?>
<form method=post action=<?php echo $form_to; ?>>
<table border=0 width=350>
<TR>
<TD><font face=verdana size=2><B>Felhasználónév</B></font></TD>
<TD><font face=verdana size=2><input type=text name=u_name size=20></font></TD></TR>
<TR>
<TD><font face=verdana size=2><B>Jelszó</B></font></TD>
<TD><font face=verdana size=2><input type=password name=u_password size=20></font></TD>
</TR>
</table>
<input type=submit value=Login></form>
</center>
</font>
</BODY>
</HTML>
<?php
exit;
}
else {
function login_error($host,$php_self) {
echo "<HTML><HEAD>
<TITLE>$host : Administration</TITLE>
</HEAD><BODY bgcolor=#ffffff>
<table border=0 cellspacing=0 cellpadding=0 width=100%>
<TR><TD align=left>
<font face=verdana size=2><B>Hibás felhasználónév és/vagy jelszó!</b> </font></td>
</tr></table>
<P></P>
<font face=verdana size=2>
<center>";
echo "Nem sikerült belépned a feltöltő felületre!
<B><a href=$php_self>Próbáld újra!</a></b><P>
</center>
</font>
</BODY>
</HTML>";
session_unregister("adb_password");
session_unregister("user");
exit;
}
$user_checked_passed = false;
if(isset($HTTP_SESSION_VARS['adb_password'])) {
$adb_session_password = $HTTP_SESSION_VARS['adb_password'];
if($admin_password != $adb_session_password)
login_error($HTTP_SERVER_VARS['HTTP_HOST'],$HTTP_SERVER_VARS['PHP_SELF']);
else {
$user_checked_passed = true;
}
}
if($user_checked_passed == false) {
if(strlen($u_name)< 2)
login_error($HTTP_SERVER_VARS['HTTP_HOST'],$HTTP_SERVER_VARS['PHP_SELF']);
if($admin_user_name != $u_name) //if username not correct
login_error($HTTP_SERVER_VARS['HTTP_HOST'],$HTTP_SERVER_VARS['PHP_SELF']);
if(isset($admin_password)) {
if($admin_password == $u_password) {
session_register("adb_password");
session_register("user");
$adb_password = $admin_password;
$user = $u_name;
}
else { //password in-correct
login_error($HTTP_SERVER_VARS['HTTP_HOST'],$HTTP_SERVER_VARS['PHP_SELF']);
}
}
else {
login_error($HTTP_SERVER_VARS['HTTP_HOST'],$HTTP_SERVER_VARS['PHP_SELF']);
}
$page_location = $HTTP_SERVER_VARS['PHP_SELF'];
if(isset($HTTP_SERVER_VARS["QUERY_STRING"]))
$page_location = $page_location ."?". $HTTP_SERVER_VARS["QUERY_STRING"];
header ("Location: ". $page_location);
}
}
}
?>
Mi a kérédés?
A problémám pedig, hogy:
Továbbra sem értem, hogyan lehet a jelenleg a kódban található felhasznév és jelszó helyett az SQL-ben tároltak segítségével beléptetni. : (
95-104. sor
Amúgy szerintem ennél jobb megoldásokat is találsz, a kódolási stílus nagyon zavaros, a megjelenés bele van kódolva a html kódba, a session_register függvényt már nem használjuk stb.
Query
Mindenesetre akkor query a megoldást, ez alapján próbálok egy újabb kódot keresni.
Köszi
auth class