• # Sécurité

    Posté par (site web personnel, Mastodon) . En réponse à la dépêche Publication de Ardilla 0.1 Bêta. Évalué à 10.

    Le projet est jeune, autant rectifier tout de suite.

    Il est où le dépôt de sources ? Le SVN sur SF est vide.


    if (isset($_GET['flux'])) require_once 'flux.php';
    if (isset($_GET['book'])) require_once 'book.php';
    if (isset($_GET['notes'])) require_once 'notes.php';
    if (isset($_GET['cave'])) require_once 'cave.php';
    if (isset($_GET['admin'])) require_once 'admin.php';


    Peut être écrit en toute sécurité :

    $module_list = array('flux', /* ...*/ 'admin') ;
    foreach($module in $module_list))
    if (isset($_GET[$module]))
    require_once $module . '.php';



    $myusername = '';
    if (!empty ($_POST['pseudo'])) {
    $myusername = $_POST['pseudo'];
    }

    Aïe. Autant faire extract($_POST, $liste_des_variables_a_extraire). Ce sera plus court, et tout aussi horrible. Mais au moins ce sera plus lisible.

    if ($_POST) {
    $result = mysql_query("SELECT * FROM `log` WHERE `user` = '".$myusername."' AND `pass` = '".$mypassword ."'");
    $count=mysql_num_rows($result);

    /* ... */
    echo '';



    Combo SQL injection, CSRF, XSS.

    À noter que tout le code est ouvert aux failles de sécurité. Bref, il va falloir suspendre l'ajour de nouvelles fonctionnalités, et penser à s'occuper en priorité de ces petits problèmes.