Ik werk aan een zeer simpel login script zonder database of whatever.
Mijn vraag is dan ook wat kan ik verbeteren aan dit simpel script.

In het dashboard staat geen gevoelige informatie en je kan echter alleen dingen lezen en niks aanpassen.

Login.php

<?php
$error = '';
if(isset($_POST['username'], $_POST['password'])){
	$username = $_POST['username'];
	$password = hash('sha512', $_POST['password']);
	if($username !== 'admin' ){
		$error = 0;
	}
	
	if($password !== 'C7AD44CBAD762A5DA0A452F9E854FDC1E0E7A52A38015F23F3EAB1D80B931DD472634DFAC71CD34EBC35D16AB7FB8A90C81F975113D6C7538DC69DD8DE9077EC' ){
		$error = 0;
	}
	
	if($error !== 0)
		session_start();
		$_SESSION['valid'] = true;
		$_SESSION['username'] = 'Administrator';
			header('Refresh: 0; URL = dashboard.php');
		}
	}
?>


dashboard.php

<?php
session_start();
if (isset($_SESSION['valid']) && $_SESSION['valid'] == true) {

}else{
	header('Refresh: 0; URL = login.php');
}
?>
En als je het op een logische wijze opslaat, dan kan je het ook eenvoudig aanpasbaar maken door de gebruiker zelf. (zie mijn vorige bericht)
@jop bedankt voor de tip kan ik zeker iets mee doen.

@ariën bedoel je dat ik dan toch met een database moet werken en een beheerders pagina moet maken waarmee je snel en makkelijk
wachtwoorden kunt wijzigen en/of een gebruiker kunt verwijderen/toevoegen, zelfs als de ITer op Hawaii zit?
Een database hoeft niet per sé, als je inloggegevens maar niet hardcoded in je PHP-script opslaat. En dat de gebruikers hun wachtwoord zelf kunnen aanpassen.

Een database is wel het makkelijkste, maar je kan net zo goed bijvoorbeeld met XML-files werken die je buiten de webroot opslaat. Alleen wordt het wijzigen ervan via een beheerpaneel wel lastiger.
Bedank voor alle reacties, ik ga ermee aan de slag :)
Maar qua beveiliging en dan bedoel ik meer de sessie zijn er nog handige tips wat beter kan of zou dit voldoende moeten zijn?

Reageren