1

我想通过将我的姓名、电子邮件地址和版权作为永久代码来保护我的网站代码并防止其他人使用我的代码。这可能吗?我想以代码不可编辑的方式对其进行设计,以便我的详细信息仅出现在编码中,而不出现在网站上。另外我想知道他们是否是一种密码保护或隐藏代码段以防止公众查看的方法?也许我可以添加我的标志,如果用户试图删除它,编码不能正常工作?

4

3 回答 3

5

如何在代码中输入您的姓名、电子邮件地址等:

在 HTML 中使用这样的注释:

<!-- @author:  Some Name -->
<!-- @address: some@email.com -->

或者像这样在 Javascript 中:

/**
 * @author:  Some Name
 * @address: some@email.com
 */

以编程方式阻止用户删除这些评论:

这对于客户端代码来说非常困难,您可以尝试使用 DOM 库让函数检查元素是否存在,但总会有办法解决这个问题。

混淆:

混淆HTMLJavaScript代码是可能的。但是,同样可以为坚定的攻击者对它们进行去混淆处理。

您可能会发现缩小 JavaScript 和CSS是值得的,这可以使它们更加简洁,从而使您的页面加载速度更快并使用更少的流量。这确实有降低代码可读性的副作用(因此更难窃取),但它仍然不是万无一失的。

托管解决方案:

如果您的站点使用服务器端代码(PHP、ASP、Ruby on Rails 等),您可以考虑提供托管服务而不是提供代码。这样,您的客户将无法修改网站的源代码,但您必须开发功能强大的控制面板,为他们提供操作软件所需的选项。

确保您的归属的最佳选择是许可证:

许可可能是您最好的选择,您可以按照3 条款 BSD 许可之类的方式分发代码,该许可要求任何使用您的代码的人都必须保留对您的归属。如果他们将其删除,您可以通过法院系统寻求损害赔偿。

它并非完美无瑕...

试图强制承认所有权的问题是,专门的滥用者将能够从您分发给他们的代码中删除任何给定的属性(根据定义,如果他们有代码,他们可以编辑它)。

但:

大多数合法用户不会打扰。Wordpress、phpBB 和 Magento 等大型项目仅依靠归属和许可来保护其所有权。如果您创建了一段值得认可的代码,而不是花很长时间尝试与极少数会利用它的用户打交道,您可能会发现您得到了应得的认可。

于 2013-08-06T13:02:28.680 回答
4

服务器端代码对用户隐藏。

它只是在客户端可见的“输出”。

客户端;HTML、JS 和 CSS 必须是浏览器可读的,因此您不能更改/隐藏到浏览器无法读取/理解的程度。

解决方案。

  1. 你有合适的执照

  2. 混淆代码。只是谷歌这个。请注意,这不会给您带来您想要的好处。这只会使阅读变得更加困难。这最适合在 javascript 中使用。

  3. 使用 A 并以编写良好的可读性和可重用代码为荣。

于 2013-08-06T13:05:56.700 回答
1

如果您想对公众隐藏一个新颖的算法,那么唯一的方法就是使用服务器端代码。例如:ASP.NET、PHP、Python (Django)、Ruby 等。您无法隐藏 javascript,只能对其进行混淆(好吧,除非您使用服务器端 js。请参阅:node.js)。混淆代码只会真正减慢一个坚持不懈的人。

如果你想用密码保护你网站的某些部分,同样,这样做的方法是使用服务器端代码、数据库和用户/角色的实现。

于 2013-08-06T13:19:06.130 回答