Vos avis sur un système de forums

Salut,

Tout dabord, je tiens à signaler que ce post n’est pas à but publicitaire.
Je fais ce post pour receuillir vos avis sur un système de forums.

Pour commencer, j’ai installé un forum PHPBB, ils sont super mais lourds surtout au niveau SQL et assez basiques niveau fonctionnalités.

Les solutions les plus intéressantes étant payantes, j’ai décidé de développer un système de forum.

Le forum repose sur un système de classes composant son moteur, de skins pour personnaliser l’interface graphique, et de fichiers de langues pour que les membres puissent avoir le forum dans leur langue natale. Viennes s’ajouter les pages à afficher. Dans ce forum, j’ai essayé de tout faire via ces pages. Elles font appel au moteur pour les taches courantes comme les permissions, le bbcode, les smileys, la gestion des autorisation, etc…

Il dispose d’un système de cache améliorant la génération du code.
Par exemple sont mis en cache, les forums, les balises BBCODE, les autorisations, etc…

Il gère les taches planifiées pour entretenir par exemple la base de données ou pour envoyer les emails de notification.

Il reconnait le groupe du membre et permet ainsi d’afficher la couleur qui lui correspond n’importe où dans le forum.

Il reconnait les bots des moteurs de recherche.

Il reconnait les erreurs et les tentatives de piratage et notifie l’administrateur par email si besoin est (il n’envoie pas encore les mails).

Il gère les flux RSS sur les forums et les topics.

Il est possible d’envoyer et de recevoir des messages privés même avec les invités.

Il gère les posts favoris. Les topics favoris sont en cours.

Il dispose d’une balise BBCODE permettant de transformer du texte en image pour par exemple cacher du texte des bots de spam.

Voila en gros ce qu’il peut faire.

J’aurais aimé avoir vos avis.

Le site n’est meme pas en version BETA donc il reste beaucoup de choses à revoir et à ajouter.

Voici l’adresse du forum http://www.vtuning.net

Merci d’avance pour vos commentaires.

A+

Feui sacré boulot !

PS : la skin me rappelle qqch, mais je sais pas quoi ^^

Ah j’ai trouvé un bug :

Ce topic =>

http://www.vtuning.net/index.php?&p=topic&topic_id=3131

Il n’existe plus quand on clique, mais ca affiche une erreur en haut de la page => Warning: mysql_real_escape_string() expects parameter 1 to be string, array given in /home/vtuning/www/class/class_sql.php on line 117

http://www.vtuning.net/index.php?p=profile…6;=1170590519/*

Je pensais déco tout le monde, mais le forum n’a pas eu l’air d’apprecier (plus accessible). A moins que je sois ban :ane:
A mon avis c’est une simple coincidence, mais vérifie bien les apostrophes partout, dangereux ce genre de failles :wink:

Merci,

Eh oui pour le skin ca ressemble un peu à tous les autres forums, j’y ai pas trop travaillé c’est secondaire pour le moment.

Pour le bug Warning: mysql_real_escape_string() oui faut que je pense à le corriger, le forum regroupe $_GET et $_POST dans $url pour éviter les différents problèmes. Au début il créait deux variables qui contenaient un unserialize de $_GEt et $_POST, pour l’alléger, j’ai supprimé ca. La gestion des erreurs en a besoin, je compte donc faire le unserialize uniquement si une erreur est détectée. Je ne l’ai pas encore fait.

Sinon kookiz33, je pense que c’est un problème du serveur en lui même, toutes les variables externes passées en requêtes SQL sont protégées par mysql_escape_strings().
Le serveur à été indisponible juste après que tu aies entré l’URL en question? Si c’est bien toi qui l’a entré, le forum ne génère pas ce genre d’URL.

http://www.vtuning.net/index.php?forum=’

(j’ai masqué l’ip et le nom d’hote)

Je crois que c’est la preuve incontestable qu’il y a des variables qui ne sont pas filtrées :neutre:

Oui, merci beaucoup, je viens de découvrir la faille.

Encore une faille à la con.

Pour localiser les membres et dire qui fait quoi dans qui est en ligne, le forum compare l’url à une base de variables, indiquant les pages et ajoute quelques suppléments comme par exemple dans ce cas le numéro du profil du membre.

Je pensais avoir filtré la variable étant donné qu’elle est déclarée dans un autre script que celui qui gère les sessions, je pensais l’avoir filtrée mais non.

Ca y est la faille est corrigée.

En tout cas merci de me l’avoir signalé.

Pour les requêtes SQL, prend soin de virer ` (spécifique à mySQL, pas à SQL)

Ah ok, merci, le ` est spécifique à MYSQL et pas au language SQL, ca je savais pas.

A vrai dire je l’ai testé que sur MYSQL 4 et 5.

Je mets des ` partout depuis que j’ai découvert que MYSQL ne prend pas les champs comme par exemple `class` etant donné que class fait partie de la structure de son language.

Ouaip.

Pour cela, soit on utilise pas le mot class, soit on le protège avec "" (en mode ANSI_SQL, QUOTE machin truc)

ben non => http://www.punbb.org/ :slight_smile:

J’ai ajouté un système de blogs.

Pour le moment il est encore en développement mais il y a déja quelques fonctions.

  • Possibilité de créer un blog.
  • D’y ajouter une image.
  • D’ajouter des posts.
  • De mettre des fichiers flash.
  • De laisser des commentaires.
  • De lister les commentaire.

A quand la release ? :paf: :whistle:

salut Util,
apparament il reste de gros travaux sur ton forum, pour l’instant les seuls bugs que j’ai rencontrés, je les ai signalés à pierre, et depuis c’est réglé (t’façon j’en ai pas eu des masses :icon_biggrin:)
enfin bref, vivement que ton projet soit terminé, qu’on puisse éventuellement mettre en application ce dont je t’avais parlé l’autre fois [:shy]

Salut,

Eh oui il reste encore beaucoup de choses à revoir ou même à refaire, pour l’optimiser et enlever certains bugs. Encore quelques mois de travail en perspective.

Pour le moment l’ajax ne fonctionne pas, il fonctionne en local mais dès que je mets les fonctions sur le serveur, ca réactualise pas, comme je ne connais très peu le javascript j’essaye de trouver une solution.

t’a regardé si y’avais pas un rapport avec le chemin vers tes fichiers ? c’est bête mais ça arrive de laisser un localhost ou un 127.0.0.1 sur une url qui est en absolue

Oh oui ca arrive, même très souvent, c’est pour ca dailleurs que je n’ai mis que des adresses relatives sur les images du site, résultat, elles sont pas référencées par Google, faut que je pense à corriger ca.

Je te fais un copier/coller du code, l’adresse de récupération ne fonctionne pas, j’ai revu le système des permissions j’ai pas pensé à mettre à jour l’ajax.

Tout le texte à remplacer est entouré de balises DIV, par exemple :


<div id="id_de_la_balise">Texte à remplacer</div>

L’ajax s’exécute correctement, il récupère les données à remplacer, mais c’est au moment de les remplacer que ca bloque, j’ai une erreur :


Erreur : XMLresponse.getElementsByTagName("pm")[0] has no properties
Fichier source : http://www.vtuning.net/index.php?p=ajax_index

Voici le code :


var ajax = null;
var keep_alive = 30;

if ( window.XMLHttpRequest )
{
    ajax = new XMLHttpRequest();
}
else if ( window.ActiveXObject )
{
    ajax = new ActiveXObject( "Microsoft.XMLHTTP" );
}

query_server = function ()
{
    ajax.open( "GET", "http://www.vtuning.net/index.php?p=ajax_index", true );
    ajax.send( null );
    
    ajax.onreadystatechange = function()
    {
        state_change();
    }
}

state_change = function()
{
    if ( ajax.readyState == 3 )
    {
    
    }
    else if ( ajax.readyState == 4 )
    {
        var XMLresponse = ajax.responseXML;
        
        document.getElementById( "pm_new" ).innerHTML = XMLresponse.getElementsByTagName( "pm" )[0].firstChild.nodeValue;
        document.getElementById( "message_box" ).innerHTML = XMLresponse.getElementsByTagName( "message_box" )[0].firstChild.nodeValue;
        document.getElementById( "stats" ).innerHTML = XMLresponse.getElementsByTagName( "stats" )[0].firstChild.nodeValue;
        
    }
}

ça je savais pas que google ne référencais pas les images en chemins relatifs :confused:
dans ce cas faut faire une variable $domaine et y définir l’adresse du site, et ainsi l’adresse des images sont définies avec href="’.$domain.’/img/image.png"
je vais m’y mettre aussi du coup :lol:

sinon pour ton souci d’ajax je vais pas pouvoir t’aider plus que ça, j’utilise pas non plus le JS tous les jours donc vla, jsuis pas un super pro dans ce langage :confused:

Tant pis, mais bon pour le moment l’Ajax n’est pas le principal.

Pour les URL des images, ca posait problème pour la version 1 plus pour la version 2 mais j’ai pas vraiment encore adapté les scripts pour la version 2. Ca devrait rentrer dans l’ordre rapidement.

Ca y est, l’ajax fonctionne, c’était un bug dans le genre du 127.0.0.1.

Tout simplement j’avais oublié de mettre sur le serveur les fichier contenant les balises div des messages privés, étant donné que c’est le premier système à vérifier, il ne faisait pas les autres balises.

Salut

J’ai vu le forum (enfin de loin je n’ai pas trop le temps, je verrai ça plus en détails plus tard ;)) et évidemment :jap: pour le travail effectué.

Justement, j’ai navigué parmis quelques catégories/topics et je me demandais simplement: quels types de requêtes utilises-tu pour récupérer ta liste de topics et les messages ?
Un simple LIMIT ou quelquechose de plus sophistiqué ?

Sinon :clap: ² pour le travail accompli

edit: faute de frappe