script pour include

Discussion dans 'Web, design' créé par DeScH, 10 Juillet 2006.

Statut de la discussion:
Fermée.
  1. Offline
    Calvin80 Elite
    perso j'utilise un fichier 'securedparams.php'

    dans ce fichier je dénfini une fonction GetParam("nom_du_param", "source");
    cette fonction checke la configuration du serveur (comme les magic quotes) et fais ttes les modifs necessaire pour renvoyer un paramètre "sécurisé".

    et dans mes pages je fais
    include_once('./securedparams.php');
    $param=GetParam('monParam',$_POST);

    comme ça, si y'a un changemet sur la config serveur, le site reste sécurisé...
    Calvin80, 11 Juillet 2006
    #21
  2. Offline
    Xou I ♥ rien
    En fait, quand je fais des liens get -> ce sont des pages php tout simplement :)
    Xou, 11 Juillet 2006
    #22
  3. Offline
    Leaf pentoboules (h)
    Oui mais bon, tu saiiiiis, tout le monde ne fait pas comme ça hein, d'ailleurs ça me fait trop rire quand je vois un formulaire de contact par ex avec method="GET" :roll:
    Leaf, 11 Juillet 2006
    #23
  4. Offline
    Calvin80 Elite
    heu... pkoi ?
    Calvin80, 11 Juillet 2006
    #24
  5. Offline
    Leaf pentoboules (h)
    Ben j'sais pas, passer des informations relativement confidentielles dans une url c'est pas très conseillé généralement :)
    Leaf, 11 Juillet 2006
    #25
  6. Offline
    Calvin80 Elite
    heu..c'est pas pour t'embeter mais... pourquoi ?
    à partir du moment que tu n'es pas en ssl (HTTPS), que ce soit du post ou du get, ça passe en clair sur le reseau.
    Calvin80, 11 Juillet 2006
    #26
  7. Offline
    Leaf pentoboules (h)
    Ouais mais je sais pas, il me semble que j'avais lu quelque part que passer des données assez "confidentielles" en GET ben caytraymal..

    Enfin c'est peut-être moi qui me trompe hein mais je crois avoir lu ça il y a quelques années dans le livre PHP pour les nuls :gne: :gne:
    Leaf, 11 Juillet 2006
    #27
  8. Offline
    Calvin80 Elite
    lol Oki :p
    Calvin80, 11 Juillet 2006
    #28
  9. Offline
    DeScH AstaLaVista
    Encore une petite question:


    <?php include('config.php');
    session_start(); // début de session

    if (($_COOKIE['pseudo'] and $_COOKIE['pass'])){
    session_register("authentification");
    $_SESSION['username'] = $_COOKIE['pseudo'];
    $_SESSION['user_password'] = $_COOKIE['pass'];
    $user = $_SESSION['username'];
    mysql_connect($dbhost, $dbuser, $dbpasswd);
    mysql_select_db($dbname, $dbprotect);
    $reponse = mysql_query("SELECT * FROM phpbb_users ORDER BY username") or die(mysql_error());
    while ($donnees = mysql_fetch_array($reponse))
    {
    if ($user == $donnees['username'])
    $level = $donnees['user_level'];
    $_SESSION['user_level'] = $level;
    $user_level = $level;
    }}
    ?>

    Ceci est-il sécurisé ou pas?
    DeScH, 11 Juillet 2006
    #29
  10. Offline
    Calvin80 Elite
    Hello

    heu... oui mais...certaines choses que je comprends pas..
    à quoi sert ton script ? à recupérer le level de l'utilisateur?
    pourquoi ne pas aller le chercher en une requete plutot que de parser tous les users?

    si tu as 300.000 users et que tu cherchers "zobilamouche", ça risque de prendre du temps.

    enfin je dis ça...
    Calvin80, 11 Juillet 2006
    #30
  11. Offline
    DeScH AstaLaVista
    lorsque les membres se connectent, un cookie est créé avec le pseudo et le pass de l'utilisateur.
    si le cookie existe, une session est ouverte et en fonction du level, certaines pages aparaissent ou non.
    Si tu as une autre méthode explique moi car c'est la plus simple que j'ai réussi a trouver :)
    DeScH, 11 Juillet 2006
    #31
  12. Offline
    Calvin80 Elite
    $reponse = mysql_query('SELECT user_level FROM phpbb_users WHERE username="'.$_SESSION['username'].'"') or die(mysql_error());
    while ($donnees = mysql_fetch_array($repons e))
    {
    $level=$donnees['user_level'];
    ...
    }

    en ayant verifié la sécurité de $_SESSION['username']

    par ailleurs, un truc que je comprends pas...dans ton code tu verifies pas le mot de passe.
    Ca veut dire que si je vais mettre le nom d'un admin dans mon cookie, je me retrouve avec son level ??? cooooooooool :p

    ps: c'est peut etre des question betes, je connais pas phpbb
    Calvin80, 11 Juillet 2006
    #32
  13. Offline
    Xou I ♥ rien
    En fait, je fais touojurs une double requete par rapport au login et mdp

    je m'explique

    je fais une première requete : select mdp from users where user = "name"
    ensuite je compare celle ajouté et si c'est bien le cas -> select * from users where user ="name"

    Version simpliste

    ça évite les injections sql banales déjà ce genre de choses :)
    faut éviter au possible les and lors de connexion critique.
    Xou, 11 Juillet 2006
    #33
  14. Offline
    Calvin80 Elite
    je comprends tjrs pas... à partir du moment ou tu utilises un variable externe dans ta query( comme "name"), tu risque forcement une injection ! que tu mettes un AND un OR ou ce que tu veux derriere.....
    La seule chose que tu evites en faisant ça, c'est que la personne prenne l'identité de qq'un d'autre (car tu verifies les mot de passes en PHP et pas dans ta requete mysql).

    Mais une injection mysql, ça peut faire bcp + mal que simplement prendre le userid/user_level d'un autre.
    Calvin80, 11 Juillet 2006
    #34
  15. Offline
    DeScH AstaLaVista
    Les mots de passes sont cryptés en md5 (le cookie pass l'est aussi), si on veut piquer le compte d'un utlisateur, il faut connaitre son mot de passe en md5. Donc d'après moi c'est sécurisé. Mais ... on ne sait jamais :p
    DeScH, 11 Juillet 2006
    #35
  16. Offline
    Xou I ♥ rien
    Je parlais des banales, donc que monsieur tout le monde sait faire.

    Mais évidement on est jamais à l'abris de tout ;)
    Xou, 11 Juillet 2006
    #36
  17. Offline
    Calvin80 Elite
    ok? mais si le code que tu as mis ai sur une page sans rien d'autre avant, alors on peut piquer le level de qui on veut..

    et puis..je comprends tjrs pas pourquoi tu filtre pas ta query sur le username...
    y doit y'avoir une raison et j'amerai bien que qq'un me l'explique.
    Calvin80, 11 Juillet 2006
    #37
  18. Offline
    DeScH AstaLaVista
    Sur chaque page, j'ai fait un include qui pointe sur la page dans laquelle il y a ce code.
    Euh nan y'en a pas lol
    DeScH, 11 Juillet 2006
    #38
  19. Offline
    Calvin80 Elite
    ben que se passe-t-il si je change le username de mon cookie pour mettre le username d'un admin???
    Calvin80, 11 Juillet 2006
    #39
  20. Offline
    DeScH AstaLaVista
    j'ai testé, t'es plus connecté. Mais c'est vrai que je vais encore mieux protger le truc: vérifier username et pass avant d'enregister la session... on sait jamais.
    DeScH, 11 Juillet 2006
    #40
Statut de la discussion:
Fermée.