.htaccess - Accesos de URL especificas

  • Autor Autor liderxlt
  • Fecha de inicio Fecha de inicio
L

liderxlt

Beta
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Hola, espero puedan ayudarme con este inconveniente que tengo.
Necesito que se pueda aceder a un script que esta alojado en un directorio /directoriox/ solo usuarios que provengan de una determinada URL "www.sitioweb.com/permitido" .Los ingresos directos al script no de deben permitir como por ej: "www.sitioweb.com/directoriox/"

El código original del del archivo .htaccess del script es:
Insertar CODE, HTML o PHP:
<IfModule mod_rewrite.c>
RewriteEngine Off
</IfModule>

Actualmente estoy usando este código en el .htaccess del script
Insertar CODE, HTML o PHP:
RewriteCond %{HTTP_REFERER} !^www.sitioweb.com/permitido/
RewriteRule ^(.*)      www.sitioweb.com/usuariosredireccionados/ [L,R]
Esto me esta funcionado a media ya que puedo ingresar www . sitioweb.com/permitido/ y si quiero ingresar directamente a www . sitioweb.com/directoriox/ me redirige a www . sitioweb.com/usuariosredireccionados/ , de igual forma si ingreso de aotra URL que no sea www . sitioweb.com/permitido/ .
El problema me surge cuando ingreso al script y hago click por ej en login , cuando se recarga la pagina me saca del script y me lleva a www. sitioweb.com/usuariosredireccionados
Como puedo solucionar este problema?
Gracias por su tiempo.
Saludos!
 
Última edición:
Bueno según entiendo el problema es que si entras bien la primera vez al recargar o hacer clic en cualquier link ya es el mismo sitio quien refiere, ahora la pregunta sería ¿por qué al entrar a la página deseada tienes que recargar o cambiat de página?

Creo que tu solución va a ir por el lado de que al entrar a la página restringida se cree una cookie o una sesión con lo cual al cambiar a cualquier otra página sepas que si llegaste a la página restringida anteriormente. No sé, se me ocurre.
 
No ocupas htaccess. Ni nada en tu archivo proveniente:
Usa $_SERVER en el archivo restringido. Investiga sobre esa variable global :encouragement:

Ahí encontrarás el valor para detectar si vienen de tu URL proveedor o si entraron de otra URL o si no existe ninguna URL Proveniente, es decir, si teclearon o copiaron la URL directamente en la barra de direcciones del navegador.

Y ya dependiendo tu condición, le das el acceso al archivo o lo redireccionas a 404 o al index.

Saludos.
 
Podes hacer que chequee el referer con php primero antes de mostrar el contenido.

PHP:
<?php
$ref = $_SERVER[HTTP_REFERER];
if (preg_match('/directoriox/i', $ref)) { 
?>
CONTENIDO QUE QUIERES OCULTAR
<?php 
} else {
echo 'ERROR, REFERENCIA INCORRECTA.';
}
?>
 
Atrás
Arriba