Journal Chose promise, chose due (vote linuxfr)

Posté par .
Tags : aucun
0
1
août
2006
Voilà j'ai réaliser un test de système de vote pour linuxfr, l'objectif est d'offrir à ceux qui le veulent une base pour proposer des alternatives plutôt que de raller (par exemple pouvoir voter directement pour un journal).
Mes scripts ne sont pas commentés, ce soir, je m'en occupe, et sont nettement améliorables car je ne suis pas un expert en javascript.
Finalement j'ai choisi de ne pas utiliser ajax , qui me donnait trop de contrainte, pour récupérer les résultats, mais une ruse à l'ancienne.
Pour plus d'information voir sur :
http://moulburn.free.fr

Et un grand merci à ceux qui m'ont conseillé greasemonkey.
  • # Couic

    Posté par (page perso) . Évalué à -1.

    • [^] # Re: Couic

      Posté par . Évalué à 5.

      http://www.cestnormalcestchezfree.fr
      Quelque part ça me rassure de voir qu'il n'y a pas que mon site tout pourri qui ne marche pas chez Free.
      Sinon, il y a de bonnes idées, mais au final le système actuel de DLFP me va parfaitement (et là, il ne faut pas voter "lèche s'il vous plait").
    • [^] # Re: Couic

      Posté par . Évalué à 2.

      Ce commentaire est super constructif.
      Si tu peux être plus précis.
      Perso j'utilise firbug pour avoir des infos sur les bug javascript.
      Pour l'instant je n'ai pas eu l'occasion d'utiliser ce script sur autre chose que ma config linux Ubuntu + firefox 1.5.0.4.
      • [^] # Re: Couic

        Posté par (page perso) . Évalué à 2.

        Script OK sur: Archlinux / Firefox 1.5.0.5
        Pas OK sur: Windows / Firefox 1.5.0.5
        • [^] # Re: Couic

          Posté par (page perso) . Évalué à 4.

          Et juste pour info, l'erreur est: 'generate_barre is not defined'
  • # Catégories

    Posté par . Évalué à 6.

    Pro/FuD on est pour ou contre, ok
    Lol/bide on trouve ça drôle ou pas, ok
    Troll/Leche le troll ok, mais leche c'est quoi ? c'est pertinent comme catégorisation ?

    Et il n'y a plus pertinent/inutile, du coup. Ca manque :)
    T'as qu'a faire "info/HS"

    Et si tu colorais le commentaires en fonction du résultat obtenu ? pour repérer les trolls et leur donner plus vite à manger ;)
    • [^] # Re: Catégories

      Posté par . Évalué à 2.

      Bah, leche c'est le commentaire consensuel debile sur le libre/info.

      Exemple : la moitie des commentaires de la news sur le filesystem versioning de Microsoft :

      Ouah, c'est du Microsoft, c'est mal, ca sert a rien, le libre fait deja ca, (en Proof of Concept..), etc..
    • [^] # Re: Catégories

      Posté par . Évalué à 1.

      peut-être couplé à un systeme de filtre ou de zoom pour mettre en avant le type de commentaires que l'on souhaite voir. Quoi qu'il arrive ca serait sympa de garder la possibilité d'avoir une présentation sans javascript, juste de l'HTML simple.

      Ce qui deviendrait amusant c'est les profils d'utilisateurs, catalogué selon troll/leche/pro/etc... et non noté sur 20 comme actuellement. =)
  • # Encodage des caracteres speciaux.

    Posté par (page perso) . Évalué à -1.

    C'est pourtant la base du html pour eviter ce genre de truc
    Vision général générale

    é= é
    è=è

    Enfin je dis ca comme ca.
    • [^] # Re: Encodage des caracteres speciaux.

      Posté par (page perso) . Évalué à 8.

      les entités rendent le texte illisible (et ce n'est pas toujours facile pour un éditeur HTML de les transcoder à la volée pour rendre l'édition plus facile).

      le charset d'un document HTML, c'est fait pour, il faut juste corriger les configurations des serveurs apache qui forcent ISO-8859-1 dans les entêtes HTTP (ou mettre un .htaccess si l'admin est récalcitrant).
    • [^] # Re: Encodage des caracteres speciaux.

      Posté par . Évalué à 10.

      Bonjour la lisibilité de la source avec tes é !

      Nan, ce qui manque à sa page c'est :
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

      Dans le <head>.
  • # Incompréhension...

    Posté par . Évalué à 5.

    Bon, ben moi, j'ai pas envie d'installer greasemonkey pour tester, hein, mais en fait, je voudrais juste savoir pourquoi sur les captures d'écran, mon commentaire est marqué "Lol" alors qu'en fait, il est sérieux... Le pas sérieux se trouve un peu plus bas...
    Au vu de ces résultats, ce système de notation me semble totalement manquer de sérieux...

    (Normalement, ce commentaire devrait prendre un "Lol", sauf si l'auteur manque d'humour)
  • # Greasemonkey ?

    Posté par (page perso) . Évalué à 7.

    C'est quoi, GreaseMonkey ?

    Moi j'utilise Konqueror parce qu'il est vachement mieux^Wplus rapide que Firefox (qui est quand même un bon navigateur pour les windowsiens élevés à l'Internet Explorer, mais sous linux, autant prendre ce qui se fait de mieux).

    Comment puis-je installer GreaseMonkey pour Konqueror ? Google m'aide vraiment peu, là-dessus.

    Ce post en forme de troll éhonté est en fait une vraie interpellation. Je serais réellement triste qu'une fonctionnalité de DLFP soit réservée à un navigateur. Les coins arrondis à coups de -moz-border-radius, ça ne pose pas de problème. Une fonctionnalité qui ne serait accessible que depuis un seul navigateur, c'est quelque chose que je trouverais triste, et qui me rappellerait un certain Internet d'il y a quelques années.

    Je sais, je pourrais mettre la main à la pâte et participer au projet pour faire du javascript portable partout... Mais c'est plus facile de critiquer que de construire, n'est-ce pas ? Surtout à cette heure-ci :)
    • [^] # Re: Greasemonkey ?

      Posté par . Évalué à 8.

      Une fonctionnalité qui ne serait accessible que depuis un seul navigateur
      Ici , il s'agit surtout de proposer une méthode de notation alternative, sans toucher (et sans même avoir accès) au code de linuxfr... si par le plus grand des hasards, ce système de notation ou l'un de ses petits frères devait emporter l'unanimité, il pourrait alors être intégré au site, et être accessible à tous les utilisateurs, sans discrimination de butineur...
    • [^] # Avec Konqueror, ÇA MARCHE!

      Posté par (page perso) . Évalué à 7.

      Pour les heureux utilisateur de Konqueror, ça marche aussi
      (bon, ok, c'est légèrement plus fastidieux)

      1) trouvez quel processus de konqueror et quel onglet utilise linuxfr
      pour ce faire, lancez kdcop, aider vous de la petite icône[1] pour repérer le konqueror de linuxfr, et trouvez le bon html-widget (aidez vous de la fonction url())

      2)
      wget http://moulburn.free.fr/linuxfruserscript.user.js
      dcop konqueror-2219 html-widget1 evalJS "`cat linuxfruserscript.user.js`"
      dcop konqueror-2219 html-widget1 evalJS "setnotesjn();generate_barre()"

      À refaire pour chaque page (sauf le wget biensur). Remplacer les numéros par ceux trouvés à l'étape 1

      La troisième ligne est à exécuté car le script utilise l'événement body.onload, alors que lorsque on exécute la deuxième ligne, tout est déjà chargé.

      Bon, il faut admettre que un plugin greasmonkey ferait pas de mal à Konqueror


      Note: Il faut activer la toolbar linuxfr pour que ça marche
  • # PHP/MySQL

    Posté par . Évalué à 2.

    Tu devrais revoir ton code php si tu veux pas qu'on te vide ta base de données... T'as réinventé register_globals alors que tout a été fait pour le remplacer !

    $resultat = mysql_query("SELECT * from user_votes where user_name='$user_name' and " ."message_id = $message_id", $myconn);

    http://fr.php.net/register_globals
    http://fr.wikipedia.org/wiki/Injection_SQL
    • [^] # Re: PHP/MySQL

      Posté par . Évalué à 1.

      Tu peux être plus précis? magic_quote étant activé et mes variables initialisées.
      $user_name=$_GET['user_name'];
      $message_id=$_GET['message_id'];
      $vote_name=$_GET['vote_name'];
      $id_user=$_GET['id_user'];
      $journalid=$_GET['journalid'];
      si tu peux être plus précis ça m'arrangerai.
      SI je tente une injection de code avec " '-- " dans les variables de l'url j'obtiens :

      exmple

      http://moulburn.free.fr/vote.php?user_name=moulburne'&me(...)


      j'obtient :
      SELECT * from user_votes where user_name='moulburne\'' and message_id = 738188 et tout me semble normal à ce niveau.
      Maintenant si tu veux, il est très simple de voter à la place d'un autre car pour l'identification, je me base sur les coockies de linuxfr pour éviter un enregistrement car mon but n'est pas de promouvoir ma méthode de notation mais juste de proposer un outil pour en créer une.
      • [^] # Re: PHP/MySQL

        Posté par . Évalué à 2.

        Une petite recommandation ne passant. Concernant les variables HTTP récupérées via GET ou POST, avant de les injecter dans des requêtes MySQL ou PostgreSQL, il est généralement nécessaire de toujours les passer par mysql_real_escape_string() ou pg_escape_string(). Sauf évidemment si tu as une réelle bonne raison de gars sacrément couillu pour t'en passer car tu sais à 300% que tu es le meilleur et que tu peux t'en passer car tu n'es as un être comme les autres :)

        « Je vous présente les moines Shaolin : ils recherchent la Tranquillité de l'Esprit et la Paix de l'Âme à travers le Meurtre à Main Nue »

        • [^] # Re: PHP/MySQL

          Posté par (page perso) . Évalué à 3.

          Et au passage de desactiver les magic quotes (soit dans les fichiers de conf, soit a la main en stripslashant). Rien ne remplace un vrai escape a la main, certainement pas les magic quotes en tout cas.
      • [^] # Re: PHP/MySQL

        Posté par . Évalué à 3.

        Je viens de regarder un peu, et on peut faire un peu d'injection de code dans la variable $message_id.

        Si tu arrives à faire une requete bien formée avec :
        SELECT * from user_votes where user_name='$user_name' and message_id = $message_id

        en rajoutant par exemple and "AND 0 UNION SELECT" ...
        Si le select rajouté renvoie au moins un tuple, alors tu auras une erreur SQL, sinon le script s'exécutera bien.

        Tu peux donc, en scriptant un peu avoir accès à toute ta base en lecture (qui a voté contre moi...)

        Quelques intval pour les valeurs devant être des entiers ne feraient pas de mal...

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.