Avatar billede jberiksen Nybegynder
30. juli 2010 - 14:46 Der er 5 kommentarer og
1 løsning

Loginsystem og session

Hej

Jeg har et loginsystem, som virker, men det jeg gør er at skrive i en session variabel at jeg er loggede ind, så de andre sider kan se at de skal vise indholdet og ikke sende mig til login formularen. Men det er der jo en potentiel sikkerhedsrisiko i men har jeg noget alternativ?

min check fil ser ud som følger, hvis der er nogle sikkerhedshuller i den vil jeg blive glad for en kommentar på det også.

<?php
session_start();

require_once("sqlfunctions.php");
SQL_ConnectDb();

$bruger = $_POST["brugernavn"];
$pass = $_POST["password"];
$bruger = stripslashes($bruger);
$pass = stripslashes($pass);
$bruger = mysql_real_escape_string($bruger);
$pass = mysql_real_escape_string($pass);
$error = "";

$userQuery = mysql_query("SELECT medlemsnummer,login,password,adgangsniveau FROM medlemmer WHERE login='$bruger'");

if(mysql_num_rows($userQuery) != 1)
    {
    }
else
    {
        $userArray = mysql_fetch_array($userQuery);
    }

if($userArray["password"] != SHA1($pass))
    {
        $error .= "Password og brugernavn passer ikke sammen.<br>";
    }
   
if($error != "")
    {
        echo $error . "<a href=\"java script:history.back(-1);\">Tilbage</a>";
    }
else
    {
        $_SESSION["logged_in"] = 1;
            $_SESSION["user_id"] = $userArray["medlemsnummer"];
        session_register ("brugernavn");
       
        header("Location: index.php");
    }

SQL_CloseLink();
?>






Koden der står i de andre fil for at tjekke om jeg er logget ind er.

<?
if (! session_is_registered (brugernavn))
    {
        header ("Location: index.php");
    }
?>
Avatar billede The_Buzz Novice
30. juli 2010 - 15:28 #1
Overvåger denne her - jeg kan ikke se sikkerhedsrisikoen i din løsning, eller måske jeg overser et eller andet?
Avatar billede jberiksen Nybegynder
30. juli 2010 - 15:39 #2
så vidt jeg har forstået bygger sessions grundlæggende på cookies der jo er risikable når vi snakker om hackere, og dermed vil jeg tro der også er en eller anden risiko med sessions
Avatar billede The_Buzz Novice
30. juli 2010 - 15:43 #3
Ja men de cookies der gemmes gemmes på serveren i deres session fil og ikke på deres egen computer.

Der er to former for cookies, dem der sættes på deres egen maskine, og dem der sættes med session - som så ligger på serveren.

Der bliver skam gemt en cookie på brugerens computer også når du bruger session. MEN det er bare PHP session cookie med
f.eks følgende values:
Navn PHPSESSID
Værdi 350fc1b63fb808711c63bfee2b1896ef
Vært fakturaservice.dk
Sti /
Sikker Nej
Udløber Ved slutningen af sessionen
Avatar billede repox Seniormester
31. juli 2010 - 14:35 #4
Jeg vil anbefale dig at kigge på denne tråd: http://www.eksperten.dk/spm/913328
Avatar billede jberiksen Nybegynder
01. december 2010 - 10:08 #5
Sender du et svar The_Buzz?
Avatar billede The_Buzz Novice
01. december 2010 - 10:22 #6
svar
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