Avatar billede the_legend Nybegynder
11. juni 2003 - 16:56 Der er 17 kommentarer og
1 løsning

session og sikkerhed

Hej jeg bruger session til mit brugersystem men når jeg skal tjekke om folk er logget ind bruger jeg
if($blbla && $blala){
echo "Du er logget ind!";
} else{
echo "Du skal logge ind!";
}

men folk skal jo bare skrive i url fil.php?brugernavn=asdj&password=add

hvordan kan jeg gøre det mere sikkert?
Avatar billede schaefner Juniormester
11. juni 2003 - 16:59 #1
if (isset($_SESSION['blbla'],$_SESSION['blala'])) {
  echo 'Du er logget ind!';
} else{
  echo 'Du skal logge ind!';
}

Burde gøre tricket
Avatar billede schaefner Juniormester
11. juni 2003 - 17:00 #2
men det skal jo nok være:
if (isset($_SESSION['brugernavn'],$_SESSION['password'])) {
Avatar billede the_legend Nybegynder
11. juni 2003 - 17:01 #3
hvad er det som gør din er sikker så man ikke kan skrive fil.php?o.s.v?
Avatar billede the_legend Nybegynder
11. juni 2003 - 17:01 #4
bruger faktisk form_brugernavn men det er lige meget
Avatar billede schaefner Juniormester
11. juni 2003 - 17:02 #5
det der gør den mere sikker er, at den tjekker om det rent faktisk er en session der er sat.
Avatar billede the_legend Nybegynder
11. juni 2003 - 17:03 #6
det virker men hvad er det som gør dit virker og mit ikke?
Avatar billede the_legend Nybegynder
11. juni 2003 - 17:03 #7
det vil sige session skal stå der?
Avatar billede fangel Nybegynder
11. juni 2003 - 17:03 #8
du skal angive at det skal komme fra session ved at bruge scheafners metode... hvis du skulle angive det kom fra andresselinie skulle du bruge $_GET['...']

Morten
Avatar billede schaefner Juniormester
11. juni 2003 - 17:04 #9
og $_POST[] hvis det er fra en formular og $_COOKIE[] hvis det er en cookie. Ellers risikere du at blande dine variabler sammen.
Avatar billede the_legend Nybegynder
11. juni 2003 - 17:05 #10
ok så det er altså session der gør det?
Avatar billede fangel Nybegynder
11. juni 2003 - 17:07 #11
ja
Avatar billede the_legend Nybegynder
11. juni 2003 - 17:08 #12
ok! det er jo meget enkelt men hvad gør isset så?
Avatar billede schaefner Juniormester
11. juni 2003 - 17:09 #13
den tjekker bare om de er sat.

isset = er sat
Avatar billede the_legend Nybegynder
11. juni 2003 - 17:09 #14
ok så var det alt vil i dele eller vil du kun have shaefner?
Avatar billede fangel Nybegynder
11. juni 2003 - 17:14 #15
bare giv scheafner dem... jo ikke fordi man har brug for dem
Avatar billede the_legend Nybegynder
11. juni 2003 - 17:17 #16
ok!
Avatar billede the_legend Nybegynder
13. juni 2003 - 18:37 #17
if (isset($_GET['id'])) {
// Viser den enkelte
$query = mysql_query("SELECT * FROM tabel WHERE id = $_GET[id]") or die(mysql_error());
$row = mysql_fetch_array($query);
echo "$row[overskrift]";
} else {
// Henter alle nyheder
if($row){
echo "$row[af] d. $row[dato_tid]: <a href='?id=$row[id]'>$row[overskrift]</a><br><br>".nl2br($row[nyhed])."<br><hr Color=#183952 width=100% size=1>
";
} elseif ($row == '') {
echo 'Der er ikke nogle nyheder endnu.';
}
}

?> // dette er linie 44


får denne fejl:

Parse error: parse error, unexpected $ in d:\easyphp\www\csclan\nyheder.php on line 44
Avatar billede fangel Nybegynder
13. juni 2003 - 19:02 #18
hvis du lavede lidt indent i dit script kunne du nok se fejlen

if (isset($_GET['id'])) {
  // Viser den enkelte
  $query = mysql_query("SELECT * FROM tabel WHERE id = " . $_GET['id']) or die(mysql_error());
  $row = mysql_fetch_array($query);
  echo $row['overskrift'];
} else {
  // Henter alle nyheder
  if($row){
    echo "$row[af] d. $row[dato_tid]: <a href='?id=$row[id]'>$row[overskrift]</a><br><br>".nl2br($row[nyhed])."<br><hr Color=#183952 width=100% size=1>
    ";
  }
  elseif ($row == '') {
    echo 'Der er ikke nogle nyheder endnu.';
  }
}

fejlen skyldes nemli' normalt at man mangler en } et sted... når ma så stiller der pænt op, så plejer man at kunne se det...
det kan jeg ikke lige her, men når det er stillet pænt op, så prøv selv at kig...

og tag lige og skriv lidt pænere kode, en key i et array skal altid være omsluttet (med minde denne er en constant, men det tvivler jeg på)

if($row){ er også lige fræk nok... der findes faktisk bedre funktioner til dette

Morten
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