atzs Posted December 7, 2005 Posted December 7, 2005 Egy szolgáltatótól átkerült hozzám egy php alapú site. Az egyszerûség kedvéért a php-hez nem értek. ír: Az egyik lap tartalmazza az include_once("include/auth.php"); sort. Az auth.php a következõ: <? if(!isset($_SERVER['PHP_AUTH_USER'])) { header('WWW-Authenticate: Basic realm="Adatbázis adminisztráció"'); header('HTTP/1.0 401 Unauthorized'); echo 'Please autenticate yourself to site administration!'; exit; } else { $dbquery="select * from users where username='$_SERVER[PHP_AUTH_USER]'"; $result=mysql_query($dbquery) or die(mysql_error()); $line=mysql_fetch_array($result, MYSQL_ASSOC); if($_SERVER['PHP_AUTH_PW']!=$line[password] or !isset($line[password]) or $line[password]=="") { header('WWW-Authenticate: Basic realm="Adatbázis adminisztráció"'); header('HTTP/1.0 401 Unauthorized'); print("Nem jó felhasznalónév-jelszó páros"); mysql_close($dbh); die; } else { $authname=$line[username]; $authemail=$line[email]; } } ?> Állítólag eddig úgy mûködött, hogy amikor erre a lapra jött, akkor megjelent egy ablak, amely név-jelszó párost kért. Nekem az IIS szerveren egyszerûen ráfut a 'Please autenticate yourself to site administration!' ágra. Sejtésem szerint a $_SERVER['PHP_AUTH_USER'] és $_SERVER['PHP_AUTH_PW'] változóknak kellene valahogy értéket adnom, de hogyan? Köszönöm elõre is a segítséget!
Mezofi Posted December 7, 2005 Posted December 7, 2005 Ez a progi megnézi, hogy van-e a $_SERVER['PHP_AUTH_USER']-nek értéke, ha van akkor kéri a jelszót és a passwordot, amit összehasonlita az adtabázis users-nevû táblájában tárolt username értékével. IE-vel jól mûködik. A echo phpinfo() parancsal kiírathatod a PHP_AUTH_USER-értékét, valahol a végén van ebbõl megtudod van-e értéke vagy nincs. Így adhatsz neki értéket: $_SERVER['PHP_AUTH_USER']="Én vagyok"; Gondolom! De ezután már azonnal nézi van-e adatbázis elérésed. De ha kell egy normális és érthetõ beléptetõ akkor szólj. De ha ezt akarod tuningolni akkor is kérdezhetsz.
atzs Posted December 7, 2005 Author Posted December 7, 2005 Ezt kell tuningolnom. Nem igazán van jogom belenyúlni a forrásba (bár mint látod, valamennyire elkerülhetetlen), és nem is értek hozzá. Az értékadás az mûködik, ahogy leírtad. Megpróbálom megírni elsõ php scriptemet, amely bekéri a nevet és jelszót, és beállítja a változókat. Köszi az útbaigazítást.
atzs Posted December 7, 2005 Author Posted December 7, 2005 A komplett regisztrációs kód jónak tûnik, nekem ugyanis fontos, hogy aki direktben beírja a védett lap nevét, az ne férjen hozzá. Megnézem, mit tudok vele kezdeni. Arra már rájöttem, hogy ha megpróbálom beállítani a $_SERVER['PHP_AUTH_USER'] értékét, azt a gép nagyon gyorsan elfelejti... ír: Talán ez a session_start() segít ebben.
Mezofi Posted December 7, 2005 Posted December 7, 2005 Igen ennek pont ez a lényege, hogy ha bejelentkezett, csak akkor léphet be a védett oldalakra!
Stefan-5 Posted March 1, 2006 Posted March 1, 2006 Ha html-ben dolgozom, hogyan tudom elérni, hogy egy adott lapott csak név és helyes jelszó beírásával legyen megtekinthetõ? Milyen parancssort kell beírnom a progiba és hova melyik részre??? Segítséget elõre is köszi!!
arpsoft Posted March 1, 2006 Posted March 1, 2006 Simán HTML-ben nem lehet megoldani. Vagy Java vagy PHP vagy egyéb CGI nyelv használata szükséges hozzá.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now