J'essaie de tout nier et de ne permettre qu'une seule adresse IP. Mais j'aimerais que le htaccess suivant fonctionne pour cette seule adresse IP. Je ne trouve pas un moyen de faire fonctionner les deux: le refus de tout et n'en autorise qu'un, plus les options suivantes:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
#Removes access to the system folder by users.
#Additionally this will allow you to create a System.php controller,
#previously this would not have been possible.
#'system' can be replaced if you have renamed your system folder.
RewriteCond %{REQUEST_URI} ^system.*
RewriteRule ^(.*)$ /index.php?/$1 [L]
#When your application folder isn't in the system folder
#This snippet prevents user access to the application folder
#Submitted by: Fabdrol
#Rename 'application' to your applications folder name.
RewriteCond %{REQUEST_URI} ^application.*
RewriteRule ^(.*)$ /index.php?/$1 [L]
#Checks to see if the user is attempting to access a valid file,
#such as an image or css document, if this isn't true it sends the
#request to index.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>
<IfModule !mod_rewrite.c>
# If we don't have mod_rewrite installed, all 404's
# can be sent to index.php, and everything works as normal.
# Submitted by: ElliotHaughin
ErrorDocument 404 /index.php
</IfModule>
Y a-t-il un moyen de faire fonctionner cela?
allow from yourIPv6
Je sais que cette question a déjà une réponse acceptée, mais la documentation Apache dit:
Ainsi, une réponse plus pérenne serait:
J'espère que j'ai aidé à empêcher cette page de devenir l'un de ces "didacticiels obsolètes". :)
la source
Require ip
plusieurs lignes pour le rendre plus lisible par l'utilisateur ou est-ce que toutes les adresses IP doivent être sur une seule ligne?Cela peut être amélioré en utilisant la directive conçue pour cette tâche.
Où 111.222.333.444 est votre adresse IP statique.
Lorsque vous utilisez la directive "Order Allow, Deny", les demandes doivent correspondre à Allow ou Deny, si aucune n'est satisfaite, la demande est refusée.
http://httpd.apache.org/docs/2.2/mod/mod_authz_host.html#order
la source
Version légèrement modifiée de ce qui précède, y compris une page personnalisée à afficher pour ceux qui se voient refuser l'accès:
... et de cette façon, les requêtes ne provenant pas de 111.222.333.444 verront specific_page.html
(poster ceci comme commentaire avait l'air terrible parce que de nouvelles lignes se perdent)
la source
test.html
et se trouve dans le même dossier que le.htaccess
. Cependant, je ne peux pas voir les journaux (non autorisés à partir du serveur). Avez-vous une idée de pourquoi je pourrais avoir ce problème? Lorsque j'obtiens le chemin du fichier via un client ftp, cela me dit/test.html
que le chemin ne devrait pas être un problème, non?En améliorant un peu plus les réponses précédentes, une page de maintenance peut être présentée à vos utilisateurs pendant que vous effectuez des modifications sur le site:
Où:
#.#.#.#
est votre IP: Quelle est mon adresse IP?maintenance.html
il y a un bel exemple ici: Page de maintenance simplela source
En plus de la réponse de @David Brown, si vous souhaitez bloquer une adresse IP, vous devez d'abord tout autoriser puis bloquer les IP en tant que telles:
Vous pouvez utiliser l'une des notations mentionnées ci-dessus pour répondre à vos besoins CIDR.
la source
Vous pouvez utiliser les éléments suivants dans htaccess pour autoriser et refuser l'accès à votre site:
Nous définissons d'abord une variable env allowedip si l'adresse IP du client correspond au modèle, si le modèle correspond, la variable env allowedip reçoit la valeur 1 .
Dans l'étape suivante, nous utilisons Autoriser, refuser des directives pour autoriser et refuser l'accès au site.
Order deny,allow
représente l'ordre dedeny
etallow
.deny from all
cette ligne dit au serveur de refuser tout le monde. la dernière ligneallow from env=allowedip
permet d'accéder à une seule adresse IP pour laquelle nous définissons la variable env.Remplacez
1\.2\.3\.4\.5
par votre adresse IP autorisée.Réfrences:
https://httpd.apache.org/docs/2.4/mod/mod_setenvif.html
https://httpd.apache.org/docs/2.4/mod/mod_access_compat.html
la source
Je n'ai pas pu utiliser la méthode 403 parce que je voulais la page de maintenance et les images de la page dans un sous-dossier sur mon serveur, j'ai donc utilisé l'approche suivante pour rediriger vers une `` page de maintenance '' pour tout le monde sauf une seule IP *
Source: Création d'une page d'attente pour masquer votre blog WordPress
la source
Vous pouvez avoir plus d'une IP ou même un autre type d'autorisation comme l'utilisateur, le nom d'hôte, ... plus d'informations ici https://www.askapache.com/htaccess/setenvif/
la source
Si vous souhaitez utiliser mod_rewrite pour le contrôle d'accès, vous pouvez utiliser des conditions telles que l'agent utilisateur, le référent http, l'adresse distante, etc.
Exemple
Réfrences:
la source
Ajoutez la commande suivante dans le fichier .htaccess. Et placez ce fichier dans votre dossier htdocs.
la source
Pour moi, cela semble fonctionner (en utilisant IPv6 plutôt qu'IPv4) Je ne sais pas si cela est différent pour certains sites Web, mais pour le mien, cela fonctionne.
la source