Bloqué une ip sur une page

leto23 Messages postés 89 Statut Membre -  
leto23 Messages postés 89 Statut Membre -
Bonjour,
J'aimerai savoir comment faire pour bloquer l'ip d'une personne sur une page après une action, pour l'empêcher de refaire cette action.

Exemple concret : La personne remplit un formulaire, une fois le formulaire remplit, son ip est bloqué et elle ne peux plus accèder a la page du formulaire (avec un message d'avertissement par exemple).

Je sait que en principe le blocage d'ip ne sert a rien, car c'est facile de changer d'ip, mais bon, tout le monde ne le sait pas, et je ne pense pas qu'une personne perdrai son temps à changer d'ip pour accomplir une action assez longue...

y aurai t'il des codes html qui pourraenti faire sa ?

Merci de vos réponses ^^

4 réponses

s.spark Messages postés 2528 Statut Contributeur 618
 
Salut,

y aurai t'il des codes html qui pourraenti faire sa ?

Ton formulaire ne peut être traité qu'en PHP, donc nous utiliseront php ^^

Pour récupérer l'IP de quelqu'un il faut utiliser la variable $_SERVER['REMOTE_ADDR']

Donc en gros à chaque fois qu'un formulaire est soumis avec succès il faut ajouter cette ip dans un base de donné, avec la date courante ( NOW() ).

Donc il faut interdire l'affichage du formulaire en vérifiant que l'ip de l'utilisateur courent ne soit pas dans la base de donné et faire la même vérification à la soumission (au cas ou le gar fait un refresh de la page).

Mais il faut aussi vérifier que la date ne soit pas plus ancienne que 24h car une IP ne doit jamais être bloqué plus de 24h.

Voici le bout de requête :

SELECT ton_champ_ip FROM ta_table WHERE DATEDIFF( NOW() , ton_champ_date )<1

On fait la différence entre la date actuelle et la date enregistré, ici 1 = 1 jour

Voilà pourquoi tout à l'heure nous avons enregistré la date en plus de l'IP.
0
leto23 Messages postés 89 Statut Membre 6
 
Merci de ta réponse,

je vais essayer se que tu as dit ^^ malgrès mes grosses faiblesses en php, va falloir que je mit mette.

Mais tu dit que le formulaire devra être en php, alors que par exemple sur se lien https://www.commentcamarche.net/contents/493-formulaires-html-cours-et-exemples on explique comment faire un formulaire en html...

Ou es ce que je dois placé le code php sur ma page html ?
0
s.spark Messages postés 2528 Statut Contributeur 618
 
"Mais tu dit que le formulaire devra être en php"

ce n'ai pas ce que j'ai dis, j'ai dis qu'il est traité en php (ou asp par exemple), le formulaire est forcément en html, mais les donnés envoyés c'est le serveur qui les traites, on a encore j'avais vu de l'html envoyer des mails ou encore gérer une base de données.

" alors que par exemple sur se lien https://www.commentcamarche.net/contents/493-formulaires-html-cours-et-exemples on explique comment faire un formulaire en html... "
Sur ce lien à aucun moment on ne parle du traitement des données, par contre on te dit :

"CCM : les données présentes dans le formulaire sont envoyées au script CGI"

"WIKI : il est possible d'écrire un programme CGI en C, Python, PHP, en script shell ou en tout autre langage de programmation."
0
leto23 Messages postés 89 Statut Membre 6
 
Le formulaire est donc un mélange de html et de php.

Même si je n'ai pas encore complètement fini mon formulaire (donc pas testé sur un serveur), j'avais comprit que lorsque une personne cliquait sur "envoie", alors sous la forme d'un mail, l'on recevait les information remplit (avec la valeur donnée, suivie de la réponse).

Si par exemple je prend le script fait par le site, je doit rajouter dessus se que tu as dit plus haut (l'ip du visiteur et la date) avec le bout de la requête ? Mais pour faire sa je doit mettre un script qui reconnait si l'envoie a été effectué ou non. Ensuite les imformations me parvienne par mail et l'ip est bloqué ?

"Sur ce lien à aucun moment on ne parle du traitement des données"
J'ai trouver le lien ou il parle de la réception des données : https://www.commentcamarche.net/contents/793-php-recuperation-de-donnees
0
s.spark Messages postés 2528 Statut Contributeur 618
 
Ecoute, je n'ai pas envi de faire un cour de php ni même fair le script pour toi (parce que là on y va droit dedans).

Pour l'instent je considérais que ton formulaire était opérationnel et servait à alimenter une base de données. Maintenant avec tes nouvelle info ce n'est plus la même donne, puis qu'avant de chercher à bloquer quoi que ce soit il faudrait déjà faire fasse un script fonctionnel, et la route est encore un peu longue.
De plus vu que c'est pour envoyer un mail, tu n'utiliseras à priori pas de base de donnés, donc il faudrait peut être te tourner vers la solution des cookies (au choix).

Voilà un script déjà tout prêt très commenté qui ne demande aucune connaissance particulière en php, c'est celui qui m'a servi de base pour mes propre page de contacte.

https://www.webmaster-hub.com/publications/un-mailer-pour-votre-site-web/

Pour apprendre à faire un site en xhtml/php je te recommande chaudement ce site :

https://openclassrooms.com/fr/courses

Petit conseil ne fait pas l'impasse sur le tuto xhtml même si tu connais déjà un peu.
0
leto23 Messages postés 89 Statut Membre 6
 
merci pour tes liens et pour ton aide ^^ je vais prendre des cours pour progresser avec tes liens et ceux d'autre site, parceque la je suis un peu largué c'est vrai...

Il avait quel propriété tes formulaires de contactes ?
0