Page 1 sur 1

Sécurité Login

Posté : 16 mai 2006, 20:59
par LamontColeman
Bonjour,


Je viens à me demander si ma façon de programmer ma partie membre est t-elle sécurisée, voilà comment je fais :
<?php
include 'config.php';

if( $_POST['login'] == $admin_login and $_POST['pass'] == $admin_pass ) {

session_start();
			
$_SESSION['connexion'] = 'ok';
			
header('Location: page1.php');

} else {

// on redirige vers le formulaire de connexion

}

?>
sachant que les variables $admin_login et $admin_pass sont inclues dans config.php

Au niveau des sessions est-ce sécurisé ?
Sachant que dans page1.php je fais un truc du genre :
<?php
$session_start();
if( $_SESSION['connexion'] == 'ok' ) {
// bien logué !
}
?>

j'en viens à me demander si quelqu'un de mal intentionner peut "simuler" une variable de session sur un site ?

Merci d'avance de vos réponses :)

Posté : 16 mai 2006, 21:33
par DarkBlue
HEllo ,

Ton code parait sympa disons que le vrai probleme c est que comme ça n'importe qui a acces a ton fichier config.php !

Tu devrais le mettre dans un dossier 'Admin' par exemple et proteger ce dossier par htaccess !

Sinon je pense que c est sécurisé !

Posté : 16 mai 2006, 21:36
par Ripat
Si ton mot de passe admin est bien choisi, tu peux dormir sur tes deux oreilles.

Les fichiers de sessions sont crées, sur le serveur, par les scripts php.

A la réflexion, si tu veux te protéger d'une attaque d'un bot qui essayerait la force brute en simulant l'envoi d'un formulaire de login, tu peux temporiser le login (sleep()) ou bannir l'IP après x tentatives de login.

Evidemment, si tu as un accès ssh avec comme mot de passe root, ton serveur est mort. Et, toi, si tu mets un mdp root comme ça, il vaut mieux que tu te mettes au tricot ou à l'élevage de chèvres dans les Causses. :wink:

Il reste, bien sûr, à éviter les failles connues et bien documentées d'injections SQL et autres exploits PHP.

Posté : 17 mai 2006, 13:41
par BigL
Merci à vous 2 pour ces réponses,

Dans mon fichier config.php, ça donne :

<?php
$admin_login = '****';
$admin_pass = '****';
?>

à partir d'un serveur distant, si quelqu'un effectue :

<?php
include 'monsite.com/config.php';
echo $admin_login;
?>

En théorie, ça ne devrait pas marcher ?!

Concernant les injections dans les requetes SQL, à prioris, chez un hebergeur connu, c'est déjà sécurisé ?!

Posté : 17 mai 2006, 14:20
par iclo
Concernant les injections dans les requetes SQL, à prioris, chez un hebergeur connu, c'est déjà sécurisé ?!
non ça dépend de ton code.
Un petit tutorial (Google t'en dira plus )
http://thierrylhomme.developpez.com/php ... /#sessions