Sessie controleren
Ik heb een script gemaakt om binnen LDAP in te loggen, en dit werkt.
Nu heb ik aan het einde van dit script als de login juist is deze gegevens gezet:
$_SESSION['gebruiker'] = $gebruikersnaam;
$_SESSION['toegang'] = $access;
De gebruikersnaam zet de gebruikersnaam in een sessie en toegang is 1 of 2.
1 = Standaard gebruiker mag heel de applicatie zien
2 = Administrator
Deze toegang is gebonden aan twee Active Directory groepen, ook dit werkt.
Nu haal ik binnen index.php op deze manier de pagina's op:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
if(isset($_GET['pagina'])) {
switch(strtolower($_GET['pagina'])){
case "home": include "p/home.php"; break;
case "meldingen/servicerequest": include "p/meldingen/servicerequest.php"; break;
case "meldingen/incidenten": include "p/meldingen/incidenten.php"; break;
case "meldingen/standaardchanges": include "p/meldingen/standaardchanges.php"; break;
case "meldingen/afsluitomschrijvingen": include "p/meldingen/afsluitomschrijvingen.php"; break;
case "meldingen/mail": include "p/meldingen/mail.php"; break;
case "lijstwerk/gebruikers": include "p/lijstwerk/gebruikers.php"; break;
case "lijstwerk/groepen": include "p/lijstwerk/groepen.php"; break;
case "over/versie": include "p/over/versie.php"; break;
case "over/applicatie": include "p/over/applicatie.php"; break;
case "over/help": include "p/over/help.php"; break;
default: include "error.php" ; break;
}
}
else {
include "p/home.php";
}
?>
if(isset($_GET['pagina'])) {
switch(strtolower($_GET['pagina'])){
case "home": include "p/home.php"; break;
case "meldingen/servicerequest": include "p/meldingen/servicerequest.php"; break;
case "meldingen/incidenten": include "p/meldingen/incidenten.php"; break;
case "meldingen/standaardchanges": include "p/meldingen/standaardchanges.php"; break;
case "meldingen/afsluitomschrijvingen": include "p/meldingen/afsluitomschrijvingen.php"; break;
case "meldingen/mail": include "p/meldingen/mail.php"; break;
case "lijstwerk/gebruikers": include "p/lijstwerk/gebruikers.php"; break;
case "lijstwerk/groepen": include "p/lijstwerk/groepen.php"; break;
case "over/versie": include "p/over/versie.php"; break;
case "over/applicatie": include "p/over/applicatie.php"; break;
case "over/help": include "p/over/help.php"; break;
default: include "error.php" ; break;
}
}
else {
include "p/home.php";
}
?>
Nu is de vraag:
Ik wil index.php compleet afschermen zodat mensen alleen met juiste login gegevens er in kunnen, en dat hier ook de rechten worden opgehaald.
De paginas zelf (losse PHP bestanden) moeten ook worden afgeschermd, maar die moeten gewoon een fout gaan geven van: U heeft geen toegang, login.
Hoe kan ik dit het beste veilig afschermen?
Alle gebruikers werken vanaf het zelfde IP, dus misschien kan ik een Sessie ID inbouwen?
Kan niet werken met MySQL dus dat is geen optie.
Graag hoor ik jullie idee, heb geen idee hoe ik dit binnen PHP moet oplossen.
Alvast bedankt,
Rick
Is dat veilig, of kan ik het beter op een andere manier regelen?