Recientemente tuve una experiencia negativa, donde el cliente saltó de la factura, pero mi intermediario ya cargó nuestro software y diseño en el servidor del cliente. El cliente resultó ser un criminal conocido y, por supuesto, cambió todas las contraseñas posibles del servidor.
Sin embargo, todavía puedo acceder al panel de administración del CMS. Lamentablemente, resulta que mi software es muy seguro. Intenté la inyección de SQL, falsifiqué la carga de imágenes, etc. Sin embargo, no puedo hackear mi propio software. De todos modos, me estoy preparando para demandar a esta persona, por lo que no es así. el problema ... Solo estoy pensando ahora, que tal vez debería haber algún método de autodestrucción de fondo. Entonces, si ocurre un caso similar, tengo la opción de eliminar el software.
Mi propia idea es ocultar alguna función en los archivos principales. Codifíquelo con base64, por lo que no sería obvio. Entonces algo como esto:
eval(base64_decode('ZWNobyAnSGVsbG8gd29ybGQhJzs=')); // echo 'Hello world!';
Y, básicamente, haga un pequeño script, que tome todos los archivos del software, chmod para asegurarse y luego los elimine.
Mis versiones más nuevas del CMS, todas tienen administradores de archivos que podría usar para hackear más fácilmente . Pero, ¿y si el acceso al panel de administración es limitado?
Para ser muy claro , esto está destinado solo para el software de la etapa de desarrollo, en mi servidor personal o en el servidor del cliente (la última parte es éticamente cuestionable). Entonces, si mi cliente debe robar mi software ... Esto no se incluirá dentro de un comercial -software.
Y para ser aún más claros , estamos hablando de esos raros trabajos independientes. Creo que es bastante lógico, que el trabajo por contrato no necesita tales métodos. Entonces, estamos hablando de esos clientes jumprisk, solo en modo de desarrollo: cuando el proyecto está listo, entonces obviamente esta sería una puerta trasera muy poco ética para tener dentro de su software.
- ¿Éticamente es una buena idea? (Teniendo en cuenta que, obviamente, lo eliminaré, cuando el proyecto haya sido 100% y todo esté pagado)
- ¿Alguna vez tuvieron que hackear su propio software, debido a problemas similares con los clientes?
- ¿Alguna recomendación sobre esta idea, código y método sabio?
- ¿Cuáles pueden ser los posibles inconvenientes o repercusiones de los scripts de autodestrucción?
Mi conclusión sobre esto
Es un poco triste, que todas las respuestas fueron dirigidas a los casos contratados. Realmente fue mi culpa, que no lo hice más claro en mi pregunta ... solo pensé, que es bastante claro, que no tiene sentido el interruptor de matar ... cuando estás protegido por el contrato.
Sin embargo, si está haciendo un trabajo por contrato ... esto debería indicarse en el contrato, esto lo hace legal, incluso dentro del propio servidor del cliente. Sin embargo, tener interruptores de interrupción dentro de mi propio servidor personal no es asunto de nadie (esto es lo que realmente quería saber).
Decidí hacer la secuencia de comandos kill-switch para mi CMS. Principalmente, porque parece un desafío interesante. Pero también, que podría usar esto para mis trabajos no contratados donde el cliente es amigo de un amigo de un amigo ... Probablemente no usaré esto en el servidor del cliente, pero ... para los casos, donde el cliente o algunos los intermediarios tienen acceso a mi servidor ... Y mi software es robado o "movido sin mi conocimiento", entonces no me pagan y cortan el acceso al software.
He leído muchos temas aquí, donde recomiendan enviar una advertencia y luego quitar la página. Bueno, vi un problema en él, como cuando estoy tratando con una persona ... que simplemente lo copiará en otro lugar (tal vez lo renueva y lo venderá) y me dice que ha sido retirado. Y además, no "apagaría el sitio", sino que lo eliminaría. Sin embargo, supongo que todavía es ilegal acceder al servidor de mis clientes y eliminarlo. O al menos, acceda a él a través del backend y no desde el FTP. Por esto les agradezco a todos ustedes que respondieron.