Cache et fonction aléatoire :

Une moulinette de code qui s'est enrayée, une requête SQL qui ne passe pas ?
ph.gras
Addict
Addict
 
Messages: 71
Inscription: 23 Juin 2013, 13:39

Cache et fonction aléatoire :

Messagede ph.gras » 23 Juin 2013, 14:24

Comme je l'ai raconté dans un sujet précédent, j'ai été victime
d'une bordée de spammeurs, et j'ai donc écrit un petit script de
ban. Mais il ne fonctionne pas comme je le souhaite, et donc à
son potentiel maximum, sans doute en raison de la présence de
cache (Memcached & XCache), mais j'aimerais identifier ce qui
pose problème exactement, afin d'améliorer mon script.

Concrètement, il s'agit d'ajouter un champ caché au formulaire
d'inscription. Je pense que tout le monde connaît la technique,
et les spammeurs aussi. Ils testent donc les différents champs et
arrivent à s'inscrire quand même au bout de X essais infructueux.

Donc, j'ai ajouté une fonction de rappel pour rendre la valeur du
champ caché aléatoire, plus une deuxième valeur pour brouiller
les pistes. Ce qui donne ceci dans le code source :
Code: Tout sélectionner
<div class="signup_extra" id="omozj"><label for="ucotjho">Ne pas oublier pour se faire jeter :</label><input type="text" name="ucotjho" id="omozj" /></div>

J'ai développé le script et fait des tests sur un serveur mutualisé,
mais sur le site de prod, qui dispose d'un système de cache, les
valeurs aléatoires des champs ne se réinitialisent qu'à partir du
moment où le cache se réinitialise également.

J'ai réécrit le script en POO, mais ça ne change rien à l'affaire !

À quel type de cache est due l'anomalie: Memcached ou opcode ?

Quelle solution voyez-vous à ce problème, à part de supprimer le
cache ?

Avatar de l’utilisateur
Galdon
Administrateur du site
Administrateur du site
 
Messages: 2180
Inscription: 06 Sep 2008, 22:05

Re: Cache et fonction aléatoire :

Messagede Galdon » 24 Juin 2013, 09:59

ph.gras a écrit:À quel type de cache est due l'anomalie: Memcached ou opcode ?


Aucun des deux je suppose.
Un cache d'opcode comme Xcache ne peut pas provoquer ce genre de problème, c'est beaucoup trop bas niveau, le cache est vidé dès que le script PHP est mis à jour.

Pour Memcached c'est pareil, ça se comporte comme une base de données en mémoire vive dans laquelle tu stocke des variables (un peu comme un $GLOBALS partagé entre tous les scripts php du serveur).

A mon avis c'est soit un cache "reverse proxy" (comme nginx, cloudflare ou akamai), ce qui signifie que tu envoie des pages statiques sur ton site, soit tu utilise wordpress avec à tout hasard l'extension WP Super Cache.
"Si tu veux me parler, envoie-moi un... FAX !" - George Abitbol

ph.gras
Addict
Addict
 
Messages: 71
Inscription: 23 Juin 2013, 13:39

Re: Cache et fonction aléatoire :

Messagede ph.gras » 24 Juin 2013, 16:39

J'accumule les sources de problème, avec WordPress + BuddyPress, W3 Total Cache et CloudFlare…

ph.gras
Addict
Addict
 
Messages: 71
Inscription: 23 Juin 2013, 13:39

Re: Cache et fonction aléatoire :

Messagede ph.gras » 26 Juin 2013, 13:31

J'ai regardé dans le captcha (ceinture et bretelles…) que j'ai réinstallé,
il s'initialise à chaque rechargement de page, et vraisemblablement en
raison d'un système d'identification du nom de session. Il faudrait que
je replonge le nez dans le code, car je n'y ai pas compris grand-chose.


Retourner vers PHP/MySQL

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité