Beveiliging met !ISSET werkt niet
Ik heb een probleem met de beveiliging van mijn pagina's.
Ik log in op mijn login-pagina en daar heb ik een aantal variabelen met $_SESSION gedeclareerd om er gebruik van te maken in volgende pagina's.
De code de ik gebruikt heb is als volgt:
Code (php)
1
2
3
4
5
6
2
3
4
5
6
$cVoll_naam = $row['roepnaam']." ".$row['tussenvoeg']." ".$row['naam'];
$emailadres = $_POST["e"];
$wachtwoord = $_POST["w"];
$_SESSION['emailadres'] = $emailadres;
$_SESSION['paswoord'] = $paswoord;
$_SESSION['voll_naam'] = $cVoll_naam;
$emailadres = $_POST["e"];
$wachtwoord = $_POST["w"];
$_SESSION['emailadres'] = $emailadres;
$_SESSION['paswoord'] = $paswoord;
$_SESSION['voll_naam'] = $cVoll_naam;
Uiteraard ben ik al mijn pagina's gestart met SESSION_START().
Nu gebruik ik de variabele $emailadres als test op de volgende pagina's om te kijken of ik daadwerkelijk ben ingelogd.
Elke pagina die ik oproep begint met de code
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
/**
* @author G. van Baasbank
* @copyright 2011
*/
session_start();
if (!isset($_SESSION["emailadres"])){
include("login.php");
exit();
}
?>
/**
* @author G. van Baasbank
* @copyright 2011
*/
session_start();
if (!isset($_SESSION["emailadres"])){
include("login.php");
exit();
}
?>
De bedoeling van bovenstaande code is dat in het geval van niet juist inloggen je wordt terug gestuurd naar de inlogpagina.
De praktijk is nu dat ik bij een eerste poging geen toegang krijg tot mijn pagina's maar bij een herhaalde poging wel de toegang krijg.
Wie kan mij helpen om mijn denkfout helder te krijgen?
Gewijzigd op 10/06/2011 19:44:00 door Niels K
header.
Maar van de rest moet hij volgens mij wel goed gaan, ga je wel eerst naar page1 en dan naar page2?
Allereerst is een include iets anders dan doorsturen. Doorsturen doe je door middel van Maar van de rest moet hij volgens mij wel goed gaan, ga je wel eerst naar page1 en dan naar page2?
Krijg je alleen maar ellende mee.
Zoals nu bij jou bijvoorbeeld:
$wachtwoord = $_POST["w"];
en dan gebruik je een niet bestaande var.
$_SESSION['paswoord'] = $paswoord;
Een password hoort niet in een session of cookie of wat dan ook.