J'ai récemment eu une expérience négative, client échappé de la facture, mais mon intermédiaire a déjà téléchargé notre logiciel et notre conception sur le serveur du client. Le client s'est avéré être un criminel connu et, bien sûr, il a changé tous les mots de passe possibles du serveur.
Cependant, je peux toujours accéder au panneau d'administration du CMS. Malheureusement, il s'avère que mon logiciel est très sécurisé. J'ai essayé d'injecter du code SQL, de simuler le téléchargement d'images, etc. Cependant, je ne peux pas pirater mon propre logiciel. En tout cas, je me prépare à poursuivre cette personne en justice. le problème .. Je pense juste maintenant, qu'il devrait peut-être y avoir une méthode d'autodestruction dorsale. Donc, si des cas similaires se produisent, j'ai l'option de tuer le logiciel.
Ma propre idée est de cacher une fonction dans les fichiers core. Encodez-le avec base64, pour que ce ne soit pas évident. Donc, quelque chose comme ça:
eval(base64_decode('ZWNobyAnSGVsbG8gd29ybGQhJzs=')); // echo 'Hello world!';
Et fondamentalement, créez un petit script, qui prend tous les fichiers du logiciel, chmod pour être sûr, puis les supprime.
Mes nouvelles versions du CMS ont toutes des gestionnaires de fichiers que je pourrais utiliser pour faciliter le piratage . Mais que se passe-t-il si l'accès au panneau d'administration est limité?
Pour être très clair , cela ne concerne que les logiciels en cours de développement, sur mon serveur personnel ou sur le serveur du client (la dernière partie étant éthiquement douteuse.) Donc, si mon client doit voler mon logiciel, cela ne sera pas inclus dans une publicité. -Logiciel.
Et pour être encore plus clair , nous parlons de ces rares emplois indépendants. Je pense que c'est assez logique, que le travail contractuel n'ait pas besoin de telles méthodes. Nous parlons donc de ces clients jumprisk, uniquement en mode développement - lorsque le projet est prêt, il est évident qu’il s’agirait là d’une porte dérobée très peu éthique dans votre logiciel.
- Ethiquement, est-ce une bonne idée? (Gardant à l'esprit que je vais évidemment l'enlever, quand le projet a été à 100% et que tout est payé)
- Avez-vous déjà eu à pirater votre propre logiciel, à cause de problèmes similaires avec le ou les clients?
- Des recommandations sur cette idée, code et méthode sage?
- Quels peuvent être les inconvénients ou répercussions possibles des scripts auto-destructifs?
Ma conclusion sur ce
Est un peu triste, que toutes les réponses étaient ciblées sur les cas contractés. C'était vraiment ma faute, parce que je ne l'avais pas dit plus clairement dans ma question ... je pensais juste que c'était assez clair, qu'il n'y avait pas de raison de mettre l'interrupteur antidémarrage ... quand vous êtes protégé par le contrat.
Toutefois, si vous effectuez un travail sous contrat .., cela doit être indiqué dans le contrat - cela le rend légal, même à l'intérieur du serveur du client. Cependant, avoir des commutateurs de neutralisation à l'intérieur de mon propre serveur personnel est vraiment une affaire commerciale (c'est ce que je voulais vraiment savoir.)
J'ai décidé de faire le script kill-switch pour mon CMS. Principalement parce que cela semble un défi intéressant. Mais aussi, que je pourrais l'utiliser pour mes travaux non contractés où le client est l'ami d'un ami d'un ami .. Je n'utiliserai probablement pas cela sur le serveur du client, mais..pour les cas où le client ou certains les intermédiaires ont accès à mon serveur .. Et mon logiciel est volé ou "déplacé à mon insu", alors je ne suis pas payé et ils coupent l'accès au logiciel.
J'ai lu beaucoup de sujets ici, où ils recommandent d'envoyer un avertissement, puis d'enlever la page. Eh bien, j’y ai vu un problème, comme lorsque j’ai affaire à une personne… qui va simplement le copier ailleurs (peut-être le renommer et le vendre) et me dire que cela a été supprimé. Et aussi, je ne voudrais pas "désactiver le site", mais le supprimer. Cependant, je suppose qu’il est toujours illégal d’accéder au serveur de mes clients et de le supprimer. Ou du moins, accédez-y via le backend et non depuis le FTP. Pour cela, je remercie tous ceux qui ont répondu.