Just nu i M3-nätverket
Jump to content

$_SESSION


easy

Recommended Posts

Jag bytte igår server, och utan att ha ändrat nånting förutom servervariabler och liknande, så slutade skriptet att fungera.

 

Det jag tror kan ha orsakat detta är $_SESSION-variabler. Här nedan följer koden:

 

<?

session_start();

 

include "connect.php";

 

if (strlen($_POST['user'])<2) {

 

header ("Location: ./?go=incorrect");

 

exit;

 

}

 

elseif (strlen($_POST['pass'])<2) {

 

header ("Location: ./?go=incorrect");

 

exit;

 

}

 

else {

 

$query = mysql_db_query("easy", "SELECT id FROM crew WHERE user='{$_POST['user']}' AND pass='{$_POST['pass']}'");

 

if (mysql_num_rows($query) == 0) {

 

header ("Location: ./?go=incorrect");

 

exit;

 

}

 

$_SESSION['sess_id'] = mysql_result($result, 0);

$_SESSION['sess_user'] = $_POST['user'];

 

header("Location: loggedon.php?go=indx");

 

exit;

 

}

 

?>

 

På loggedon.php så tittar den först om $_SESSION['sess_user'] är satt, om inte så skickas man till första sidan. Det är just det som händer när jag försöker logga in. Testa själva, Användare: easy^ lösenord: miljtala1.

 

Vore oerhört tacksam för ett bra svar... tror att detta beror på någon inställning eller liknande på servern, vilka ni kan se här:

http://pts-1.tty0.org/~easy/apa.php.

 

Har verkligen försökt att hitta felet, så tro inte att jag bara postar detta inlägg för att jag är lat!

 

Love

/easy

 

Link to comment
Share on other sites

För att hjälpa dig måste vi ha lite mer information.

Jag kan inte hitta något skriptfel, däremot en säkerhetsbrist i SQL-frågan.

Den bör istället se ut så här:

$query = mysql_db_query("easy", "SELECT id FROM crew WHERE user='" . addslashes($_POST['user']) . "' AND pass='" . addslashes($_POST['pass']) . "'");

Gör sedan så att du istället för att skicka vidare användaren skriver ut en 1:a för första if-satsen, en 2:a för nästa osv, så ser du var den skickar om användaren.

 

Kör även en "print_r($_SESSION);" i slutet av filen, efter det att du satt sessionvariablerna för att se om dessa satts ordentligt.

 

Link to comment
Share on other sites

Tack för svaret!

 

addslashes, vad gör det?

 

Jag bytte tillbaka till min gamla server, då den nya krånglade för mycket. T.ex. ibland när jag hade loggat in (fick $_SESSION att delvis funka till sist) och gick tillbaka till förstasidan för att titta nyheterna, så visade den inte dom nyaste nyheterna. Jag fick nog av dessa skumheter till sluta, så nu får sidan ligga på ett gratishotell tills vidare :)

 

/easy

 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...