Questions tagged «content-management»

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

3
是否存储可编辑的网站内容?
我们有一个基于Django的网站,我们希望对其内部一些内容(文本和诸如定价计划之类的业务逻辑)进行轻松地编辑,因此我们决定将其存储在代码库之外。通常原因是以下之一: 这是非技术人员想要编辑的东西。一个示例是网站的文案写作-程序员使用默认值为“ Lorem ipsum ...”的文本准备一个模板,然后将实际内容插入到数据库中。 我们希望能够快速进行更改,而无需部署新代码(我们目前每周执行两次)。一个示例是当前以不同定价级别向客户提供的功能。无需对它们进行硬编码,而是从数据库中读取它们。 所描述的解决方案是灵活的,但是出于某些原因我不喜欢它。 因为必须从数据库读取内容,所以会产生性能开销。 我们通过使用缓存方案来减轻这种情况,但这也增加了系统的复杂性。 与在生产环境上运行的方式相比,在本地运行代码的开发人员看到的系统处于截然不同的状态。自动化测试还会使系统处于不同的状态。诸如在登台服务器上测试新功能之类的情况也变得更加棘手-如果登台服务器没有数据库的最新副本,则它可能与生产意外地不同。 我们可以通过偶尔将新状态提交到存储库(例如通过添加数据迁移)来缓解这种情况,但这似乎是错误的方法。是吗? 任何想法如何最好地解决这些问题?有没有更好的方法来处理我忽略的内容?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.