2012-02-09 24 views
9

Quiero crear una URL privada como¿Cómo hacer una URL privada?

http://domain.com/content.php?secret_token=XXXXX 

Entonces, sólo los visitantes que tienen la misma dirección URL (por ejemplo, recibida por correo electrónico) pueden ver la página. Verificamos el $_GET['secret_token'] antes de mostrar el contenido.

Mi problema es que si por casualidad los bots de búsqueda encuentran la URL, simplemente la indexarán y la URL será pública. ¿Existe un método práctico para evitar las visitas al bot y el índice subsiguiente?

posible, pero desfavorables Métodos:

  1. sistema de acceso (por ejemplo, mediante sesión de PHP): Pero no quieren ofrecer conexión del usuario.

  2. Carpeta protegida con contraseña: el problema es el anterior.

  3. Uso de Robots.txt: Muchos bots de los motores de búsqueda no lo respetan.

Respuesta

7

De lo que estás hablando es de seguridad a través de la oscuridad. Nunca es una buena idea. Si debe, ofrecería estos pensamientos:

  • establecer el vínculo expira
  • Bloquear el enlace a la clase C o D de IPs que se accede desde la primera vez
  • que la página desafío del usuario con algo así como una pregunta lógica antes de reenviar a la página real con un token sensible al tiempo (proceso de 2 pasos), y si la prueba falla, envíe un 404 de vuelta para que el rastreador se detenga.
+0

¡Gracias por su útil respuesta y comentarios realistas! – Googlebot

2
  • Si no hay un enlace a la misma (incluyendo que la carpeta no tiene ningún índice vista), el robot no lo encontrará
  • Usted podría devolver un 404, si el elemento está equivocada: De esta forma, un robot (y quién más no tiene el token) pensará, no existe tal página
+1

"Si no hay un enlace a ella": Yo diría que si alguna vez se envió en un correo electrónico hay una buena probabilidad de que será indexado. – CrazyDart

+1

Bueno, si se envía en un correo electrónico CON el token, y esto se indexa, no tiene suerte. Con cualquier solución. Si considera que el contenido de todos los correos electrónicos es público, entonces la autenticación que no sea un dongle de hardware le ayudará: en el momento en que le envíe a alguien el token/contraseña, en el momento en que todo el mundo lo sepa. –

2

Mientras no se enlace, ninguna araña lo levantará. Y, dado que no desea ninguna protección con contraseña, el enlace funcionará para todos. Considere deshabilitar la clave secreta después de usarla.

+2

"Mientras no se vincule a él, ninguna araña lo levantará": Eso no es verdad en absoluto. Las arañas se sembraron de muchas fuentes, no solo enlaces de otras páginas. – CrazyDart

1

solo necesita decirle a los motores de búsqueda que no indexen /content.php, y los motores de búsqueda que hacen honor a robots.txt no indexarán ninguna página que empiece por /content.php.

+1

¡un bot malo es suficiente para hacer que mi contenido privado esté disponible públicamente! – Googlebot

+0

si está enviando un token secreto a los usuarios, su contenido privado ya está disponible públicamente. La única forma en que un bot encontraría el token secreto es si alguien lo enlazó en algún lugar al que el bot tenía acceso. Si eso sucede, tu secreto no es secreto de todos modos. – zzzzBov

+0

Como otros señalaron, puede ser de diferentes maneras; p.ej. barra de herramientas de visitantes. – Googlebot

3

Intente generar una contraseña alfanumérica de 5-6 y adjuntar junto con el correo electrónico, por lo que aunque los robots araña, necesitan contraseña para acceder a la página. (Sólo una medida de seguridad extra añadido)

1

Dejando el enlace no publicado será aceptable en la mayoría de circunstancias ...

... Sin embargo, yo le advertirá de que la prevalencia de las barras de herramientas del navegador (Google y Yahoo viene a la mente) cambiar el juego. Una empresa para la que trabajé tenía páginas de su intranet indexada en Google.Podrías buscar la página y surgieron algunos resultados, pero no pudiste acceder a ellos a menos que estuvieras dentro de nuestro firewall o VPN.

Pensamos que la única forma en que esos enlaces se propagaban a Google tenía que ser ser a través de la barra de herramientas. (Si alguien más tiene una mejor explicación, me encantaría escucharla ...) He estado fuera de esa compañía hace un tiempo, así que no sé si alguna vez descubrieron definitivamente lo que sucedió allí.

lo sé, extraño pero cierto ...

+0

¡Tiene toda la razón! Esta es la razón por la que tengo miedo de compartir una URL privada como se describe arriba. – Googlebot

+0

Creo que deberás enviar un código en el correo electrónico (como se menciona en una publicación anterior) o algo así como un CAPTCHA para mantener los bots lejos y asegurarte de que estás tratando con una persona. – Tim

Cuestiones relacionadas