Ik heb nu een inlogsysteem gemaakt, en ik vraag me af of het veilig genoeg is.
De wachtwoorden worden zo in de db gezet:
<?php
$pass = md5($_POST['password'] . '1*@hackz0r');
$pass = mysql_real_escape_string ($pass);
?>
Als het inloggen gelukt is worden er 2 sessies aangemaakt:
<?php
$_SESSION['logged'] = md5('n00BHaxàrz1337P@#rs' . $_SERVER['REMOTE_ADDR'] . date("z-Y"));
$_SESSION['user'] = $_POST['username'];
?>
Het idee erachter was dat ik (vaak) heb gelezen dat je wachtwoorden niet op mocht slaan in een session. ik heb het ip erin gezet om te voorkomen dat ze de phpsessid stelen, en als het dan toch lukt om ip te misleiden dat het door de date maar 1 dag te gebruiken is.
Bij het controleren of er ingelogd is heb ik deze code:
<?php
if ($_SESSION['logged'] == md5('n00BHaxàrz1337P@#rs' . $_SERVER['REMOTE_ADDR'] . date("z-Y")) && preg_match ('/[a-zA-Z0-9]/', $_SESSION['user']) )
?>
Dat is wel duidelijk denk ik...
Is dit script echt veilig of lijkt het nu alleen maar zo?
1.128 views