Foros del Web » Programando para Internet » Javascript »

Cómo acceder a páginas, sólo desde mi dominio

Estas en el tema de Cómo acceder a páginas, sólo desde mi dominio en el foro de Javascript en Foros del Web. Quisiera adaptar a mis necesidades el siguiente script: Código HTML: <script type= "text/javascript" > entradaPreferida="dominio.com/pagina.html"; if(document.referrer.indexOf(entradaPreferida)==-1){ location.href="http://www."+entradaPreferida; } </script> Publicado originalmente por KarlanKas En el ...
  #1 (permalink)  
Antiguo 27/05/2008, 12:26
Avatar de Daniel Ulczyk
Super Moderador
 
Fecha de Ingreso: febrero-2005
Ubicación: Buenos Aires
Mensajes: 9.264
Antigüedad: 19 años, 2 meses
Puntos: 2114
Cómo acceder a páginas, sólo desde mi dominio

Quisiera adaptar a mis necesidades el siguiente script:
Código HTML:
<script type="text/javascript">
entradaPreferida="dominio.com/pagina.html";
if(document.referrer.indexOf(entradaPreferida)==-1){
location.href="http://www."+entradaPreferida;
}
</script> 
Publicado originalmente por KarlanKas
En el post Limitar acceso a página

En mi ejemplo, el script satisface los requerimientos para páginas con un solo backlink.

Pero tengo otros casos, la mayoría, donde para algunas páginas se acceden desde diferentes enlaces; siempre dentro de mi dominio.
Se puede plantear alguna solución más amplia?
Donde entradaPreferida="dominio.com/pagina.html"; sea algo así como desde cualquier enlace dentro de mi dominio.
De otra manera, estaría dispuesto a anidar 3 ó 4 condicionales.
En ninguno de ambos casos, sé como.
__________________
—Somos lo que hacemos repetidamente. La excelencia, entonces, no es un acto sino un hábito. (Aristóteles dixit)
  #2 (permalink)  
Antiguo 27/05/2008, 13:56
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años
Puntos: 834
Respuesta: Cómo acceder a páginas, sólo desde mi dominio

Si querés evitar que accedan desde fuera (imagino que por cuestiones de seguridad), la mejor solución no es javascript ni una validación vía referrer (que no sólo no siempre está disponible sino que además se puede falsear).
Mi sugerencia es que coloques las páginas fuera del directorio de publicación (public, www, htdocs o como se llame), en un nivel anterior.
Esa es la manera más segura.
  #3 (permalink)  
Antiguo 27/05/2008, 14:30
Avatar de Daniel Ulczyk
Super Moderador
 
Fecha de Ingreso: febrero-2005
Ubicación: Buenos Aires
Mensajes: 9.264
Antigüedad: 19 años, 2 meses
Puntos: 2114
Respuesta: Cómo acceder a páginas, sólo desde mi dominio

Hola Panino5001
No es por cuestiones de seguridad, lo que fundamenta mi pedido.
Agradezco de todas maneras tu sugerencia.
El caso es que estoy mostrando contenido HTML mediante Multibox
Para este contenido, quiero que se pueda acceder mediante el enlace correspondiente; si de otra manera se tipea la URL, que el navegador direccione a la página que indico.
Insisto, el script que pretendo utilizar satisface mis necesidades. Simplemente ahora, me postulo un uso más exigente ¿se entiende?
Necesito que alguien con buenos conocimientos de JavaScript pueda considerar lo que necesito.
Gracias nuevamente.
__________________
—Somos lo que hacemos repetidamente. La excelencia, entonces, no es un acto sino un hábito. (Aristóteles dixit)
  #4 (permalink)  
Antiguo 27/05/2008, 15:31
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años
Puntos: 834
Respuesta: Cómo acceder a páginas, sólo desde mi dominio

En ese caso podés usar algo como esto (fijate que la autorización se maneja con el atributo target de los enlaces):
p1:
Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html xmlns="http://www.w3.org/1999/xhtml">
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<
title>test</title>
<
script>
window.onload=function(){
this.name='hola';
}
</script>
</head>

<body>
<p><a href="a2.php" target="autorizacionOK">enlace que acceder&aacute;</a></p>
<p><a href="a2.php">enlace que no acceder&aacute; </a></p>
</body>
</html> 
p2:
Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html xmlns="http://www.w3.org/1999/xhtml">
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<
title>test</title>
<
script>
window.onload=function(){
if(
this.name!='autorizacionOK'){this.name='hola';window.location='a1.php';}
}
</script>
</head>

<body>
<p>autorizado!</p>
</body>
</html> 
  #5 (permalink)  
Antiguo 27/05/2008, 16:38
Avatar de Daniel Ulczyk
Super Moderador
 
Fecha de Ingreso: febrero-2005
Ubicación: Buenos Aires
Mensajes: 9.264
Antigüedad: 19 años, 2 meses
Puntos: 2114
Respuesta: Cómo acceder a páginas, sólo desde mi dominio

Una pregunta, quiero hacerte.
La técnica funciona a la perfección; pero hasta que los contenidos no son cargados la página no redirecciona.
Existe alguna manera de evitar esa espera?
O sea, que la acción sea en forma instantánea.
__________________
—Somos lo que hacemos repetidamente. La excelencia, entonces, no es un acto sino un hábito. (Aristóteles dixit)
  #6 (permalink)  
Antiguo 27/05/2008, 17:24
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años
Puntos: 834
Respuesta: Cómo acceder a páginas, sólo desde mi dominio

Si, en la segunda página podés reemplazar el window.onload por una función autoejecutable:
Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html xmlns="http://www.w3.org/1999/xhtml">
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<
title>test</title>
<
script>
(function(){if(
window.name!='autorizacionOK'){window.name='hola';window.location='a1.php';} })();
</script>
</head>

<body>
<p>autorizado!</p>
</body>
</html> 
  #7 (permalink)  
Antiguo 28/05/2008, 09:03
Avatar de Daniel Ulczyk
Super Moderador
 
Fecha de Ingreso: febrero-2005
Ubicación: Buenos Aires
Mensajes: 9.264
Antigüedad: 19 años, 2 meses
Puntos: 2114
Respuesta: Cómo acceder a páginas, sólo desde mi dominio

Malas nuevas che!
Para las sugerencias que me hacés, tengo las siguientes consideraciones:
He Implementado el script en páginas piloto.
Punto a favor: la página destino redirecciona rápida y adecuadamente si no se accede desde el enlace correspondiente.
Punto en contra: Siguiendo el enlace que contiene target='autorizacionOK' el documento se abre en una nueva ventana .


Ahora bien, suponiendo que esto sea sólo anecdótico.
Al querer implementarlo en el sitio, el comportamiento de la página destino es adecuado y cumple con lo requerido.
Pero siguiendo el enlace que corresponde, recordá que estoy usando Multibox para mostrar contenido HTML, lo que se abre en la ventana emergente es la página redireccionada.

Hay alguna forma de modificar el script original (mi primer post) para incluir hasta 3 condiciones; con eso me basta y en algunos casos con dos IF me alcanza.
¿Qué te parece?
__________________
—Somos lo que hacemos repetidamente. La excelencia, entonces, no es un acto sino un hábito. (Aristóteles dixit)
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:42.