[Forum] What next ?

Démarré par Sto, 10 Septembre, 2010, 08:14:29

« précédent - suivant »

Racletteman

A voir le nombre de membres, je pronostique une centaine de bots inscrits. Un grand ménage ?



Mayo

a tout hasard, est ce pour éviter tout post des bots, il serait possible d'imposer que le 1° post soit écrit par exemple dans le topic de présentation? Ce qui aurai pour effet de déverrouiller la possibilité de poster sur tout le forum. On mettra cette condition dans le texte quand on s'inscrit sur le forum et lorsque qqn validerai un message sans avoir au préalable écrit dans le topic de présentation.

Wong

Je viens de purger les membres à 0 posts :)

High Cobra, je m'y connais pas assez en MySQL, mais c'est jouable de faire une requête qui se lance automatiquement à intervalle régulier pour nettoyer la base ?

je ferais bien un truc du style toutes les 24h : delete from users where (posts = 0) and (date d'inscription > 1 semaine) ?

Edit : j'ai modifié les permissions, les gens à 0 posts n'ont le droit de poster que dans le Bar-Tapas, mais j'ai peut-être cassé d'autres trucs ;)
Re-edit : en fait ça marche pas du tout :( je remets comme avant..

Dernière édition: 25 Avril, 2011, 16:30:05 par WFH

mioux

Si tu fais juste une page qui lance les commandes qu'il faut pour supprimer les users, je peux lancer un script qui se lance tous les jours pour l'appeler, j'ai déjà ça pour faire les backups de mon site.

Pour les requêtes à lancer, j'ai pas la structure de la bdd sous la main, donc je ne peux pas t'aider, mais si tu veux, je peux regarder ça.

EDIT :

DELETE
FROM    `smf_members`
WHERE   from_unixtime(dateRegistered + 604800) < NOW() AND
        posts = 0

Dernière édition: 25 Avril, 2011, 19:25:16 par mioux

Wong

La requête c'est pas un souci, je fais de la BDD tous les jours (même si c'est du Oracle, ça se ressemble beaucoup ;)). L'idée ça serait de faire un équivalent de proc-stock que le DBMS lancerait tous les jours :)

mioux

Bah alors :

<?php
  
// Enter Database access details
  
$host 'SERVER';
  
$user 'USER';
  
$pass 'PASS';
  
$db   =   'DBNAME';
  
  
mysql_connect($host$user$pass);
  
mysql_select_db($db);
  
  
mysql_query("DELETE\
FROM    `smf_members`\
WHERE   from_unixtime(dateRegistered + 604800) < NOW() AND\
        posts = 0"
);
  
  
  
mysql_close();
  
?>


Et tu met une tache cron qui se lance tous les dimanches à minuit ou tous les jours si tu préfère qui fait un
curl http://jenesuis.net/forum/purge.php
Et voilà le travail ;D

EDIT : En revanche j'ai un doute pour les string multiligne en php...

Dernière édition: 25 Avril, 2011, 19:44:45 par mioux

Wong

Si je fais un cron pas besoin de page, je peux envoyer la requête directement via un script, pas besoin de passer par une page ;)

Je sais pas si on a accès à la console sur le serveur, d'où ma question à High Cobra en fait. Typiquement sur un hébergement mutualisé, tu peux toujours courir pour jouer avec en SSH ;D

mioux

C'est pour ça que je te propose la page :D ça passe partout.

Et puis il me semblait que vous étiez hébergé à côté de Gamoover chez Infomaniak qui n'a pas d'accès à SSH, et puis je viens de me rappeler que tu ne peux pas avoir plusieurs noms de domaines sur un même hébergement chez eux, donc c'est pas là que le site doit être hébergé...

gnocchi

Dedibox
http://www.db.ripe.net/whois?searchtext=88.191.121.72

Sinon pas besoin de cron en php, il suffit d'inclure la commande de purge dans une page consultée régulièrement (au hasard l'index du forum, mais il y a peut-être plus pertinent) et de ne l'exécuter que si X jours sont passés depuis la dernière purge.

Cosmic

Juste en checkant le calendrier, j'ai vu qu'il y avait au début du mois de mai pas mal de bots (ils ont tous 41ans d'ailleurs).

Voilà, si ça peut aider à faire le ménage. C'est ma modeste contribution du jour.  ;D

Racletteman

Ça peut être un critère discriminant à l'inscription !  ;D



T'as quarante et un ans ?

Cosmic


T'es vieux ?

Garburesteff


"L'anniversaire d'un vieux de 41 ans? On boit un coup?"

Fungus


J'en ai viré 8000 en Bosnie, tu m'payes un coup ?

Dernière édition: 31 Mai, 2011, 23:59:51 par Fungus

Kirby_Bros


T'as 41 ans ? Et hop, dans ton cul !