elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web (Moderador: #!drvy)
| | |-+  Permitir a una url accedes a mi web a traves de htaccess
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Permitir a una url accedes a mi web a traves de htaccess  (Leído 6,136 veces)
Hekaly

Desconectado Desconectado

Mensajes: 85



Ver Perfil WWW
Permitir a una url accedes a mi web a traves de htaccess
« en: 2 Julio 2014, 18:16 pm »

Buenas.

Tengo una sección de una web que quiero mostrar solo si se accede desde otra web.

Os pongo un ejemplo.

mi web es www.dominio.com y quiero que si accedes desde www.dominio2.com a www.dominio.com/carpeta puedas verlo, pero que desde cualquier otra web no se pueda el caso es que he conseguido hacerlo pero no a nivel de esa ruta exacta sino de toda la web.


Código:
SetEnvIfNoCase Referer "^http://dominio2.com" url_ref=1

<FilesMatch "(.*)">
      Order Deny,Allow
      Deny from all
      Allow from env=url_ref
</FilesMatch>

Con esto consigo que solo la web dominio2.com acceda a www.dominio.com/carpeta, y el resto no, incluido la direccion raiz (www.dominio.com)

Lo que quiero es que solo pueda ser visitado dominio2 la carpeta que le digo y como la web que tengo es un wordpress no tengo una con ese nombre si no que es un RewriteRule.

Como podria hacer eso?? Tambien eh probado a porner la ruta en <FilesMatch "http://dominio.com


En línea

MinusFour
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.529


I'm fourth.


Ver Perfil WWW
Re: Permitir a una url accedes a mi web a traves de htaccess
« Respuesta #1 en: 2 Julio 2014, 18:29 pm »

¿Hay alguna razón por la cual quieras hacer esto? Te puedes saltar la condición si modificas la cabezera http para poner el referer correcto.


En línea

Hekaly

Desconectado Desconectado

Mensajes: 85



Ver Perfil WWW
Re: Permitir a una url accedes a mi web a traves de htaccess
« Respuesta #2 en: 2 Julio 2014, 18:38 pm »

Lo que me han pedido es que solo  desde x dominio pueda acceder a dominio.com/carpeta pero a dominio.com pueda acceder todo el mundo.

Como se que puedes bloquear o permitir por ip o referer he puesto lo que he publicado, pero claro, deniego o permito toda la web , ya que es wordpress no tengo dominio.com/carpeta como tal (asi que <Directory /var/log...) no puedo usarlo (o eso creo).

Aun asi, no puedo tocar el codigo de la web (cabeceras) por que eso es para el departamento de desarrollo y yo estoy en otro.

Por eso me he ido al htaccess. No se podria hacer con el?

Muchas gracias.
En línea

MinusFour
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.529


I'm fourth.


Ver Perfil WWW
Re: Permitir a una url accedes a mi web a traves de htaccess
« Respuesta #3 en: 2 Julio 2014, 19:18 pm »

A ver pues, ¿el .htaccess donde lo tienes?

¿En el root o en la carpeta que quieres proteger?

Si te entendi...

De Dominio1.com puede acceder Dominio2.com/carpeta
Nadie puede acceder a Dominio2.com/carpeta
Todos pueden acceder al root de Dominio1.com
En línea

el-brujo
ehn
***
Desconectado Desconectado

Mensajes: 21.586


La libertad no se suplica, se conquista


Ver Perfil WWW
Re: Permitir a una url accedes a mi web a traves de htaccess
« Respuesta #4 en: 2 Julio 2014, 22:47 pm »

Código:
SetEnvIfNoCase Referer "^http://dominio2.com" url_ref=1

<Directory "/home/httpdocs">
<FilesMatch "(.*)">
      Order Deny,Allow
      Deny from all
      Allow from env=url_ref
</FilesMatch>
</Directory>

Supongo que con la directiva  <Directory no te funciona porque estás usando reglas del mod_rewrite, pero con una expresión regular debería funcionar:

Código:
<FilesMatch "carpeta$">

Citar
FilesMatch matches physical filesystem objects.

entonces:

Código:
<LocationMatch "carpeta$">

También se podría hacer con el el mod_rewrite usando expresiones regulares:

Código:
RewriteEngine on
RewriteCond %{HTTP_REFERER} ^http://www\.example\.com [NC]
RewriteRule \.png http://www.somewhere.com/something.gif [R]


Usando el RewriteCond junto con !-d (cuando sea directorio)
En línea

Hekaly

Desconectado Desconectado

Mensajes: 85



Ver Perfil WWW
Re: Permitir a una url accedes a mi web a traves de htaccess
« Respuesta #5 en: 2 Julio 2014, 23:02 pm »

MinusFour.

En realidad no existe la carpeta ya que dominio1.com/carpeta es generado con una regriteRule de htaccess de una ruta de wordpress. Por eso no me ha funcinoado (eso ycreo yo) <Directory> <Location><Proxy> etc

Si, el htaccess esta en la raiz del proyecto web (/var/www/carpeta)
Si, todo el mundo puede acceder a dominio1.com , pero si accedes (por ejemplo con un href) a dominio1.com/carpeta solo podra acceder el que ya quiera (dominio2.com).

el-brujo --> Mañana cuando llegue al pc, lo pruebo y os cuento.


Muchas gracias a los dos, un saludo.

En línea

Hekaly

Desconectado Desconectado

Mensajes: 85



Ver Perfil WWW
Re: Permitir a una url accedes a mi web a traves de htaccess
« Respuesta #6 en: 3 Julio 2014, 10:26 am »

Nada, no me sale ni con vuestra ayuda, debe estar haciendo algo mal.

Una duda que seguramente me ayudara a resolverlo.

Como se aplica a una ruta url sin que exista realmente esa carpeta. Es decir, como se aplica domonio.com/micarpeta sin que exista /var/www/htdocs/dominio/micarpeta.

Gracias.
En línea

MinusFour
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.529


I'm fourth.


Ver Perfil WWW
Re: Permitir a una url accedes a mi web a traves de htaccess
« Respuesta #7 en: 3 Julio 2014, 16:56 pm »

Pues LocationMatch debería hacer justo eso:

Código
  1. SetEnvIfNoCase Referer "^http://dominio2.com" url_ref=1
  2.  
  3. <Directory "/home/httpdocs">
  4. <LocationMatch "carpeta$">
  5.      Order Deny,Allow
  6.      Deny from all
  7.      Allow from env=url_ref
  8. </LocationMatch>
  9. </Directory>
  10.  

La documentación de apache dice eso:

The <LocationMatch> directive limits the scope of the enclosed directives by URL.

Lo único que se me ocurre es que quizás no hace match con la expresión regular porque le agregas un trailing slash ("/" al final)
En línea

Hekaly

Desconectado Desconectado

Mensajes: 85



Ver Perfil WWW
Re: Permitir a una url accedes a mi web a traves de htaccess
« Respuesta #8 en: 3 Julio 2014, 17:25 pm »

Buenas y gracias por los comentarios.

Pero en toria si <Directory "/home/httpdocs"> significa que se me aplica a todo lo que cuelga de ahi, y claro carpeta$ no existe.

Aun asi, he estado dandole vueltas y con prueba y error he conseguido justo lo contrario a lo que quiero.

Código
  1. SetEnvIfNoCase Referer "^http://dominio2" spam_ref=1
  2. SetEnvIfNoCase Referer "^http://dominio3" spam_ref=1
  3. RewriteCond %{HTTP_REFERER} .*dominio.com/carpeta/.* [OR]
  4. Order Deny,Allow
  5. Deny from env=spam_ref
  6.  

BIen, con eso, consigo que todo el mundo acceda a dominio1.com/carpeta menos los dos que le digo y todo el mundo incluido dominio2 y 3 pueden acceder a raiz de dominio1.

Lo que quiero es al contrario, que en dominio1.com/carpeta solo peuda acceder por dominio2 y 3, pero si cambio el orden de alloy y deny lo que hago es aplicar toda la web, en vez de la ruta.

Ya me queda poco, xD, aun asi gracias de nuevo.

Nota. Creo que con el tema de capeta puede que sea culpa mia por explicarme mal. Como sabemos wordpress contiene 3 carpeta wp-admin, wp-content y wp-includes, por lo que dominio.com/carpeta seria en realidad dominio1.com/index.php?id=1$sección=coches (me estoy inventando la ruta). y no existiria la carpeta "coches"  como tal.

En línea

JorgeEMX
Ex-Staff
*
Desconectado Desconectado

Mensajes: 2.615



Ver Perfil WWW
Re: Permitir a una url accedes a mi web a traves de htaccess
« Respuesta #9 en: 3 Julio 2014, 18:08 pm »

Debería funcionar con un simple Allow from:

Código
  1. SetEnvIfNoCase Referer "^http://dominio2" spam_ref=1
  2. SetEnvIfNoCase Referer "^http://dominio3" spam_ref=1
  3. RewriteCond %{HTTP_REFERER} .*dominio.com/carpeta/.*
  4. Allow from env=spam_ref

No deberías usar el OR. El Order es útil para cuando haces múltiples declaraciones Allow y Deny. Mira la documentación de Apache: http://httpd.apache.org/docs/current/mod/mod_access_compat.html
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
No permitir que se inyecte dll?
Programación Visual Basic
resu 0 1,202 Último mensaje 3 Agosto 2006, 09:07 am
por resu
Permitir aplicaciones
Seguridad
L0Ko 0 1,461 Último mensaje 24 Febrero 2012, 07:26 am
por L0Ko
iptables permitir ip
Seguridad
matiasramos 1 2,558 Último mensaje 25 Abril 2012, 21:43 pm
por r32
No puedo accedes al escritorio
Mac OS X
GARROTE 0 1,887 Último mensaje 16 Febrero 2015, 23:58 pm
por GARROTE
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines