Bonjour à tous,

Bon on ne rie pas hein !!!

Mon but est simple (pour vous et moins pour moi), je souhaite partager un dossier sur le web entre moi et quatre à cinq personnes.
Ma page index est un formulaire avec log/pass et un bouton connect, une fois rempli on irait sur les pages d'un dossier protéger spécifique.

Je travaille en local pour le moment. Et par la suite, c'est moi qui mettrai les log/pass de mes invités via la BDD directement (il y aura peu de personnes).

Dans ma page index.php :

<?php session_start(); ?>
<?php include 'db.php'; ?>
<?php
  $select = $db->query('SELECT * FROM users');
  if(isset($_POST) && !empty($_POST'login']) && !empty($_POST'pass'])){
    header('Location:prive/pageprive.php');
  }else{

  }
?>

Je suis un peu perdu dans tout ça , si le code est bon je vais dans le dossier prive ou sinon, message d'erreur.

Dans ma page db.php :

<?php
try{
    $db = new PDO('mysql:host=localhost;dbname=acces','root','root');
    $db->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE,PDO::FETCH_ASSOC);
}catch (Exception $e){
    echo 'Imposssible de se connecter';
    echo $e->getMessage();
    die();
}
?>

Si quelqu'un peut me guider, ou me designer le tuto le plus proche sur ce sujet.
J'ai bien tenter avec « Sécuriser avec les sessions » mais les messages d'erreur me parle de PDO.

Si quelqu'un merci à vous.

4 réponses


C'est en plusieurs étapes :

  • L'utilisateur renseigne ses infos (mdp et login, stocké en $_POST

  • Tu créer une requête qui selectionne l'utilisateur ayant tel mot de passe et tel login.

  • Si une ligne est trouvée, tu stock en session un variable (genre $nom, et $loged =true) et tu redirige vers la page privée

  • Dans la page privée, tu check si la variable session'loged'] est à TRUE. Si oui tu affiches, sinon tu renvois sur le formulaire

Ouais, ou la solution encore plus simple c'est juste de les mettre en dure dans ton code sans passer par une bdd, au pire, s'il y a que 4 kikis qui ne changent pas qui ont le droit d'acces.

D'un autre coté je suis en train de me dire que si c'est le contenu d'un dossier que tu veux protéger, une page index pour se logger n'est pas forcement la bonne solution.
Comment comptes-tu servir les pages de ce dossier ? Si tu veux simplement que les gens puissent voir l'interieur d' répertoir et recuperer les fichiers qu'il y a dedans, c'est par un htaccess + htpasswd qu'il faut passer. Si a l'inverse tu sers du contenu html via du php, alors la ok, mais ilmfaut faire la verification d'authentification pour chaque page servie. Les fichiers d'un dossier particulier ne pourront pas etre protégé autrement.

J'avoue que la solution de Vallyan est peut être plus optimisé !
(Vallyan roi ! )