Bonjour Smiley smile

Je travaille sur un "blog" ( pas un WordPress )qui à pour but de proposer aux visiteurs de raconter une histoire qui va directement s'afficher à la suite des autres en avant du site ( donc visible de tous car il n' y a pas de modération manuelle ).

Je cherche à savoir comment est-il possible de limiter la publication de une "histoire" afin de ne pas me faire spammer par des petits rigolos.

Par exemple : une publication autorisé toutes les 5 minutes par visiteur.

Après énormément de recherche je suis tombé sur des explications comme les "sessions" ou "timestamp" mais je ne sais pas ce qui est le mieux...

Est-il possible d'ajouter un code dans mon formulaire.php ?

Je travaille actuellement en local avec WAMPSERVER.

Mes connaissances : je suis plutôt un débutant en programmation, mes connaissances se limitent à savoir bidouiller, j'ai administré et configuré des serveurs de jeux sur des dédiés sous linux ( j'ai donc un minimum de savoir, phpmyadmin / les bdd ) mais Google est mon ami donc j'arrive plus ou moins à me débrouiller ( rajouter un bout de code par ci par la, modifier des pixels en travaillant avec Dreamweaver )

Ps : Je ne recherche pas de captcha ( ou alors si il existe un captcha qui se rapproche de ce que je recherche je suis preneur )

Je vous en remercie par avance !
Modifié par Gamer-Fish (09 Mar 2015 - 13:54)
Bonjour. Si vous souhaitez limiter les utilisateurs dans leur envoi de messages, à part une configuration liée à la session de l'utilisateur, je ne vois pas...
Dans une situation similaire, j'ai fait la chose suivante:
1) j'ai un fichier qui contient une table qui contient l'adresse IP de l'utilisateur et la date/heure de l'envoi du message
2) avant d'envoyer un message, je regarde si le même IP a envoyé un message dans les 5 dernières minutes

Ce n'est pas génial, mais ça tourne depuis plusieurs années sans problème (je croise les doigts).
Olivier C a écrit :
Bonjour. Si vous souhaitez limiter les utilisateurs dans leur envoi de messages, à part une configuration liée à la session de l'utilisateur, je ne vois pas...


Il ne faut jamais se fier a une donnée provenant du client, en l'occurence le cookie de session. Avec ta métohde il suffit de ne pas renvoyer le cookie pour faire sauter ta sécurité.

Olivier C a écrit :

Dans une situation similaire, j'ai fait la chose suivante:
1) j'ai un fichier qui contient une table qui contient l'adresse IP de l'utilisateur et la date/heure de l'envoi du message
2) avant d'envoyer un message, je regarde si le même IP a envoyé un message dans les 5 dernières minutes

Ce n'est pas génial, mais ça tourne depuis plusieurs années sans problème (je croise les doigts).


Oui, c'est un méthode simple qui fonctionne dans la majorité des cas (c'est contournable mais c'est déjà moins à la portée d'un débutant qu'un simple cookie).
Modifié par tempif (10 Mar 2015 - 15:27)
Bonjour à tous,

Tout d'abord merci à tous pour vos messages Smiley smile

Comment est-il possible techniquement de faire cela ?

Dans une situation similaire, j'ai fait la chose suivante:
1) j'ai un fichier qui contient une table qui contient l'adresse IP de l'utilisateur et la date/heure de l'envoi du message
2) avant d'envoyer un message, je regarde si le même IP a envoyé un message dans les 5 dernières minutes


Merci Smiley smile
Gamer-Fish a écrit :
Bonjour à tous,

Tout d'abord merci à tous pour vos messages Smiley smile

Comment est-il possible techniquement de faire cela ?

Dans une situation similaire, j'ai fait la chose suivante:
1) j'ai un fichier qui contient une table qui contient l'adresse IP de l'utilisateur et la date/heure de l'envoi du message
2) avant d'envoyer un message, je regarde si le même IP a envoyé un message dans les 5 dernières minutes


Merci Smiley smile

Je réponds par MP
Bonsoir,

Vous créez un champ "age" avec "quel est votre âge" le tout en css hidden (donc, non visible).

Un visiteur normal ne voit pas ce champ, donc remplira le reste du formulaire, sauf ce champ....

Un automate va voir ce champ et le remplira (age a la même signification en français et en anglais).

Quand vous traitez les données, s'il y a un contenu dans "age", vous jetez la saisie...

Efficace à 95%

A+
mpmp93 a écrit :
Bonsoir,

Vous créez un champ "age" avec "quel est votre âge" le tout en css hidden (donc, non visible).

Un visiteur normal ne voit pas ce champ, donc remplira le reste du formulaire, sauf ce champ....

Un automate va voir ce champ et le remplira (age a la même signification en français et en anglais).

Quand vous traitez les données, s'il y a un contenu dans "age", vous jetez la saisie...

Efficace à 95%

A+

Oui, sauf que la technique "du champ caché" ne répond pas à la question...
PapyJP a écrit :

Je réponds par MP


Je vous est répondu par MP.

Je pense que je vais m'orienter vers un captcha qui je pense sera plus simple d'installation et qui j'espère limitera la casse par rapport au spammer.

J'ai testé ceci : https://code.google.com/p/cool-php-captcha/

j'ai intégrer les codes sur la page de mon formulaire mais ça ne semble pas fonctionner.
Merci de votre réponse.
Oui, si vous vous attendez à beaucoup d'utilisateurs c'est sans doute préférable. Je constate en moyenne un ou deux messages par mois, mon programme a suffit jusqu'à présent, mais un captcha doit être plus solide, même si ce n'est pas agréable pour les utilisateurs.
Bonjour Gamer-fish,
Bonjour Papyjp,

partant du constat qu'un robot-spammer n'intervienne pas manuellement à l'écran, ne peut-on pas précisément solliciter d'un "vrai" visiteur qu'il intervienne manuellement en bas du champ de son commentaire par un drag'ndrop tout simple : déplacer un carré vert pour, par exemple le déposer dans une boîte toute symbolique en guise de validation ?

Le drag'ndrop entendrait les nouvelles coordonnées du carré vert alors obtenues (celles de la boîte de validation, lesquelles seraient aléatoires de page en page, de visite à visite par random)

Pour ma part, le captcha m'a toujours agacé (et je ne dis pas ce que j'en pense lorsqu'il est illisible, ou carrément impossible ...)
Modifié par senteur_honrable (14 Mar 2015 - 12:43)
senteur_honrable a écrit :

partant du constat qu'un robot-spammer n'intervienne pas manuellement à l'écran


Mouais, c'est pas "à l'écran" mais un robot peut manipuler le DOM, executer des events, déclencher des évènements (click, drag and drop, etc), executer du JS... Il suffit de scripter avec un navigateur "headless" comme PhantomJS, CasperJS ou Selenium. Les spamers utilisent ces outils depuis qu'ils existent.
tempif a écrit :


Mouais, c'est pas "à l'écran" mais un robot peut manipuler le DOM, executer des events, déclencher des évènements (click, drag and drop, etc), executer du JS... Il suffit de scripter avec un navigateur "headless" comme PhantomJS, CasperJS ou Selenium. Les spamers utilisent ces outils depuis qu'ils existent.


Bon ! alors on est mort ...

Mon idée convenait d'une exclusion [edit : côté serveur s'entend]. Fort temporaire face à la force du Mal.
Modifié par senteur_honrable (14 Mar 2015 - 23:51)
Edit : dans l'idée que je soumets, est-il possible de crypter le positionnement (lequel est aléatoire en X et Y) d'une boîte de validation ? Et le cryptage serait-il suffisamment compact (et léger) pour ne pas encombrer la performance de la page ? J'ai le souvenir qu'en fait d'intervention "manuelle" d'une validation (anti spam-bot) d'avoir vu dernièrement qu'il fallait glisser un curseur jusqu'au bout de sa barre de "lecture".

Tempif nous dira peut-être ce qu'il en pense ...

@alsacreations
C'est très bien d'avoir engagé un spamer comme je l'évoquais (ailleurs). Ce sera très bien également de "le tenir en laisse".
Modifié par senteur_honrable (15 Mar 2015 - 01:45)