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 :

[SQL] Sécurité et redirections multiples


Sujet :

PHP & Base de données

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 2
    Points : 2
    Points
    2
    Par défaut [SQL] Sécurité et redirections multiples
    Bonjour à tous,

    Etant débutant en PHP, je suis régulièrement confronté a des problèmes de syntaxe dûs à mes très faibles connaissances en la matière.
    Je me permets donc de faire appel à vos connaissances pour m'orienter dans la bonne direction.

    Le contexte :
    Je souhaite que depuis une page d'identification (page1), les utilisateurs soient rédirigés vers une seconde (page2) en fonction de leur login.
    A noter que je souhaite sécuriser les répertoires contenant les pages (htaccess).

    Comment créer une page qui redirige automatiquement en fonction du login utilisateur ?

    Nota : j'ai bien entendu parler des variables $PHP_AUTH_USER mais je ne vois pas en quoi cela pourrait-être utile dans mon cas.

    Si quelqu'un de plus compétent que moi (pas trop difficile à faire ) pouvait m'aider un peu... je nage complètement.

    Par avance, merci à vous.

  2. #2
    Membre expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Points : 3 145
    Points
    3 145
    Par défaut
    et bienvenu,

    Ce que tu peux faire c'est rediriger les gens vers la page2 et là tu testes le login qu'ils ont entrés, et selon le login qu'ils ont tapés, tu utilises la fonction header() pour faire la redirection vers la bonne page.
    Tu as, ici, un exemple parfait pour toi de redirection PHP utilisant la fonction header.

  3. #3
    Membre régulier Avatar de akara
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 299
    Points : 122
    Points
    122
    Par défaut
    Moi ce que j'aurais fait :
    1° dans la table ooù se trouve mon login j'aurais créé un champs id_page
    qui aurait fait référence à un id d'une table page où j'aurais stocké les noms des pages puis selon le login attribuer le id_page

    2° quand l'utilisateur se connecterai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $sql = 'select tb_table.login as login , tb_page.page as page from tb_table , tb_page where tb_table.login =".$login." AND tb_table.id_page = tb_page.id_page';
    $res = mysql_query($sql);
    $page = mysql_fetch_assoc($res);
    puis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    ////code connextion si login & mdp valid alors
    header($page['page']);

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Excellent et vraiment rapide !!

    Je viens de comprendre l'interêt de la fonction header().
    Je me lance dans la lecture de la FAQ sur ce sujet.

    Merci encore trotters213

    P.S.: Il n'est pas exclu que je revienne sur ce même thread pour poser encore quelques questions sur le sujet, mais au moins, j'aurais des questions un peu plus précises et pertinentes à poser !

    [EDIT] Merci également à Akara qui a été plus rapide que moi pour rédiger ce message [/EDIT]

  5. #5
    Membre expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Points : 3 145
    Points
    3 145
    Par défaut
    Citation Envoyé par akara
    2° quand l'utilisateur se connecterai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $sql = 'select tb_table.login as login , tb_page.page as page from tb_table , tb_page where tb_table.login =".$login." AND tb_table.id_page = tb_page.id_page';
    $res = mysql_query($sql);
    Aïe, l'injection SQL possible

  6. #6
    Membre régulier Avatar de akara
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 299
    Points : 122
    Points
    122
    Par défaut
    ah ...& comment eviter l'injection?

  7. #7
    Membre expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Points : 3 145
    Points
    3 145
    Par défaut
    Citation Envoyé par akara
    ah ...& comment eviter l'injection?
    Il y a plusieurs possibilités :
    • utiliser mysql_real_escape_string()
    • activer magic_quote_gpc
    • utiliser addslashes
    • ...

  8. #8
    Membre régulier Avatar de akara
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 299
    Points : 122
    Points
    122
    Par défaut
    j'ai vu que magic_quote_gpc est activé par défault...cela suffit non ?

  9. #9
    Membre expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Points : 3 145
    Points
    3 145
    Par défaut
    Citation Envoyé par akara
    j'ai vu que magic_quote_gpc est activé par défault...cela suffit non ?
    Dans ce cas tu peux utiliser cette fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php
    function quote_smart($value)
    {
       // Stripslashes
       if (get_magic_quotes_gpc()) $value = stripslashes($value);
       // Protection si ce n'est pas un entier
       if (!is_numeric($value))$value = "'" . mysql_real_escape_string($value) . "'";
       return $value;
    }
    ?>
    comme ça t'es tranquille

  10. #10
    Membre régulier Avatar de akara
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 299
    Points : 122
    Points
    122
    Par défaut
    saluut
    donc faut que j'applique cette function à tous les variables tous tous tous... ?!

  11. #11
    Membre expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Points : 3 212
    Points
    3 212
    Par défaut
    Citation Envoyé par akara
    saluut
    donc faut que j'applique cette function à tous les variables tous tous tous... ?!
    toutes les variables transmises en GET et en POST en tout cas oui.

  12. #12
    Membre régulier Avatar de akara
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 299
    Points : 122
    Points
    122
    Par défaut
    niarf...
    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. redirection multiple : header ?
    Par jani dans le forum Langage
    Réponses: 2
    Dernier message: 01/06/2007, 09h54
  2. redirection multiple : [principale+popup]
    Par Angelik dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 30/01/2007, 12h06
  3. [PHP/SQL] foreach sur array multiples
    Par Flushovsky dans le forum Langage
    Réponses: 1
    Dernier message: 18/09/2006, 10h49
  4. [SQL SERVER 2005] Cascade multiple
    Par abrial dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 23/05/2006, 10h18
  5. [Sécurité] Probleme redirection
    Par lemagicien dans le forum Langage
    Réponses: 4
    Dernier message: 22/12/2005, 13h07

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