Rubrique Apache

N’autoriser qu’une seule IP à accéder à un site grâce au fichier .htaccess

Catégorie Apache

Quand on développe un site, on désire souvent que son travail reste secret jusqu’à ce qu’il soit terminé. Pour cela vous avez plusieurs possibilités. Vous pouvez par exemple y mettre un mot de passe, ou travailler en local. Moi, j’aime bien n’autoriser que mon IP. Pas de mot de passe, et tous les postes qui sont associés à cette adresse IP peuvent ouvrir facilement le site en développement.

Pour cela, il suffit de quelques lignes dans votre fichier .htaccess:

Order Deny,Allow
Allow from XX.XXX.XX.XX
Deny from all

Concrètement, vous allez dire à votre serveur Apache de lire d’abord les directives Deny (qui interdit toutes les IPs), puis de n’autoriser que celle mentionnées dans la directive Allow.

Vous pouvez bien entendu mettre plusieurs lignes Allow à la suite pour autoriser plusieurs adresses IPs:

Order Deny,Allow
Allow from XXX.XXX.XXX.XXX
Allow from YYY.YYY.YYY.YYY
Deny from all

Et si vous ne connaissez pas votre adresse IP, vous pouvez aller sur cette page

6 thoughts on “N’autoriser qu’une seule IP à accéder à un site grâce au fichier .htaccess

  1. Nicobse

    Bonjour j’ai une questions, si par exemple je bannis une IP et je veux quelle accède seulement à une page par exemple, une page où il y à écris : VOUS ÊTES BANNIS ect ect.
    Comment je peux faire ?

    Merci de votre réponse.

    Reply
    1. apocalx (Post author)

      Bonne question. Il me semble que le deny renvoi une erreur 403, on doit donc pouvoir utiliser les pages d’erreurs personnalisées grâce à la directive ErrorDocument dans le fichier .htaccess

      Ca devrait donner un truc du genre

      ErrorDocument 403 /mapage403.html

      A tester…

      Reply
  2. mbik

    Bonjour,

    J’ai pas d’adresse ip fixe mais j’utilise dyndsn. Est-il possible de mettre l’adresse dyndns à la place de l’adresse ip ?

    Reply
    1. apocalx (Post author)

      En théorie, ça devrait marcher en remplaçant l’ip par votre domaine. Mais c’est de la théorie, car je ne l’ai jamais essayé moi-même.
      Sinon plan B: mettre un mot de passe avec .htpasswd

      Reply
  3. bou

    Bonjour,
    Je cherche à bloquer la page « back office » de mon site, on m’a conseillé de la restreindre qu’avec mon adresse ip, cela veut dire qu’il y aura qui pourra aller sur la page « back office », comme vous avez fait pour votre site.
    Comment dois-je procéder?
    merci d’avance!

    Reply
    1. apocalx (Post author)

      Bonjour,
      Pour sécuriser l’accès a un backoffice, je préconiserais plutôt une protection par mot de passe. En effet, si pour une quelconque raison vous devez accéder à votre backoffice avec une connexion internet différente de celle que vous utilisez habituellement, vous seriez bloqué avec une protection par IP!
      Vous trouvez facilement des documentations sur la mise en place de mot de passe via les fichier .htacces et .htpasswd, comme par exemple ici: https://docs.ovh.com/fr/fr/web/hosting/mutualise-htaccess-comment-proteger-lacces-a-un-repertoire-par-une-authentification/

      Reply

Laissez un commentaire...

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

(obligatoire)