/ / Creación de una licencia por sitio (algoritmo): xml, servicios web, algoritmo, httpwebrequest, clave de licencia

Creación de una licencia por sitio (Algoritmo) - xml, servicios web, algoritmo, httpwebrequest, clave de licencia

Me gustaría proporcionar como servicio, feeds XML a los propietarios de sitios web. El archivo XML en sí se proporcionará a través de un servicio web (.asmx)

El problema es que el cliente puede distribuir libremente el enlace de alimentación XML.

Así que pensé en crear una "licencia por sitio". El propietario-cliente del sitio web me reconocerá los sitios web que solicitarán los feeds XML. De esta manera, los feeds XML se proporcionarán a solicitudes http específicas.

PD Sé que puedes cambiar los encabezados y así sucesivamente ... ¡Pero me gustaría implementar una solución "para ralentizar las cosas" y sentirme mejor!

¿Podría proporcionar un algoritmo de licencia mejor? ¿Cómo puedo evitar que los feeds XML se distribuyan libremente?

Respuestas

4 para la respuesta № 1

Depende completamente de las reglas de su negocio.dictar; cuanta más seguridad desee, más carga colocará en sitios individuales para autenticarse. Cuanto más fácil lo desee para los sitios de los clientes, menos complejo será su algoritmo.

Pero básicamente, proteja el contenido con un token específico del asiento (es decir, una contraseña).

Para cada cliente permitido, genera un token. Necesita que los asientos pasen ese token como parte de su solicitud. Cuando reciba ese token, valídelo (en la medida que considere apropiado); tal vez solo verifique que sea un token válido, tal vez verifique el originador de la IP, tal vez el token sea parte de una fase de cifrado de desafío-respuesta.

Rastree los inicios de sesión y busque abusos (solicitudes provenientes de diferentes direcciones IP, solicitudes que ingresan a tasas altas, etc.).

En el nivel de un servicio de inicio, probablemente no necesitará mucha sofisticación a menos que esté tratando con información confidencial o hasta que tenga éxito.


2 para la respuesta № 2

Podría utilizar una solución basada en certificados(Infraestructura PKI): usted crea sus propios certificados que envía a sus clientes (cada cliente obtiene el suyo) y los verifica utilizando una lógica del lado del servidor similar a la que se describe aquí: ASP.NET WebForms: implementación de la autenticación PKI. No es un ejemplo de ASMX, pero la lógica del módulo Http es la misma.

La ventaja es que los usuarios no tendrán que ingresar ninguna contraseña, ya que su navegador debería poder presentar el certificado si el sitio lo solicita.

Por supuesto, los usuarios aún pueden copiar y enviarcertificados a otros usuarios, por lo que aún necesitará algún mecanismo de monitoreo, basado en la dirección IP, por ejemplo (incluso si no es 100% a prueba, es mejor que nada). Una vez que haya detectado que un certificado parece muerto (utilizado por demasiadas personas), puede marcarlo como no válido en su servidor, por ejemplo, y enviar uno nuevo al usuario legítimo.


0 para la respuesta № 3

Tengo un sistema de licencias cercano a eso, quieroProporcionar acceso al servicio para archivos XSL específicos y páginas web específicas, ya que procesa el xsl en función del http etiquetado de la URL. Para ello, he tomado la URL de referencia y la he comparado con la URL permitida, junto con el archivo xsl solicitado.

Otro sistema en el que trabajé dio un pasoAdemás, tenía la identificación de la transmisión (era para la transmisión de video), la identificación del usuario y la hora del día como clave enviada y, si coincidían, se permitía que la transmisión comenzara (con una ventana de 1 minuto).

Pero todos estos métodos funcionan para conocer el orden de los parámetros en la clave y una clave oculta enviada en una o ambas direcciones y md5 hash de la cadena resultante para la clave visible / transmitida.