Hey iedereen,

Ik had een vraagje ik ben een cms aan het schrijven werkt leuk en goed. Alleen nu wil ik er een beveiliging achter zetten zodat je eerst moet inloggen en dat je daarna pas op de admin pagina komt!

Ik heb die gedaan doormiddel van de volgende code:
--------- index admin-------
<?php
session_start();
$errorMessage = '';
if (isset($_POST['txtUserId']) && isset($_POST['txtPassword'])) {
// controleren combinatie gebruikersnaam en wachtwoord
if ($_POST['txtUserId'] === 'admin' && $_POST['txtPassword'] === 'beheer') {
// wanneer de gebruikersnaam en het wachtwoord overeen komen de sessie op true zetten
$_SESSION['basic_is_logged_in'] = true;

// na het inloggen de main-page weergeven
header('Location: admin/admin.php');
exit;
} else {
$errorMessage = 'Controleer gebruikersnaam en/of wachtwoord';
}
}
?>

En dan op de pagina's die daar onder vallen heb ik deze code gebruikt:

<?php
// sessie starten
session_start();

// controleren of is ingelogd
if (!isset($_SESSION['basic_is_logged_in'])
|| $_SESSION['basic_is_logged_in'] !== true) {

// niet ingelogd, terug naar login-pagina
header('Location: /index.php');
exit;
}
?>

Maar nu stuit ik op het volgende probleem. als ik ben ingelogt kom ik wel op de admin pagina, zodat ik kan kiezen wat ik wil bewerken. Alleen als ik dan op de link klik laat hij de pagina opnieuw en gaat hij niet naar die pagina toe waar hij heen moet.. Terwijl het goede adres wel gewoon in de adres balk staat:S

Iemand een idee wat ik fout doe?

bedankt alvast

Edwin
Hoe zien die linken er uit?

Opmerking:
$_POST['txtUserId'] === 'admin'
Geen === maar == gebruiken. Zie php.net.
Hey Hey

Dit is een voorbeeld van de link

<a href="03-disc-filo_bewerken.php">Filosofie</a><br />

Maar het rare is dat hij zonder die session het wel gewoon deed. Hij doet dit pas nadat ik beveiliging er achter heb gehangen:S
Ps hij is niet echt goed beveiligd:S
Als ik http://www.sreeb.nl/bochove/admin/03-disc-accu_bewerken.php in mijn adres balk invoer kom ik gewoon zonder in te loggen op die pagina... moet niet kunnen toch.

Terwijl de code boven die pagina dit is:
<?php
// sessie starten
session_start();

// controleren of is ingelogd
if (!isset($_SESSION['basic_is_logged_in'])
|| $_SESSION['basic_is_logged_in'] !== true) {

// niet ingelogd, terug naar login-pagina
header('Location: /index.php');
exit;
}
?>

Bedankt alvast!
Jaah ik zie de fout al alleen weet niet hoe ik hem op moet lossen

Als ik hem met een session laat starten maakt hij de verkeerde link aan! Hij zet admin/admin/pagina.php neer ipv admin/pagina.php:S

Zonder deze beveiliging doe hij dat niet:S hoe kan dan?
En de oplossing is? (Voor je medeforumlezerleden).

Reageren