在PHP文件中按MD5或类似方式隐藏时间

时间:2013-12-02 11:48:02

标签: php md5 strtotime

我的客户希望仅在几天内授予用户访问某个页面的权限。之后,客户必须再次与他联系。为此,我创建了以下代码。

<head>
<style>
body {height: 100%;width: 100%;overflow: hidden;padding: 0px;margin: 0px;}
iframe {border: 0px;width: 100%;height: 100%;}
</style>
</head>
<html>
<body>
<?php
$today = strtotime(date("Y-m-d"));
$expireDate = strtotime("2013-12-01");
if ($today < $expireDate) {
echo "<iframe src='http://www.domain.eu/active'>";
} else {
echo "<iframe src='http://www.domain.eu/deactive'>";
}
?>
</body>
</html>

所以基本上当今天的时间小于$expireDate = strtotime("2013-12-01");中的日期时,它会显示非活动页面。但上面的代码位于客户端必须上传到其服务器的index.php文件中。现在,当客户端有点聪明时,他/她可以将日期更改为他们想要的任何内容,并且可以随时访问。如何使这部分$expireDate = strtotime("2013-12-01");使用MD5或类似的东西。

感谢您的帮助。

2 个答案:

答案 0 :(得分:2)

你应该在PHP中解决这个主要问题(在iframe中):

<?php
  if( $today >= $expireDate ) 
  {
    include_once 'inactive.php';
  }
  else 
  {
    include_once 'active.php';
  }
?>

另一种解决方案:

或者您可以使用base64_encode()来哈希时间戳而不是使用md5。

答案 1 :(得分:0)

您正在使用iframe。什么阻止客户直接访问URL?

假设您可以控制iframe中包含的网站:

为每个客户端提供访问密钥。将该访问密钥存储在数据库中,并带有到期日期。使它访问的URL需要访问密钥(例如GET参数),否则重定向到您的其他页面。

如果您无法控制该网站,请在服务器上上传一个脚本,该脚本除了执行上述访问控制之外别无其他操作,然后从真实网址返回内容。

无论哪种方式,为了确保安全,您需要通过您可以控制的脚本/服务器来处理请求。