Gå til innhold

Session problemer i innlogging


Anbefalte innlegg

Jeg har fant et loginscript på nettet. Dette syntes jeg var bra, og brukte på flere småprogrammer jeg har laget. Eneste er at det oppsto store problemer. Jeg fant ut at den godtar sessions fra andre sider. Så hvis jeg har brukt innloggingssystemet på en annen side, hvor jeg har helt andre brukere, kan de komme rett inn på den andre passordbeskyttede siden.

 

Finnes det en løsning hvor session-et får et id eller noe, så den kun godtar innlogging, fra sin egen side, ikke andres :hmm:

 

Går dette ann, eller skal jeg gjøre noe annet?

Endret av mariusmk
Lenke til kommentar
Videoannonse
Annonse
Legg ut litt kode som vi kan gnage på.

9290254[/snapback]

Ok:

Check login:

Klikk for å se/fjerne innholdet nedenfor
<?php

 

$host="****"; // Host name

$username="****"; // Mysql username

$password="****"; // Mysql password

$db_name="****"; // Database name

$tbl_name="****"; // Table name

 

// Connect to server and select databse.

mysql_connect("$host", "$username", "$password")or die("cannot connect");

mysql_select_db("$db_name")or die("cannot select DB");

 

// username and password sent from signup form

$myusername=$_POST['myusername'];

$mypassword=$_POST['mypassword'];

 

$sql="SELECT * FROM {$prefix}$tbl_name WHERE username='$myusername' and password='$mypassword'";

$result=mysql_query($sql);

 

// Mysql_num_row is counting table row

$count=mysql_num_rows($result);

// If result matched $myusername and $mypassword, table row must be 1 row

 

if($count==1){

// Register $myusername, $mypassword and redirect to file "index.php"

session_register("myusername");

session_register("mypassword");

header("location:index.php");

}

else {

echo "Feil brukernavn eller passord";

}

Print ' <a href="main_login.php">Tilbake</a>';

?>

 

Sjekk om session er i gang - filen

Klikk for å se/fjerne innholdet nedenfor
<?

session_start();

session_register("username");

 

$username = "$myusername";

 

if(!session_is_registered(myusername)){

header("location:main_login.php");

}

 

?>

Lenke til kommentar
Du må huske å ha session_start(); øverst på alle sidene hvor du skal lese/skrive session variabler. Når du skal lage en session variabel, ikke bruk: session_register("username"); bruk: $_SESSION['navnPaaSessionVariabel'] = 'Og her verdien til session var.';

 

Lykke til.

9290328[/snapback]

Jeg inkluderer en side hvor session start er. Det virker det, men problemet er at jeg bruker nøyaktig det samme innloggingssystemet og da kan jeg komme fra den ene siden, til den andre, uten å at begge systemene har de samme brukerene.
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...