2011-02-18 9 views
30

¿Cómo se permite el acceso al archivo solo a usuarios con ip que están en un rango de direcciones IP?htaccess acceda al archivo por rango de IP

Por ejemplo file admin.php. y van desde 0.0.0.0 a 1.2.3.4.

Necesito configurar el acceso a un solo archivo, no al directorio.

+0

Dejar de FROM_IP TO_IP –

+0

@Manish Trivedi Sólo lo intentó: 127.0.0.1 es negada por 127.0.0.2 127.0.0.0. Por lo tanto, no es tan simple, a menos que haya cometido un error en mi prueba. ¿Hice? – phihag

Respuesta

38

Sólo añadir una directiva FilesMatch o Files limitarlo a una secuencia de comandos específicos.

El siguiente bloquearía acceso a todos los scripts que terminan en "admin.php":

<FilesMatch "admin\.php$"> 
    Order deny,allow 
    Deny from all 
    Allow from 10.0.0.0/24 
</FilesMatch> 

El siguiente sería único bloque de administración.php:

<Files "admin.php"> 
    Order deny,allow 
    Deny from all 
    Allow from 10.0.0.0/24 
</Files> 

Para obtener más información se refiere a los documentos de Apache en Configuration Sections.

23

cheque la página del manual de la Allow Directive

Order Deny,Allow 
Deny from all 
Allow from 10.1.0.0/255.255.0.0 

Una dirección IP parcial

Ejemplo:

Allow from 10.1 
Allow from 10 172.20 192.168.2 

Los primeros 1 a 3 bytes de un IP dirección, para restricción de subred norte.

Una red/máscara de red par

Ejemplo:

Allow from 10.1.0.0/255.255.0.0 

A a.b.c.d red, y una máscara de red w.x.y.z. Para obtener una subred de grano más fino, restricción.

Una red/nnn especificación CIDR

Ejemplo:

Allow from 10.1.0.0/16 

similares al caso anterior, excepto la máscara de red consiste en nnn alto orden 1 bits.

+0

¿Pero cómo usarlo, por ejemplo, para el archivo admin.php? – Mirgorod

+0

¿Estoy en la línea correcta aquí para agregar 2 intervalos de IP a mi código permitido en htaccess? http://stackoverflow.com/questions/31833456/how-do-i-allow-these-two-ip-ranges-in-my-htaccess-file –

-2
Order Deny,Allow 
Deny from all 
Allow from 311.311.311 322.322.322.322 

Ver answer here

+2

Esto coincide solo con las direcciones IP especificadas, no con un rango. – phihag

3

a hacer esto para un solo IP:

<Limit GET POST> 
order deny,allow 
deny from all 
allow from 1.2.3.4 
</Limit> 

Si desea hacerlo por una serie como 10.xxx, a continuación, haga lo siguiente:

<Limit GET POST> 
order allow,deny 
allow from 10 
deny from all 
</LIMIT> 
8

No puede coincidir con un rango de IP con allow , Pero se puede emular con múltiples redes CIDR:

Order allow,deny 
# 0.0.0.0 - 0.255.255.255.255 
Allow from 0.0.0.0/8 
# 1.0.0.0 - 1.1.255.255 
Allow from 1.0.0.0/15 
# 1.2.0.0 - 1.2.1.255 
Allow from 1.2.0.0/23 
# 1.2.2.0 - 1.2.2.255 
Allow from 1.2.2.0/24 
# 1.2.3.0 - 1.2.3.3 
Allow from 1.2.3.0/30 
# 1.2.3.4 
Allow from 1.2.3.4 
2

Si está utilizando WordPress, entonces el método mejor y más simple es instalar el plugin - LionScripts: WordPress IP Blocker desde su página web http://www.lionscripts.com/ip-address-blocker

Su versión profesional tiene muchas más funciones como el bloqueo de país y rango de IP bloqueo, csv mayor carga etc.

+0

No parece que vaya a restringir los archivos cargados. –

0

si usted proporcione un comodín 0.0.255.255

Order allow,deny 
# 1.2.0.0 - 1.2.255.255 
Allow from 1.2.0.0/16 

Esto le dará un rango de 1.2.0. 1 - 1.2.255.254

también puede check here

Cuestiones relacionadas