如何保护网站代码 PHP/JS? [关闭]
Posted
技术标签:
【中文标题】如何保护网站代码 PHP/JS? [关闭]【英文标题】:How to Protect website code PHP / JS? [closed] 【发布时间】:2018-06-01 08:20:54 【问题描述】:我在一个用 php、html 和 JS 编写的网站上工作。我想问一下保护代码的最佳方法是什么,因为该站点很容易被复制,我想尽可能地保护它,这样它就不会在另一个域上工作或编译源代码。例如,如果我必须使用 NodeJs 或 react 之类的框架来重建我的网站或使用扩展来更好地保护代码,我会这样做。请让我知道您的想法以及保护网站代码是否有益。
因为我现在已经在网站上工作了 6 个多月,我非常害怕有人只是用程序复制我的网站并将其上传到他们的服务器。
编辑
网站是用 PHP 编写的,只是为了维护 网站更容易。我为页眉、页脚和导航使用 PHP 组件,但该站点主要基于基于 HTML 的元素。 如果有可能让 js 代码仅在站点的域上运行,并且如果有人试图在不同的域中打开站点以阻止 js 文件,那就太好了。
期待一些想法。
【问题讨论】:
用户无法访问您的服务器端 PHP 代码,除非您将其设置为可访问。您的浏览器 HTML、CSS 和 javascript 代码不再比其他网站更易于访问。除非您愿意转换为 Web 程序集,否则您无法真正保护您的代码。即使您对其进行编码,也必须对其进行解码才能执行。一旦发生这种情况,每个人都可以做到。可能不值得尝试保护 JS 代码。 任何人都可以复制他们打开的任何网站的渲染 html/javascript,甚至是 google 或 facebook,但只要他们没有服务器端的 php 代码,这将是一段无用的代码因为输出永远不会改变。任何进入客户端的东西都可以被更改和复制,试图保护它是不值得的 【参考方案1】:PHP 是在服务器端处理的。你不必担心这个:P
HTML 是客户端,不能被混淆,因为客户端无法读取它。
至于 JS,我会推荐类似 this.
编辑: 至于查看代码是否在正常域上运行,请在您的 javascript 中使用 window.location.href
来检查 URL 是否包含您的主 URL 名称。如果没有,请停止加载页面。
【讨论】:
哦,好的,谢谢,有没有办法保护我的 js 代码在这个网站上正常工作,如果是的话怎么办?所以初学者无法复制网站,因为没有js网站就坏了,我也将所有js文件编译成一个min.js,使阅读源代码变得更加困难。 即使你这样做了,JS 代码也必须去混淆才能运行。那时任何人都可以抓住它并使用它。混淆 JS 代码可能不值得努力,因为它会减慢您的网站速度并且无论如何都可能被破解。您可能想查看 Web 程序集,但即使是该代码也可以被任何人获取并重复使用。 这和我上面告诉你的完全一样,混淆 JS 代码的问题并不能保证它的安全,因为它所做的只是缩小它,使代码的大小更小。混淆实际上与缩小相同,在 JavaScript 中是这样 @Cody 如果这解决了您的问题,请将我的回答标记为最佳 :)【参考方案2】:您的 PHP 代码将在您的服务器上运行,并且 Web 用户只能访问预期的输出。通过利用您的服务器软件中的漏洞,无法保证坚决的攻击者无法访问您的代码。
使您的服务器软件保持最新将有助于防止对其进行不必要的访问。
来源:https://www.quora.com/How-do-I-view-a-PHP-source-code-of-a-website-just-like-we-see-the-HTML-and-other-codes
【讨论】:
【参考方案3】:你可以做几件我以前做过的事情。
1 - 您可以尝试混淆 JavaScript 生产代码(Minification)并使用支付工具混淆 PHP 代码。
2 - 您可以让组件/模块在 PHP 服务器中全部呈现。
注意:PHP 是在服务器上解释的,所以你真的不用太担心它,HTML、JS 和 CSS 总是公开的,无论你想隐藏多少,任何人都可以访问给它。
【讨论】:
顺便说一句,该站点是用 PHP 编写的,只是为了使维护站点更容易。我为页眉、页脚和导航使用 PHP 组件,但该站点主要基于基于 HTML 的元素,有没有办法保护源代码? 简短的回答是否定的,我很抱歉,但不可能 混淆的 JS 代码仍然可以被任何人下载、去混淆和使用。目前没有安全的方法来保护您的客户端 JS 代码。 这就是我的意思,尽管这种混淆确实可以继续使用,除非您执行约定 d enombre 之类的,但最终您可以以相同的方式使用它。以上是关于如何保护网站代码 PHP/JS? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
如何将自定义 HTML 代码放在 wordpress 网站的标题中[关闭]