Avatar billede Laura Fabel Nielsen Juniormester
14. marts 2019 - 21:19 Der er 5 kommentarer og
1 løsning

Mit CMS system virker ikke

Jeg har lavet et login System i PHP, men selvom brugernavn og kodeordet passer, og jeg har fået output på mine variabler, og det skulle virke, uanset hvad så er mit IF = false.

<?php
session_start();
$_SESSION["login"] = FALSE;
?>
<html>
<head>
<title>"Melding.dk"</title>

</head>
<body>
<style>
body {background-color: powderblue;}
p {border-style: outset;}
</style>
<?php
$navn = $_POST["navn"];
$pass = $_POST["pass"];
$id = $_POST["id"]; 

$bnavn = file("http://www.melding.dk/data/bruger/bruger_navn.txt")[$id];
$bpass = file("http://www.melding.dk/data/bruger/bruger_pass.txt")[$id];   
if($navn ===$bnavn and $pass ===$bpass)
{
echo "<p>Admin menu</p>";
echo"Welcome back $navn";
$_SESSION["login"] = TRUE;
menu();
}

else
{
echo "<p>Login Error</p>";
echo"Wrong login or null";
echo"<br> $navn og $bnavn"; 
echo "<br><a href='index.php'>Logout</a>"; 
$_SESSION["login"] = FALSE;
}

function menu()
{

echo "<br><a href='users.php'>Users</a>";
echo "<br><a href='index.php'>Logout</a>"; 
}
?>
</body>
</html>
Avatar billede Slater Ekspert
14. marts 2019 - 22:05 #1
Det er muligvis den dårligste sikkerhed jeg nogensinde har set. Ikke kun opbevarer du passwords i plaintext, men de ligger i txt-filer som enhver kan tilgå via URL'en http://www.melding.dk/data/bruger/bruger_pass.txt

Men hvis det skal være, så brug var_dump() til at se hvad $bnavn og $bpass indeholder. Det giver som regel en ret god indikation af problemet.
Avatar billede arne_v Ekspert
14. marts 2019 - 22:16 #2
file funktionen laeser linier ind *inklusive* newline (medmindre option FILE_IGNORE_NEW_LINES er brugt).

Det skal nok faa test til at fejle.
Avatar billede arne_v Ekspert
14. marts 2019 - 22:16 #3
Og ja designet er aldeles haabloest sikkerhedsmaessigt.
Avatar billede Laura Fabel Nielsen Juniormester
14. marts 2019 - 22:19 #4
jeg har checket variablerne, og det passer, jeg forstår bare ikke hvad der er galt.
men jeg er ligeglad med sikkerheden, det er også bare et test project indtil videre.
Avatar billede Slater Ekspert
14. marts 2019 - 22:23 #5
Ja, hvis indholdet ser korrekt ud, så har Arne garanteret ret i at det er linjeskift.

Og naturligvis er det fint at eksperimentere - så længe du ved at dette absolut ingen mening giver i nogen virkelig situation.
Avatar billede Laura Fabel Nielsen Juniormester
14. marts 2019 - 22:25 #6
Tak, det var FILE_IGNORE_NEW_LINES som var løsningen. jeg har først lige begyndt med PHP.
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

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