J'utilise pas de SQL.
Je connais que PHP comme language.
Voici le code de ma page :
<?php
session_start();
if(isset($_POST['password']))
{
$mdp = htmlspecialchars($_POST['password']);
if($mdp=="[MON MON DE PASSE ]")
{
$_SESSION['login'] = "[MON LOGIN]";
$_SESSION['mdp'] = "[MON MOT DE PASSE]";
echo "Mot de passe Correct !";
}
}
?>
<!DOCTYPE html>
<html>
<head>
<meta name="robots" content="noindex,nofollow" />
<meta charset="utf-8" />
<link rel="stylesheet" href="co.css" type="text/css" />
<title>%20ConvertRand</title>
</head>
<body>
<p> </p>
<div class="body">
<kbd>
<p>Veuillez entrer le mot de passe :</p>
<form name="form1" action="console.php" method="post">
<input type="password" name="password" placeholder="Password" value="" required autofocus />
<input type="submit" value="OK" />
</form><br>
</kbd>
</div>
</body>
</html>
J'aimerais savoir si cette sécurité est suffisante ou si elle présente une faille. Merci.
B
Si ton mot de passe n'est pas assez complexe, tu peux te faire bruteforce.
Sinon ça m'a l'air ok.
[ThisIsMe] Voir le profil de [ThisIsMe]
Posté le 13 janvier 2014 à 18:31:19 Avertir un administrateur
Si ton mot de passe n'est pas assez complexe, tu peux te faire bruteforce.
Sinon ça m'a l'air ok.
=> Merci.
volcomzone : DDB pour chaine/flood
Je réalise des sites depuis 10 ans pour mon plaisir... et je peux t'assurer que ce n'est pas suffisant comme protection. Dés la 1ère ligne, il manque pas mal de protection. Il faut protéger davantage ta session.
1.Regarde dans la doc PHP: session.use_cookies, session.use_only_cookies, session.use_trans_sid... Par exemple: ini_set('session.cookie_httponly',1); n'autorise la session qu'en HTML ce qui veut dire que personne ne peut y avoir accès via un script en Javascript.
2. Ensuite, il ne faut jamais mettre le mot de passe en session. Il faut utiliser le système du jeton (Cherche dans Google). Et aussi protéger ta session avec un hash différent de MD5 et SHA1 car facile à "brute-forcer". Regarde du côté de ini_set('session.hash_function','MD5???SHA1').
3. Tu dois aussi protéger ton formulaire par du Javascript et induire en erreur les robot-spammers en ajoutant d'autres champs à ton formulaire. La plupart des robot-spammers auront du mal à valider ton formulaire. Car dis toi bien que même si la page d'administration n'est pas référencée par Google, les robot-spammers, eux, testent toutes sortent d'URL pour trouver l'accès admin.
4. Bien évidemment, il faut que le nom de ta page ne soit pas admin.php, c'est trop facile pour les robot-spammers.
Bref, voici un bon lien qui pourra t'aider: http://sebsauvage.net/wiki/doku.php?id=php:session
Et en POO: http://tontof.net/?1334768400
Perso, je rends la chose encore plus complexe en insérant des clés dans les noms des champs du formulaire pour brouiller les pistes.