2012-01-13 14 views
11

Usamos el URLReferrer y un código pasado en la cadena de consulta para producir videos en línea para que solo nuestros clientes pagados puedan vincular a nuestra página de reproducción de video. Este sistema ha funcionado bien por un tiempo. Sé que la referencia URL puede ser falsa, pero ¿quién les diría a sus clientes que hagan tal cosa para acceder a un video? Nos funcionó bien.URLReferrer es nulo cuando la página es HTTPS

Sin embargo, hoy me preguntaron acerca de alguien para quien no funcionó. El URLReferrer es nulo y su sitio es HTTPS. He leído un poco en línea y me da la impresión de que no hay forma de acceder a la referencia URL cuando la página de origen es https. Es esto correcto ? Si crease una versión https de nuestro sitio, ¿lo resolvería? ¿O hay alguna otra forma de evitar esto?

Gracias

Respuesta

13

Su investigación en línea es correcta. La razón principal para no configurar un encabezado HTTP Referrer o equivalente es que esto podría ser un problema de seguridad. La referencia contiene "de dónde vienes", esta es información privada, y no debe exponerse a otros, ¿de qué otro modo sería tener un sitio seguro si todos pueden rastrear dónde has estado?

Entonces: no puede obtener la referencia si la referencia está encriptada (con SSL o de otra manera).


Actualización: esto es lo que la HTTP specification says about coming from a secure site:

Los clientes no deben incluir un campo de encabezado Referer en un petición HTTP (no seguro) si la página de referencia fue transferido con un protocolo seguro.

Como habrás adivinado, no hay forma de evitar esta restricción. Su única opción es usar un modelo de verificación diferente. Uno de estos métodos es darles a los usuarios una clave y solicitarles que la envíen como parámetro con la solicitud. Varios otros métodos pueden ser pensados.

+0

Gracias - el problema con la clave es simplemente que alguien podría copiar el enlace de su página y usarlo, esto es lo que estamos tratando de evitar. Como es un video, la solución obvia es solo permitirles insertar el video en su propia página y no vincularlo a nuestra página de reproducción. – cgraus

+0

Ya hice +1, solo para ser exigente, está citando la especificación HTTP, no la [especificación HTTPS] (http://tools.ietf.org/html/rfc2818) ;-) – Bruno

+0

@Bruno: usted Está bien, no estaba prestando suficiente atención. Fijo. – Abel