Kezdőoldal » Számítástechnika » Weblapkészítés » Egyszerű PHP jelszavas védelem?

Egyszerű PHP jelszavas védelem?

Figyelt kérdés

Kipróbáltam egy-két jelszavas védelmet az oldalamra, amikkel több kevesebb gondom akadt.

Vegyük először azt ami működött:


van egy formom ami két mezőből áll név és jelszó, a php-s részben pedig megadtam ezeket neki, ha sikerült belépni akkor kiírja hogy sikeres, ha nem akkor sikertelen.


Ez mind remekül működött, de az a gondom, hogy nekem az adott oldalra kéne a védelem nem az oldal elé egy fájlba amivel ha jól írtam be a cuccost akkor áttesz arra az oldalra amerre menni akarok.


Ezért, próbáltam egy p_protect nevezetű valamit ami nagyon megtetszett mert e-mail értesítőt is kapnék ha valaki megpróbálna belépni rossz jelszóval az adott oldalra. Csak ez valamiért nem működik:


<?php


$selfSecure = 1;

$shellUser = "demo";

$shellPswd = "demo";


$adminEmail = "admin email";

$fromEmail = $HTTP_SERVER_VARS["SERVER_ADMIN"];


A gond valahol itt van:


$Version = "Your details here (for example The Webmaster – webmaster@xxx.com)";

if($selfSecure){

if (($PHP_AUTH_USER!=$shellUser)||($PHP_AUTH_PW!=$shellPswd)) {

Header(‘WWW-Authenticate Basic realm="MCE Web ADMIN only!"’);

Header(‘HTTP/1.0 401 Unauthorized’);

echo " <html>



<head>

<title>Error – Belépés megtagadva</title>

</head>

<h1>Belépés megtagadva</h1>

Figyelmeztető e-mail elküldve az oldal szerkesztőjének, IP címed, használt név és jelszó rögzítve.

<hr>

<em>$Version</em>";

if(isset($PHP_AUTH_USER)){

$warnMsg ="Valaki megpróbált belépni az következő oldalon: [link]

rossz felhasználónevet, vagy jelszót használt:

Dátum: ".date("Y-m-d H:i:s")."

IP: ".$HTTP_SERVER_VARS["REMOTE_ADDR"]."

User Agent: ".$HTTP_SERVER_VARS["HTTP_USER_AGENT"]."

Használt felhasználó: $PHP_AUTH_USER

Használt jelszó: $PHP_AUTH_PW";

mail($adminEmail,"Unauthorized Access",$warnMsg,

"From: $fromEmailnX-Mailer:$Version AutoWarn System");

}

exit;

}

}


if(!$oCols)$oCols=$termCols;

if(!$oRows)$oRows=$termRows;


?>


Nem tudom pontosan hogyan működik ez vagy mivel van a gond, mert ilyet azelőtt nem láttam.


Próbáltam egy rövidebb, hasonló formáját ennek:


<?php


$LOGIN = "gyikdemo";

$PASSWORD = "gyikdemo";


function error ($error_message) {

echo $error_message."<BR>";

exit;

}



Ennél itt a gond:


if ( (!isset($PHP_AUTH_USER)) || ! (($PHP_AUTH_USER == $LOGIN) && ( $PHP_AUTH_PW == "$PASSWORD" )) ) {

header("WWW-Authenticate: Basic entrer="Form2txt admin"");

header("HTTP/1.0 401 Unauthorized");

error("Unauthorized access…");

}

?>



<HTML><HEAD><TITLE>védett rész</TITLE></HEAD>

<BODY BGCOLOR="white">

<BR><BR><P ALIGN="Center"><FONT FACE="Arial, helvetica" SIZE="+2" COLOR="#336699"><STRONG><EM>A védett honlapod tartalma</EM></STRONG></FONT></P><BR>


Ha valaki talál megoldást a problémámra azt köszönöm



2013. márc. 5. 19:16
 1/4 anonim ***** válasza:
Másold be lécci a hibaüzenetet is, anélkül nehéz debuggolni.
2013. márc. 5. 21:32
Hasznos számodra ez a válasz?
 2/4 A kérdező kommentje:

Mindkettőnél ugyanezt:


Parse error: syntax error, unexpected T_STRING in /untitled/p_protect.php on line 13

2013. márc. 6. 09:05
 3/4 anonim ***** válasza:

Hát nem tudom melyik a 13. sor, de ezeket a hibákat találtam:


Ez a sor például hibás:

header("WWW-Authenticate: Basic entrer="Form2txt admin"");


Az idézőjeleket escape-elni kéne így:

header("WWW-Authenticate: Basic entrer=\"Form2txt admin\"");


Az első kódban pedig csak tippre mondom, hogy az echo "<html> utáni sok sortörés nem tetszik neki. Ahhoz hogy sortöréseket tehess string literálba, 3 idézőjellel kell körülhatárolni:


"""<html>

blabla"""

2013. márc. 6. 09:57
Hasznos számodra ez a válasz?
 4/4 A kérdező kommentje:
ooooohh.... ember, köszönöm szépen!
2013. márc. 7. 08:19

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!