【问题标题】:Authenticate a PC before running my website在运行我的网站之前验证 PC
【发布时间】:2013-11-05 08:17:17
【问题描述】:

我正在制作一个网络应用程序,它是一种使用 PHP、jQuery、AJAX 和 JavaScript 的在线商店。

我只想在本地主机上的一台 PC 上启动我的网站。我应该如何设置我的网站以使其仅在我的单台 PC 上运行?

即使有人将我的代码文件和数据库文件复制到他/她自己的 PC 上,它也不应该在他们的 PC 上运行。如何做到这一点?

我知道的一种方法是使用 IP 地址。但我不太确定这种方法是否有效。

【问题讨论】:

  • 每个人都可以在 PHP 脚本中更改 IP 地址。没有办法做你想做的事。
  • 识别PC的方法有很多。请缩小您的范围并阐明您的要求。另外,向我们展示您的尝试。
  • 如果真的要求即使有源代码的人也不能运行程序,那显然是不可能的,因为他们可以从代码中删除身份验证。
  • 呵呵,你肯定知道如何使用搜索引擎;)
  • 您可以通过在您的计算机上放置一个加密密钥并在 php 代码中执行此操作...然后让程序在启动时使用该密钥文件测试解密。但是,正如其他人所指出的,如果有人能够运行您的 php,他们就有能力对其进行修改并删除此保护措施。

标签: php authentication web


【解决方案1】:

如果有人可以访问您的源代码,那么您无法阻止他们。

当您自己托管它时,您可以阻止外部访问,但除此之外,您无能为力。

【讨论】:

  • 另外值得一提的是:确保您的 Web 服务器设置是安全的,并且您的 PHP 代码没有 SQL 注入等安全漏洞,因为这些是黑客用来获取您的 PHP 源文件的一些非常常见的方式。
  • @scotthelme 如果找到源代码,那么你是对的,但这就是为什么 PHP 有 Zend 和 ionCube(我与之相关)等技术的原因。尽管总是有可能进行逆向工程,但通过编译许可相关元数据并将其与文件相关联来转换代码允许限制文件可以运行的位置。除了现成的产品外,定制的 ionCube 解决方案也可用,并且非常适合安装到私人服务器而不是共享服务器的情况下,例如 OP,其中可能需要运行常规编码文件。所以存在选择。
【解决方案2】:

您可以使用编码器脚本来加密您的源代码,其中一些具有锁定 MAC 地址的功能。不过,我认为它们都是商业解决方案;以IonCubeSourceGuardian 开头。 Zend 可能也有一些东西。

我想这些解决方案中的每一个都会在各自的网站上提供全面的教程。您的工作流程基本上是从版本控制中检出源代码副本,并将该文件夹编码为构建过程的一部分。

从技术上讲,加密的代码可以进行逆向工程,因为加密密钥是内置在代码中的。但是,这样做需要做很多工作,即使他们对其进行解码,他们也不会有您的 cmets 或您有意义的变量/方法/类名称。

【讨论】:

    【解决方案3】:

    确保没有人可以访问该 PC(您的应用程序所在的位置)。只有在这种情况下,您才能保护您的应用程序不被未经授权的人运行。一旦你采取了这个安全措施,你就可以通过使用你的 IP 轻松地禁止你的应用程序被任何其他 LAN 计算机访问。这就是专业服务器的工作方式,您也应该这样做。

    【讨论】:

      【解决方案4】:

      您只能将网络服务器绑定更改为localhost 127.0.0.1。 您可以创建一个过滤规则的替代方法,该规则服务器只接受来自localhost/127.0.0.1 的远程 使用 apache,您可以通过 .htaccess 或目录/服务器规则来做到这一点。

      当您想要共享该代码时,您需要使用 zend-guard 或同等工具对其进行加密。里面还有一些许可证管理,你可以将许可证绑定到机器上。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-12-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-01-22
        • 1970-01-01
        相关资源
        最近更新 更多