Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/242.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP:获取特定时区的时间,它可以';系统所有者不能更改_Php_Time_Timezone - Fatal编程技术网

PHP:获取特定时区的时间,它可以';系统所有者不能更改

PHP:获取特定时区的时间,它可以';系统所有者不能更改,php,time,timezone,Php,Time,Timezone,我有个问题要问你们。我目前正在创建某种许可证系统,用PHP编写。当然,这必须是一个安全的系统,许可证应该以多种不同的方式进行检查。我需要检查过期日期时遇到了问题 基本上,我想得到时区的当前时间(GMT+1)。但是,我必须确保这是实时的,软件所有者不能更改。如果许可证过期,所有者将无法更改服务器上的时钟,或执行其他可能使许可证再次有效的操作 我在考虑使用我的服务器进行检查,比如发送一个cURL请求并从那里检查给定的时间——因为它不能被其他人编辑。在这种情况下,所有者可能只是IP阻止我的域/IP,而

我有个问题要问你们。我目前正在创建某种许可证系统,用PHP编写。当然,这必须是一个安全的系统,许可证应该以多种不同的方式进行检查。我需要检查过期日期时遇到了问题

基本上,我想得到时区的当前时间(GMT+1)。但是,我必须确保这是实时的,软件所有者不能更改。如果许可证过期,所有者将无法更改服务器上的时钟,或执行其他可能使许可证再次有效的操作

我在考虑使用我的服务器进行检查,比如发送一个cURL请求并从那里检查给定的时间——因为它不能被其他人编辑。在这种情况下,所有者可能只是IP阻止我的域/IP,而他的服务器不会连接以检查当前时间。当然,当我的网站在过去10次没有响应时,我可以“终止许可证”。但是,如果我受到DDoS攻击/攻击,当然不会影响到一个好客户

那么,在PHP中,有没有办法获得GMT+1中当前的“世界时钟”?服务器的所有者必须以任何方式不能更改时钟

想法?代码示例

谢谢

更新


代码经过加密,因此他们无法访问源代码,只能访问加密的源代码。

PHP始终使用系统时钟,系统管理员可以更改该时钟。您可以使用NTP服务或世界时钟Web服务来获取当前的世界时间,但因此您必须有一个internet连接—正如您所说,它可以被操纵

另一个想法是:作为服务器管理员,您可能不会操纵生产服务器上的系统时钟以避免许可证过期,因为正确的服务器时间对于许多应用程序(包括网络文件系统和身份验证)至关重要


如果客户端没有/可以操作源代码,您可以定期记录系统时间,例如,记录到数据库或加密文件中,并根据首次运行计算运行时间,并检查是否有重大的时间更改。

我相信简单的答案是,不可能完成您试图执行的操作

您的客户机可以访问服务器(通过以下语句可知,他可以更改服务器时钟并阻止主机)

这意味着您的客户机可以修改您的源代码或跳过任意环来丢弃您的许可

在PHP中,这使得您很难篡改代码

当然,您可以使用某种模糊处理工具,并以这种方式进行处理

不过,我的建议是信任您的客户,让他们拥有您的源代码,因为您将以任何方式提供给他们,然后不要向没有许可证的用户推送更新或修复

如果你需要更多的金钱化,一定要为你的支持时间买单,等等

花时间编码功能,而不是DRM,获得更好的产品,你的客户会很高兴地付钱给你


我希望这对您有用。

所有者没有源代码,只有加密的源代码。我已经更新了我的第一篇帖子。有什么建议吗?我同意你的看法。他们[可能]不会改变时区/时钟。但他们仍有[可能]这样做。我想消除所有风险,并使此许可证检查器100%受我信任。有什么想法吗?我还更新了我的第一篇帖子,客户端无法访问源代码。只有加密的源代码,不能修改。抱歉,这不是一个明智的解决方案。还有其他想法吗?没问题。但是你需要某种操纵的指标和可靠的来源——依我看,你找不到任何可靠的系统服务来满足这些要求。是的,我知道。我希望有一个聪明的小解决方案。但可能没有(