• [^] # Re: Petit détail...

    Posté par (site web personnel, Mastodon) . En réponse à la dépêche Sortie de Tapage 0.15. Évalué à 9.

    J'espère que non, pour l'instant, avec tout les trous de sécurité qu'il y a, ce n'est pas à conseiller.

    Quand je parle de trou de sécurité, c'est par exemple:
    '');
    Le contenu de $info provenant d'un cookie. D'ailleurs, un cookie c'est fortement limité en taille.


    $arr[$_GET['id']]['value'] = stripcslashes($_POST['txt']);
    La programmation avec les magic quotes activées, c'est mal.

    echo '// \''.time().$_COOKIE['mail'].'\' en sha1 : zone_case.dev_id = \''.sha1(time().$_COOKIE['mail']).'\';';
    Argh!

    if($_GET['code'] != 0 AND preg_match('#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#', $_GET['mail']))
    Confusion entre and et && (qui n'ont pas le même comportement). Utilisation des comparaisons non-stricte (par exemple, 'toto' == 0 est toujours vrai)
    La Regex est fausse, une ignominie. En PHP, il faut utiliser filter_var pour ce genre de chose. Cette regex refuse des adresse légitimes syntaxiquement telle que toto+tartare@example.com, sans compter les .museum, etc.

    Les commentaires en français, programmer en français, ça n'a pas d'intérêt, surtout quand on écrit un logiciel libre (il n'y a pas longtemps, j'ai eu le bonheur de tomber sur des commentaires en Kanji, haha).


    $serveur = file_get_contents('http://'.$_GET['adresse'].'/ajax.php?ordre=adresse_serveur');
    Ça fait mal au postérieur ça. Très mal.


    if($_GET['captcha'] !== $_SESSION['captcha'] )
    Bug de session à l'horizon.

    Et beaucoup de copier-coller, le script ajax.php long comme un bras et pas une seule fonction à l'horizon (je n'en suis même pas à me plaindre du défaut d'encapsulation, c'est dire).

    Bref, va falloir bosser pour rendre ça utilisable. Parce qu'aucune bonne pratique de base n'est appliquée. Aucune. Bref, c'est un prototype, à ne surtout pas utiliser en production.

    Au fait, les CSS, c'est mieux que le style inliné dans le HTML.

    Une bibliothèque Javascript (jQuery, prototype ou autre) est aujourd'hui indispensable pour une application d'envergure.
    Une bonne pratique pour éviter les bogues dans Javascript, c'est de déclarer correctement les variables (en utilisant le mot-clé var) ou en précisant explicitement qu'on utilises un attribut de l'objet global (window est l'objet global dans un navigateur web).

    /* Une fonction qui permet de savoir si le visiteur est sur ça page. */
    function if_admin()
    {
    if(domaine.toLowerCase() == monadresse.toLowerCase())
    {
    return true;
    }
    else
    {
    return false
    }
    }

    C'est quand même plus simple comme ça:
    /* Is the visitor admin of this page? */
    function is_admin() { return domaine.toLowerCase() == monadresse.toLowerCase() }

    À noter que l'emploi de variables globales sans documenté est très mal venu.

    Fin bref, du taf :p