Fly06 Spammer Blocker v1.1.1 |
|
EDIT du 03/02/11 : Community Builder n'utilise pas l'api Joomla de protection des formulaires contre les attaques CSRF ! La version v1.1.2 corrige ce problème en restreignant le contrôle anti-spoofing au seul composant natif com_user. L'objectif initial de ce premier patch de la version 1.1 de Fly06 Spammer Blocker est de rendre plus explicite le mail envoyé à l'admin du site lorsque la connexion au serveur SFS échoue. L'idée était de récupérer les erreurs éventuelles (numéro et description) générées par cUrl ou fopen de façon à les inclure dans le mail. La modification est simple réaliser pour cUrl car ce dernier est un module php qui intègre sa propre gestion d'erreur indépendamment de php. Il suffit de tester si la valeur retournée par curl_exec() est false et récupérer le numéro d'erreur et le descriptif de l'erreur via les fonctions respectives curl_errno() et curl_error(). C'est un peu plus compliqué avec fopen() qui en tant que fonction native php n'a pas de gestion d'erreurs en propre. La solution consiste à utiliser les fonctions php :
de façon récupérer localement les erreurs php dans un gestionnaire d'erreur spécifique. Concrètement, il suffit d'encadrer l'appel de la fonction fopen() par les deux méthodes précédentes (dans la méthode _openConnexionToSFS() de la classe spammerBlockerHelper) : et d'ajouter un gestionnaire d'erreur sous la forme d'une méthode privée _sbFopenErrorHandler() de la même classe : Les erreurs sont stockées dans les propriétés cnx_err_str et cnx_err_str de la classe. Au final donc, cette fonctionnalité devrait aider à résoudre les problèmes éventuels de connexions qui ne viendraient pas forcément du serveur SFS mais pourraient êtres dues à des problèmes de configuration serveur (problèmes déjà rencontrés avec cUrl) ou à un bug éventuel du code du plugin. Plusieurs autres changements mineurs dont certaines corrections de (petits) bugs ont été réalisés qu'il n'est pas utile de décrire ici. Mentionnons tout de même l'ajout (fichier spammerblocker.php) du code standard Joomla de vérification du jeton de protection contre les attaques CSRF : Précisons tout de même que cette ligne de code a pour objectif de protéger le code du plugin. Le code en aval du plugin était de toute façon déjà protégé. Last but not least, ce patch inclut aussi deux nouvelles langues :
|



