Avatar billede nielspt Nybegynder
28. marts 2006 - 00:06 Der er 5 kommentarer og
1 løsning

hvor sikker er denne password-beskyttede side?

Er dette sikkert nok? Har gemt ting på den 'hemmelige' side, som helst ikke skal opsnuses af spam-bots eller andet..

____________________________________________


<?php

// Define username and password
$username = "******";
$password = "******";

if ($_POST['txtUsername'] != $username || $_POST['txtPassword'] != $password) {

?>
<center>
<font color="red">type name, password!</font>
<form name="form" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
    <p><label for="txtUsername">Navn:</label>
    <br /><input type="text" title="Navn" name="txtUsername" /></p>

    <p><label for="txtpassword">Password:</label>
    <br /><input type="password" title="Password" name="txtPassword" /></p>

    <p><input type="submit" name="Submit" value="Login" /></p>

</form>
</center>


<?php

}
else {
.... den 'hemmelige' side..

?>

____________________________________________


Mvh. Niels
Avatar billede fixxxer Nybegynder
28. marts 2006 - 01:20 #1
I så fald, hvis register_globals er off, ja så er den sikker.

Client-side kan ikke manipulere med kontroldataen i $username og $password.
Avatar billede showsource Seniormester
28. marts 2006 - 01:32 #2
om register_globals er off eller on, betyder ikke noget her, hvilket er godt!

Fordi der bruges jo $_POST og $_SERVER

Måske en
if(!isset($_POST["txtusername"], $_POST["txtPassword"]) || resten af if) { .........

så vil det altid vil virke, uanset server opsætning.

En hacker vil jo kunne få adgang til filen, altså læse brugernavn og password, men som php script (vist i browser), kan det ikke ændres, vil jeg mene.
Avatar billede nielspt Nybegynder
28. marts 2006 - 16:08 #3
showsource

vil det sige:

<?php

// Define username and password
$username = "******";
$password = "******";

if(!isset($_POST["txtusername"], $_POST["txtPassword"]) || if ($_POST['txtUsername'] != $username || $_POST['txtPassword'] != $password) {

?>
<center>
<font color="red">type name, password!</font>
<form name="form" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
    <p><label for="txtUsername">Navn:</label>
    <br /><input type="text" title="Navn" name="txtUsername" /></p>

    <p><label for="txtpassword">Password:</label>
    <br /><input type="password" title="Password" name="txtPassword" /></p>

    <p><input type="submit" name="Submit" value="Login" /></p>

</form>
</center>


<?php

}
else {
.... den 'hemmelige' side..

?>



For det giver fejlen: Parse error: parse error, unexpected T_IF (der i linien med if-sætninger)

Smid et gerne et svar, så får du points uanset hvad :-)

Mvh. Niels
Avatar billede Slettet bruger
29. marts 2006 - 01:51 #4
Du skal bare fjerne et if( efter de første ||
Avatar billede nielspt Nybegynder
29. marts 2006 - 13:27 #5
Okay - så if-sætningen kommer til at se sådan her ud:

if(!isset($_POST["txtusername"], $_POST["txtPassword"]) || $_POST['txtUsername'] != $username || $_POST['txtPassword'] != $password) {

Det kører uden fejlmelding nu, men nu virker mit password/navn ikke..?? (har skrevet det rigtigt..)

Mvh. Niels
Avatar billede nielspt Nybegynder
01. april 2006 - 13:01 #6
lukker spørgsmålet...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester