Avatar billede m_bold Praktikant
31. august 2005 - 15:05 Der er 10 kommentarer og
1 løsning

sessions problem

Jeg har et problem med flere sessions på en gang.

Siderne ligger på samme server, men har forskellige login og passwords. Når jeg er logget ind på en side, kan jeg hoppe direkte over i en anden uden at skrive det andet login og password. Det er jo ikke meningen.

Altså:
Jeg skriver www.minside.dk/admin og login og password.

Derefter skriver jeg www.minside.dk/admin2, men her er jeg allerede inde i systemet - uden at logge ind.

Hvordan kan jeg rette op på det?
Her er min kode, hvor jeg tjekker sessionen:

<?php
session_start();
$MM_authorizedUsers = "";
$MM_donotCheckaccess = "true";

// *** Restrict Access To Page: Grant or deny access to this page
function isAuthorized($strUsers, $strGroups, $UserName, $UserGroup) {
  // For security, start by assuming the visitor is NOT authorized.
  $isValid = False;

  // When a visitor has logged into this site, the Session variable MM_Username set equal to their username.
  // Therefore, we know that a user is NOT logged in if that Session variable is blank.
  if (!empty($UserName)) {
    // Besides being logged in, you may restrict access to only certain users based on an ID established when they login.
    // Parse the strings into arrays.
    $arrUsers = Explode(",", $strUsers);
    $arrGroups = Explode(",", $strGroups);
    if (in_array($UserName, $arrUsers)) {
      $isValid = true;
    }
    // Or, you may restrict access to only certain users based on their username.
    if (in_array($UserGroup, $arrGroups)) {
      $isValid = true;
    }
    if (($strUsers == "") && true) {
      $isValid = true;
    }
  }
  return $isValid;
}

$MM_restrictGoTo = "login.php";
if (!((isset($_SESSION['MM_Username'])) && (isAuthorized("",$MM_authorizedUsers, $_SESSION['MM_Username'], $_SESSION['MM_UserGroup'])))) { 
  $MM_qsChar = "?";
  $MM_referrer = $_SERVER['PHP_SELF'];
  if (strpos($MM_restrictGoTo, "?")) $MM_qsChar = "&";
  if (isset($QUERY_STRING) && strlen($QUERY_STRING) > 0)
  $MM_referrer .= "?" . $QUERY_STRING;
  $MM_restrictGoTo = $MM_restrictGoTo. $MM_qsChar . "accesscheck=" . urlencode($MM_referrer);
  header("Location: ". $MM_restrictGoTo);
  exit;
}
?>
Avatar billede hmm10 Nybegynder
31. august 2005 - 15:14 #1
Smid en $_SESSION[place] = 'din mappes navn' og valider den på din side. Hvis $_SESSION[place] ikke er det rigtige mappenavn:

if(...) {
  session_destroy();
}
Avatar billede m_bold Praktikant
31. august 2005 - 15:34 #2
Kan jeg få dig til at specificere lidt tydeligere, hvordan jeg koder det. Jeg har nemlig ikke selv lavet ovenstående, så jeg er ikke helt med på, hvor jeg skal skrive hvad???
Avatar billede spectre Nybegynder
31. august 2005 - 18:55 #3
kig lidt på funktionen session_set_cookie_params

http://dk.php.net/session_set_cookie_params

mener du kan lave noget med session_set_cookie_params(0, "/admin/) for den ene og session_set_cookie_params(0, "/admin2/) for den anden
Avatar billede m_bold Praktikant
01. september 2005 - 10:53 #4
Mmja. Jeg har prøvet mig lidt frem med hmm10's løsning. Det ser umiddelbart ud til at gå ok. Har du nogen ide om, hvor længe $_SESSION[place] bliver liggende?
Avatar billede m_bold Praktikant
04. september 2005 - 21:32 #5
Nå ok. Aniways - jeg har brugt hmm10's løsning og det virker som det skal. Smid et svar, så får du points!
Avatar billede m_bold Praktikant
16. september 2005 - 21:50 #6
hmm10 --> du får lige en chance mere for at smide et svar, ellers vil jeg lukke snart...
Avatar billede m_bold Praktikant
23. september 2005 - 20:35 #7
lukker
Avatar billede hmm10 Nybegynder
26. september 2005 - 11:20 #8
Godt at det virker :)
Avatar billede m_bold Praktikant
26. september 2005 - 12:39 #9
er du interesseret i at få dine points, fordi så laver jeg bare et nyt spm med points til dig?
Avatar billede hmm10 Nybegynder
01. oktober 2005 - 20:43 #10
200. er lige i overkanten m_bold. 10 er fint :)
Avatar billede m_bold Praktikant
02. oktober 2005 - 21:57 #11
Ok. Du kan hente pointsene her: http://exp.dk/spm/652810
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