IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Bloquer l'accès aux pages php si non connexion au préalable par URL


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Homme Profil pro
    Ingénieur de recherches
    Inscrit en
    Janvier 2020
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Ingénieur de recherches
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2020
    Messages : 24
    Points : 20
    Points
    20
    Par défaut Bloquer l'accès aux pages php si non connexion au préalable par URL
    Bonjour à tous,

    j'ai mis en place un petit site en place avec plusieurs pages php qui interagissent avec des bases MySQL, où il est nécessaire de se connecter via login/mdp sur le index.php pour pouvoir rentrer das le site. Cependant, j'ai un soucis un peu bête au niveau de la sécurité :

    - Lorsque je renseigne le login et mdp dans index.php, ma session se crée et les variables à retenir également et me renvoie sur l'adresse http://mon_ip_/page1.php. Néanmoins, si je décide de taper directement dans le moteur de recherche l'URL de cette page type : http://mon_ip_/page1.php j'attérie sur ma page sans m'être logé et je peux faire afficher mes données. J'ai contourné la connexion.
    - De plus, en quittant mon site à chaque fin d'utilisation, j'ai un bouton de déconnexion qui est censé tuer toutes les variables, et de détruire la session active, et quitte les pages internes du site. Mais si je retape http://mon_ip_/page1.php sans me reconnecter à nouveau et que je demande d'afficher la variable "mot_de_passe" (qui n'a pas été renseignée car je ne suis pas passé par index.php) le site me l'affiche alors que précédemment j'avais tué la session.


    En d'autres termes, comment est il possible de bloquer l'accès à des URL si on n'est pas passé par celui du index.php ? Ou bien, s'agit il d'un soucis purement de session mysql qui est mal détruite ?


    Voici mon code qui doit tuer la session à chaque session détruite en ayant crée au préalable le bouton 'Disconnexion' comme il se doit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    if (isset($_POST['Disconnexion'])) {
     
    	unset($_SESSION['login']);
    	unset($_SESSION['mot_de_passe']);
            session_destroy();
    	header ('location: index.php');
    	exit;
     
    }
    Merci à vous

  2. #2
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 043
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 043
    Points : 8 075
    Points
    8 075
    Billets dans le blog
    17
    Par défaut
    La doc donne un exemple à suivre pour détruire une session => https://www.php.net/session-destroy

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    <?php
    // Initialisation de la session.
    // Si vous utilisez un autre nom
    // session_name("autrenom")
    session_start();
     
    // Détruit toutes les variables de session
    $_SESSION = array();
     
    // Si vous voulez détruire complètement la session, effacez également
    // le cookie de session.
    // Note : cela détruira la session et pas seulement les données de session !
    if (ini_get("session.use_cookies")) {
        $params = session_get_cookie_params();
        setcookie(session_name(), '', time() - 42000,
            $params["path"], $params["domain"],
            $params["secure"], $params["httponly"]
        );
    }
     
    // Finalement, on détruit la session.
    session_destroy();
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

Discussions similaires

  1. [WD-2007] Bloquer l'accès aux en-têtes et pieds de page
    Par Golard dans le forum VBA Word
    Réponses: 4
    Dernier message: 14/03/2014, 19h21
  2. Réponses: 14
    Dernier message: 19/11/2012, 19h41
  3. [SP-2010] bloquer l'accès aux pages allitems des visiteurs d'un site
    Par johnaliashead dans le forum SharePoint
    Réponses: 1
    Dernier message: 12/01/2011, 20h18
  4. [MySQL] Bloquer l'accès aux pages ?
    Par kolbek dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 10/12/2009, 00h55
  5. [AJAX] Interdire accès direct aux pages PHP
    Par Nasky dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 31/07/2007, 18h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo