我是否应该在自己的应用程序中包含自毁方法?
最近,我有一个负面的经历,客户从账单中获得担保,但是我的中间人已经将我们的软件和设计上传到了客户服务器。客户原来是一个已知的罪犯,他当然更改了服务器的所有可能的密码。 但是,我仍然可以访问CMS的管理面板。不幸的是,事实证明,我的软件非常安全。。尝试过SQL注入,伪造图像上传等。但是,我无法破解自己的软件。。无论如何,我准备起诉这个人,所以不是问题..我现在在想,也许应该有一些后端selfdestruct方法。因此,如果发生类似情况,我可以选择终止该软件。 我自己的想法是在核心文件中隐藏一些功能。使用base64对其进行编码,因此不会很明显。所以像这样: eval(base64_decode('ZWNobyAnSGVsbG8gd29ybGQhJzs=')); // echo 'Hello world!'; 并基本上制作一个小脚本,该脚本将获取软件的所有文件,并确定chmod的文件,然后将其删除。 我的CMS较新版本都具有文件管理器,可以用来更轻松地进行黑客攻击。但是,如果对管理面板的访问受到限制,该怎么办。 非常清楚,这仅适用于我个人服务器或客户端服务器中的开发阶段软件(最后一部分在道德上值得怀疑。)因此,如果我的客户端应该盗用我的软件。。 -软件。 更明确地说,我们正在谈论那些罕见的自由职业。我认为这样做很合乎逻辑,因为合同工作不需要这种方法。因此,我们仅在开发模式下谈论这些跳高的客户-当项目准备就绪时,显然这在您的软件内部将是非常非常不道德的后门。 从伦理上讲,这是个好主意吗?(请记住,当项目已达到100%并且已支付所有费用时,显然我会删除它) 你们是否曾经因为客户端的类似问题而不得不破解自己的软件? 关于这个想法,代码和方法明智的建议吗? 自毁脚本可能有哪些弊端或后果? 我对此的结论 遗憾的是,所有答案都针对合同规定的案例。确实,这是我的错,我没有在问题中更清楚地说明……。只是,很清楚,当您受到合同保护时,终止开关没有意义。 但是,如果您正在执行合同工作..则应在合同中注明-即使在客户自己的服务器内部,这也合法。但是,在我自己的个人服务器中使用kill-switch确实是小菜一碟(这是我真正想知道的事情)。 我决定为CMS制作kill-switch脚本。主要是因为这似乎是一个有趣的挑战。而且,如果客户是朋友的朋友,我可以将其用于我的非承包作品。.我可能不会在客户服务器上使用它,但是..对于客户或某些客户中间人可以访问我的服务器..并且我的软件被盗,或“在我不知情的情况下被移动”,然后我没有得到报酬,他们切断了对该软件的访问。 我在这里阅读了很多主题,他们建议在其中发送警告,然后删除该页面。好吧,我看到了一个问题,例如当我与某人打交道时,他会将其复制到其他地方(也许将其重新贴上标签并出售)并告诉我,该记录已被删除。而且,我不会“关闭站点”,而是将其删除。但是,我认为访问我的客户端服务器并将其删除仍然是非法的。或者至少通过后端而不是从FTP访问它。为此,我感谢所有回答的人。