Exigir licencias de dominio único para un tema de WordPress

1

Tengo un tema de WordPress que los usuarios pueden comprar. Se le permite usar una sola licencia en un solo sitio web y estoy identificando sitios web por sus dominios. Una sola compra se identifica con un UUID seguro.

Estoy tratando de obtener una solución segura para hacer cumplir esta restricción: puede usar y recibir actualizaciones para ese tema solo desde un único dominio preconfigurado.

También tengo algunas restricciones:

  • no puedo usar el código confuso de ninguna manera, es decir, la seguridad a través de la oscuridad no es una opción para mí
  • los usuarios pueden intercambiar dominios para sus licencias, lo que se realiza en un panel separado

La pregunta es, ¿cuáles son las opciones para hacerlo?

Lo más simple que me viene a la mente es enviar el secreto UUID y el dominio actual (que extraigo de la base de datos, así es como funciona WordPress) como una carga útil para cada solicitud que envíe desde el tema a la API I tener a un lado Esto me parece muy frágil y nada seguro.

¿Hay otras opciones que pueda considerar?

No estoy pidiendo soluciones específicas para WordPress (y PHP, en absoluto). Solo estoy buscando técnicas que puedan ayudar en esas situaciones.

Gracias.

    
pregunta Andrei Glingeanu 16.03.2017 - 01:27
fuente

1 respuesta

0

Esto ya se ha respondido parcialmente en los comentarios, pero lo más simple es tener una cadena UUID secreta almacenada con el código y el dominio actual, y luego usarla como una carga útil para el lado de la API.

La parte difícil aquí es el tipo de sistema que estás usando. Cuando declara un tema de Wordpress, Wordpress no da exactamente el "código cerrado" a los temas. Con esto quiero decir que el tema en sí está diseñado de una manera que no es amable con el código 'secreto'. Cualquier usuario que tenga acceso al código dado puede parchear alrededor de cualquier mecanismo de seguridad integrado en la codificación del tema.

Si bien este no es el caso con los códigos / binarios compilados (en cuyo caso es necesario descompilar para 'parchar' los controles de seguridad), sigue siendo el caso de que cualquier cosa que le dé a cualquier usuario puede continuar siendo 'parcheada' Evitar cualquier control de seguridad puesto en marcha, con suficiente esfuerzo. En última instancia, esto significa que debe confiar en que los usuarios a los que se les asigna el tema no intentarán burlar sus controles; quienes lo deseen, sin embargo, podrán hacerlo.

Es probable que su enfoque simple sea el mejor, pero tenga en cuenta que hay formas de "parchear" alrededor de dichos controles, y con el esfuerzo suficiente, incluso los "controles de seguridad" más robustos para los elementos de licenciamiento pueden ser burlados, con tiempo y esfuerzo para hacerlo En última instancia, esto significa que solo tiene que confiar en sus usuarios para que no intenten eludir sus controles de seguridad.

    
respondido por el Thomas Ward 16.03.2017 - 03:35
fuente

Lea otras preguntas en las etiquetas