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

Langage PHP Discussion :

[Sécurité] authentification pour accès site


Sujet :

Langage PHP

  1. #1
    Membre confirmé Avatar de Badaboumpanpan
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    202
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 202
    Par défaut [Sécurité] authentification pour accès site
    Bonjour,

    Bon, je me suis monté un portail d'entré pour mon site web en PHP en lien avec MYSQL.

    Mais, je voulais savoir comment faire pour que les aspirateurs ou robots de pages web ne puisse pas l'aspirer ou le détecter ? (comme peut le faire .htaccess)

    D'avance merci !!!!

  2. #2
    Membre Expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Par défaut
    tu veux protéger quoi exactement ?
    Si tu vois comment faire avec .htaccess, c'est probablement la solution.

  3. #3
    Membre confirmé Avatar de Badaboumpanpan
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    202
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 202
    Par défaut
    En fait, je voulais faire une page, genre index.htm, avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <form action="authentification.php" method="POST">
    		Identifiant : <input type="text" name="userid"><br>
    		Mot de passe : <input type="password" name="userpw">
    		<input type="submit" value="OK">
    	</form>
    Pour que un utilisateur lambda puisse s'authentifier. Mais en même temps j'aurais voulu protéger le contenu du site perso...

    Est-ce qu'on peut utiliser cette interface html pour s'authentifier avec htaccess ?

  4. #4
    Membre Expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Par défaut
    ah tu veux protéger la partie du site réservée aux utilisateurs loggés ?
    Bah écoute, les sessions, c'est ce qu'il te faut.
    http://matthieu.developpez.com/authentification/

    EDIT: bon c'est peut-être pas le plus adapté en fait, va donc voir là d'abord :
    http://julp.developpez.com/php/les-sessions/

  5. #5
    Membre confirmé Avatar de Badaboumpanpan
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    202
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 202
    Par défaut
    Mais mon problème ne vient pas de comment faire des sessions PHP, ça s'est bon !!

    J'ai fait mon p'tit système de login/password avec ma base MYSQL qui se répercute sur tout mon site.

    Ce que je voudrais maintenant c'est protéger les données de mon site...

  6. #6
    Membre Expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Par défaut
    Citation Envoyé par Badaboumpanpan
    Ce que je voudrais maintenant c'est protéger les données de mon site...
    Si les données sont dans tes fichiers PHP, il te suffit de faire les vérifications qui s'imposent au début de chaque script (vérifier que l'utilisateur loggé a les droits pour accéder au document), et si non, on le redirige vers la page de login.

    Continue à préciser ta question, je vais bien finir par y répondre

  7. #7
    Membre confirmé Avatar de Badaboumpanpan
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    202
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 202
    Par défaut


    Ouep, j'y avais pensé pour l'accès des pages à faire un script de vérification avec la base sinon renvoyer sur la page de login.

    Mais, si quelqu'un utilise un aspirateur de site, il peut tout aspirer...

    Et puis y a des dossiers contenant de photos personnelles, etc. (pareil j'y placerai un index.php dans chq dossier renvoyant sur la page d'accueil pour les loggé et sur la page login pour tout le reste).

  8. #8
    Membre Expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Par défaut
    Citation Envoyé par Badaboumpanpan
    Mais, si quelqu'un utilise un aspirateur de site, il peut tout aspirer...
    Ah mais non, il ne peut pas aspirer tes sources. Et il ne pourra aspirer le contenu affiché que s'il est loggé !

    Citation Envoyé par Badaboumpanpan
    Et puis y a des dossiers contenant de photos personnelles, etc.
    Ca, c'est un autre problème. Pour ma part, je le règle en utilisant des fichiers .htaccess pour faire de la réécriture d'URL : quand un utilisateur demande photo.jpg, la réécriture d'URL fait que c'est en fait download.php?file=photo.jpg qui est appelé. Le script vérifie les droits de l'utilisateur : s'ils sont mauvais, on redirige vers la page de login. S'ils sont bons, PHP fait un readfile du fichier (en envoyant les headers qui correspondent au bon format), c'est à dire qu'il en renvoie le contenu à l'utilisateur.
    Si l'utilisateur est correctement loggé : c'est complètement transparent quand il demande photo.jpg
    S'il n'est pas loggé (aspirateur, moteur) : c'est comme si le fichier photo.jpg n'existait pas et qu'il était redirigé vers la page de login.

    C'est juste un exemple, mais ça marche à merveille.

  9. #9
    Membre confirmé Avatar de Badaboumpanpan
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    202
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 202
    Par défaut
    Oula !!!

    Je suis preneur, mais je n'ai pas tout compris à la redirection...

  10. #10
    Membre Expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Par défaut
    Citation Envoyé par Badaboumpanpan
    Oula !!!

    Je suis preneur, mais je n'ai pas tout compris à la redirection...
    J'ai édité mon message, il y avait un lapsus : c'était bien sûr réécriture d'URL qu'il fallait lire, mais les lecteurs auront rectifié d'eux-mêmes
    http://web.developpez.com/tutoriel/apache/urlrewriting/

  11. #11
    Membre confirmé Avatar de Badaboumpanpan
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    202
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 202
    Par défaut
    J'ai du mal à comprendre le principe de réécriture et comment je peux faire pour protéger mes fichiers photos...

    J'ai tenté ça...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Options +FollowSymlinks
    RewriteEngine on
    RewriteRule   ^.png$   ./index.htm  [L]
    Pour rediriger les gens accédant au dossier photo... mais rien...

    Et je ne trouve encore moins pour pouvoir identifier l'utilisateur...

    Aurais-tu une piste ?

  12. #12
    Membre Expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Par défaut
    Citation Envoyé par Badaboumpanpan
    J'ai du mal à comprendre le principe de réécriture et comment je peux faire pour protéger mes fichiers photos...
    Voilà comment je fais pour mes pdf :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    RewriteEngine on
    RewriteRule   ^([a-z0-9A-Z_-]*).pdf$   dl.php?file=$1 [L]
    Et ça envoie les requêtes sur le fichier dl.php, avec le nom du fichier (sans extension) en paramètre GET. T'as plus qu'à adapter. Il faut aussi qu'apache supporte la réécriture d'URL, mais je sais plus comment on fait si c'est pas le cas.

    Citation Envoyé par Badaboumpanpan
    Et je ne trouve encore moins pour pouvoir identifier l'utilisateur...
    Pour ça, c'est dans ton fichier php, tu fais comme dans les autres pages à accès restreint, tu testes les variables de session (+ éventuellement des infos sur les droits en base de données, faut voir)

  13. #13
    Membre confirmé Avatar de Badaboumpanpan
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    202
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 202
    Par défaut
    Ok.

    Mais je crois que j'ai trouvé une mauvaise nouvelle...

    Je suis entrain de monter mon site sur une page perso free et j'ai l'impression que rewriterule n'est pas supporté...

    Internal Server Error
    The server encountered an internal error or misconfiguration and was unable to complete your request.

    Apache/ProXad [May 31 2006 11:08:55] Server at site.free.fr Port 80
    D'ailleurs, il n'est pas à jour leur serveur...

  14. #14
    Membre Expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Par défaut
    Citation Envoyé par Badaboumpanpan
    Ok.

    Mais je crois que j'ai trouvé une mauvaise nouvelle...

    Je suis entrain de monter mon site sur une page perso free et j'ai l'impression que rewriterule n'est pas supporté...
    Bon. Solution de secours : il faut que tes liens vers les images soient des liens vers une page PHP (sans réécriture)
    Et pour les protéger, tu mets toutes tes images dans un répertoire, avec un .htaccess qui fait un deny from all.

    Comme ça on ne peut pas accéder aux images sans passer par le script php (qui lui peut outrepasser le .htaccess)

    Tu suis ?

  15. #15
    Membre confirmé Avatar de Badaboumpanpan
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    202
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 202
    Par défaut
    Je vais essayé.

    En gros dans mon :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <img class="bidule1" src="script.php">
    Et dans mon script php si ma class = bidule1 alors src prend image1.png ?

  16. #16
    Membre averti
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 25
    Par défaut
    <img src="script.php?img=image1"> plutot je pense =)

  17. #17
    Membre confirmé Avatar de Badaboumpanpan
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    202
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 202
    Par défaut
    Et du coup dans mon "script.php" j'insère un selon de sorte que j'ai qq chose du style :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    switch ($img) {
    case 'image1' :
        echo "chemin/image1.png";
        break;
    case 'image2' :
        ...

  18. #18
    Membre confirmé Avatar de Badaboumpanpan
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    202
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 202
    Par défaut
    Citation Envoyé par Eusebius
    Bon. Solution de secours : il faut que tes liens vers les images soient des liens vers une page PHP (sans réécriture)
    Et pour les protéger, tu mets toutes tes images dans un répertoire, avec un .htaccess qui fait un deny from all.

    Comme ça on ne peut pas accéder aux images sans passer par le script php (qui lui peut outrepasser le .htaccess)
    Bon, le script php c'est fait. J'ai mis le .htaccess mais mon php ne le contourne pas... comment je peux le contourner ?

  19. #19
    Membre Expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Par défaut
    Citation Envoyé par Badaboumpanpan
    Bon, le script php c'est fait. J'ai mis le .htaccess mais mon php ne le contourne pas... comment je peux le contourner ?
    comment tu ouvres tes fichiers ??

  20. #20
    Membre confirmé Avatar de Badaboumpanpan
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    202
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 202
    Par défaut
    fichier html :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <html>
    <body>
    <img src="script.php?img=image1.png">
    </body>
    </html>

    fichier script.php :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?
    switch ($img) {
    	case 'image1.png' :
    		$url="chemin/image1.png";
    		break;
    	case 'image2.png' :
    		$url="chemin/image2.png";
    		break;
    	};
     
    header("location:$url");
    ?>

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [SQL] Informations et sécurité, pour mon site
    Par romanus dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 04/06/2007, 14h31
  2. [Sécurité] Sécurité pour accès a des pages PHP
    Par FracMaster dans le forum Langage
    Réponses: 9
    Dernier message: 25/05/2007, 15h57
  3. [Sécurité] Authentification utilisateur sur site
    Par Badaboumpanpan dans le forum Langage
    Réponses: 2
    Dernier message: 04/07/2006, 11h57
  4. [Sécurité] Autoriser l'acces à un site internet
    Par justdams dans le forum Langage
    Réponses: 5
    Dernier message: 27/02/2006, 12h52

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