在PHP文件中使用MD5或类似方法隐藏时间



我的客户端只想让用户访问某个页面几天。之后,客户必须再次与他联系。为此,我创建了以下代码。

<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或类似的东西。

感谢您提前提供的帮助。

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

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

另一个解决方案:

或者,您可以使用base64_encode()来散列时间戳,而不是使用md5。

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

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

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

如果您无法控制网站,请在服务器上上传一个脚本,该脚本只做如上所述的访问控制,然后从真实的URL返回内容。

无论哪种方式,为了确保安全,您都需要让请求通过您所控制的脚本/服务器。

最新更新