Bloquer IP en HTML

Résolu
Bonjour,

Je souhaiterais savoir le code a mettre en HTML ou JavaScript pour bloquer l'IP d'une personne qui poste des messages d'insulte sur un site.
J'ai beaucoup cherché sur Google mais je n'ai rien trouvé.
Merci de vos réponses

4 réponses

Résumé de la discussion

Le blocage d'une IP pour des comportements problématiques sur un site est discuté avec une préférence marquée pour des solutions côté serveur plutôt que du JavaScript côté client, afin d'être plus fiable. Plusieurs participants citent le fichier .htaccess comme approche simple et robuste pour bloquer des adresses, tandis que d'autres proposent du PHP qui filtre l'adresse IP via $_SERVER['REMOTE_ADDR']. Des échanges évoquent aussi des limites et des risques, notamment l'impact sur les visiteurs légitimes et la nécessité d'adapter les règles d'accès selon l'hébergeur et le serveur. En cas de doute, certains conseillent de tester successivement .htaccess puis une solution PHP et d'éviter les solutions uniquement basées sur JavaScript ou HTML, qui peuvent être contournées.

Bobot (l’IA à votre service)
  1. Merci ça marche !
    Maintenant je vais me lancer dans la construction d'un espace membres (celui de ton site ) !

    Edit : Celui de ton site marche mais c'est juste un login je n'avais pas tout lu
    donc je vais en cherché un sans MySQL si possible ...

    Edit2: Ca y est tout est installé et le bloc IP marche très bien merci jjsteing !
    1. Contributeur
      Re,

      ErrorDocument 403 /403.html
      ErrorDocument 404 /404.html

      order allow,deny
      deny from 88.888.88.888
      allow from all

      Bien sur 403.html doit être dans le même répertoire que ton htaccess...

      sinon moi j suis passer par un php:

      dans Erreur.php:
      <?php  
      
      //on recupere la variable d'erreur  
      $erreur=$_GET['erreur'];  
      //on la modifie  
      switch($erreur){  
      case 400:  
      $erreur.=" - erreur de syntaxe dans l'adresse du document";  
      break;  
      case 401:  
      $erreur.=" - pas d\'autorisation d'accès au document";  
      break;  
      case 402:  
      $erreur.=" - accès au document soumis au paiement";  
      break;  
      case 403:  
      $erreur.=" - pas d'autorisation d'accès au serveur";  
      break;  
      case 404:  
      $erreur.=" - la page demandée n'existe pas";  
      break;  
      case 405:  
      $erreur.=" - méthode de requête du formulaire non autorisée";  
      break;  
      case 406:  
      $erreur.=" - requête non acceptée par le serveur";  
      break;  
      case 407:  
      $erreur.=" - autorisation du proxy nécessaire";  
      break;  
      case 408:  
      $erreur.=" - temps d'accès à la page demandée expiré";  
      break;  
      case 409:  
      $erreur.=" - l'utilisateur doit soumettre à nouveau avec plus d'infos";  
      break;  
      case 410:  
      $erreur.=" - cette ressource n'est plus disponible";  
      break;  
      case 411:  
      $erreur.=" - le serveur a refusé la requête car elle n'a pas de longueur";  
      break;  
      case 412:  
      $erreur.=" - la précondition donnée dans la requête a échoué";  
      break;  
      case 413:  
      $erreur.=" - l'entité de la requête était trop grande";  
      break;  
      case 414:  
      $erreur.=" - l'URI de la requête était trop longue";  
      break;  
      case 415:  
      $erreur.=" - type de média non géré";  
      break;  
      case 500:  
      $erreur.=" - erreur interne du serveur";  
      break;  
      case 501:  
      $erreur.=" - requête faite au serveur non supprimée";  
      break;  
      case 502:  
      $erreur.=" - mauvaise passerelle d'accès";  
      break;  
      case 503:  
      $erreur.=" - service non disponible";  
      break;  
      case 504:  
      $erreur.=" - temps d'accès à la passerelle expiré";  
      break;  
      case 505:  
      $erreur.=" - version HTTP non gérée";  
      break;  
      }  
      
      //on redirige vers la page d'erreur en indiquant l'erreur  
      //Ici c'est index mais vous pouvez changer.  
      //En bas de cette page s'inscriera un message, donc faites gaffe au pseudo-  
      //frames, ca risque de les gacher.  
      
      echo '<div align="center"><h3>Une erreur de type '.$erreur.' s\'est produite.<br><br><a href="../">Retour à l\'acceuil</a></h3></div>';  
      ?>  
      


      et au début du htaccess :

      ErrorDocument 400 /Erreur.php?erreur=400
      ErrorDocument 401 /Erreur.php?erreur=401
      ErrorDocument 402 /Erreur.php?erreur=402
      ErrorDocument 403 /Erreur.php?erreur=403
      ErrorDocument 404 /Erreur.php?erreur=404
      ErrorDocument 405 /Erreur.php?erreur=405
      ErrorDocument 406 /Erreur.php?erreur=406
      ErrorDocument 407 /Erreur.php?erreur=407
      ErrorDocument 408 /Erreur.php?erreur=408
      ErrorDocument 409 /Erreur.php?erreur=409
      ErrorDocument 410 /Erreur.php?erreur=410
      ErrorDocument 411 /Erreur.php?erreur=411
      ErrorDocument 412 /Erreur.php?erreur=412
      ErrorDocument 413 /Erreur.php?erreur=413
      ErrorDocument 414 /Erreur.php?erreur=414
      ErrorDocument 415 /Erreur.php?erreur=415
      ErrorDocument 500 /Erreur.php?erreur=500
      ErrorDocument 501 /Erreur.php?erreur=501
      ErrorDocument 502 /Erreur.php?erreur=502
      ErrorDocument 503 /Erreur.php?erreur=503
      ErrorDocument 504 /Erreur.php?erreur=504
      ErrorDocument 505 /Erreur.php?erreur=505

      N'hésitez pas à poser des questions, il vaut mieux être con 5 min que le rester toute sa vie ;)
      N'oubliez pas de mettre votre Post en 'Résolu' quand c'est le cas :-D
      1. Contributeur
        En htaccess, c'est hyper simple (encore + simple qu en php), va voir sur le lien plus haut...

        Sinon, si tu veux le code php...
        met ca au début de ton index.php:
        <?php
        switch($_SERVER['REMOTE_ADDR']){
        //List IP a banir
        	case '88.88.88.88':
        	case '99.99.99.99':
        	case '188.188.188.188':
        	case '8.8.8.88':
        		echo "<script>alert('Not allowed to be here');</script>";
        		exit();
        		break;
        }
        echo "<script>alert('OK, You can continue');</script>";
        
        ?>
        

        1. je ne peut pas! moi c'est de type index.html! je vais esayer quand meme en mettant un redirection des pages .html aux pages .php je te dirais si le code marche...

          EDIT: Non ça ne marche pas : ça affiche le code comme si c'était du texte ou est le l'erreur? (je suis trèèèèès nul en php ...)
        2. Contributeur
          d où le fait de fait du htaccess... beaucoup plus simple est plus sécurisé !!

          Si tu connais rien en php.. y a pas d autre solutions....
        3. ben je connais rien en htaccess non plus ...
        4. Bon tant pis j'ai trouvé un autre moyen...
        5. Contributeur
          qui est ???

          Et pour le htaccess.. y a rien besoin de savoir, c'est 1 fichier texte que tu met dans le répertoire de ton site...
      2. Contributeur
        Bonjour,

        En html, je crois pas, mais en php.. ou meme mieux, avec un htaccess... c est facilement faisable ;)
        1. Si il n'y a aucun moyen en JS je veux bien le utiliser htacceess mais je suis trèèès débutant alors si quelqu'un veut bien m'aider ...
        2. Contributeur
          pas de soucis...

          avec le htaccess, tu peux bloquer une ou plusieurs adresses IP (si tu les connais)
          order allow,deny
          deny from 192.168.44.201

          ou
          bloquer un domaine:
          deny from some-evil-isp.com

          des exemples ici :
          http://blamcast.net/articles/block-bots-hotlinking-ban-ip-htaccess
        3. Je connais l'IP mais comment dois-je mettre le code que tu me donne ?
        4. Je n'utilise pas PHP ...