Cómo evitar que los empleados de hosting roben mi código

Usted no Cualquier cosa que coloque en el servidor de otra persona puede tomarse sin su conocimiento. Lo que puede hacer es reducir el valor intrínseco de sus activos expuestos , es decir, lo que sea robado es inútil por sí mismo o no vale la pena el esfuerzo necesario para “romper los huevos blindados”, por así decirlo.

Suponiendo que por “código de fondo”, quiere decir algo así como una aplicación web escrita en PHP, Python o algún otro lenguaje de script, esto se puede lograr de dos maneras:

  1. Haga que la fuente sea difícil de acceder o realice ingeniería inversa. (Re) escriba su código de fondo en C ++ o en algún otro lenguaje que compile en binarios nativos. O encripte su código fuente, luego implemente un PHP / Ruby / etc parcheado. tiempo de ejecución que descifra el código internamente mientras lo carga desde el disco. (Escribí un crypto Java ClassLoader que hizo exactamente eso para un producto comercial hace más de una docena de años. Creo que todavía está en algún lugar …) No es infalible, pero la idea es darle al ladrón suficientes problemas para que simplemente se mude a un blanco más fácil.
  2. Retire las “joyas de la corona” del código expuesto . Identifique las cosas realmente valiosas que se mezclan con su lógica genérica (las partes sin las cuales su aplicación carece de valor) y póngalas firmemente bajo su control. Por ejemplo, estoy trabajando en una aplicación que calcula bastantes indicadores propietarios. Mi socio comercial es muy exigente con la protección de IP, pero estuvo de acuerdo con poner el sitio web final en un servidor público virtual privado, porque los datos del indicador se enviarían directamente a los usuarios finales debidamente autenticados (y facturados) desde mi propio servidor. Cualquiera que irrumpiera en mi VPS solo encontraría HTML5 / CSS / JavaScript genérico que pinta tablas y gráficos bonitos. (También descubrirían que soy un desarrollador web de mierda, pero eso es un asunto completamente diferente).

¿Qué significa “alojar empleados”? ¿Está utilizando un proveedor de servicios en la nube para alojar su código fuente?

Si lo está y necesita tranquilizarse sobre este tema, use un proveedor de servicios en la nube de buena reputación en un país con protección de derechos de autor. Lea sobre el servicio que le garantiza su proveedor de nube y configure el cifrado.

Aislamiento. Mantenga diferentes piezas de código con diferentes equipos. Pero es probable que sea más eficiente si pudiera construir un equipo en el que pueda confiar.

Puede usar máquinas virtuales cifradas.

More Interesting

¿Los sitios que tienen un back-end dinámico usan los mismos idiomas que el front-end del sitio / plataforma?

¿Cuál es mejor pagado: un desarrollador front-end, back-end o full-stack?

Necesito un kit de inicio para mi nueva aplicación. ¿Dónde puedo encontrarlo según los siguientes requisitos?

¿Qué son los desarrolladores full stack, front-end y back-end? ¿Qué hacen cada uno de ellos?

¿Cómo hace YouTube un seguimiento de las identificaciones de video?

¿Cuáles son algunos lenguajes de fondo rápidos y modernos para desarrolladores avanzados?

¿Puedo construir un sitio web de red social atractivo y funcional usando solo ASP.NET, C # y SQL para back-end y HTML y CSS para front-end?

En un automóvil RWD, ¿cómo afectará un diferencial de deslizamiento limitado a la forma en que el extremo trasero gira / desliza a través de una esquina?

Cómo encontrar diseñadores web experimentados para una colaboración a largo plazo

¿Cuáles son algunos proyectos intermedios para desarrollar habilidades de front y back end?

Sé cómo desarrollar aplicaciones simples de Android que almacenan datos localmente. ¿Qué habilidades de software debo aprender a continuación para crear aplicaciones que puedan manejar la sincronización en línea?

¿Debo continuar con el desarrollo front-end o cambiar al backend?

¿Debería un desarrollador front-end tomar un trabajo y contratar a un desarrollador back-end para hacer el resto?

¿Existen marcos o bibliotecas populares que se usan con frecuencia para utilizar Java como un servicio de back-end y posiblemente para conectarse con el front-end de un sitio web?

¿Cuál es la forma más efectiva de convertir su backend en CRM?