2个日期之间的差异 - 当前时间和mysql时间。当用户改变他的PC时间并且代码在差异检查中绕过他时,这可以是后门。
我试过用
mktime()
但是当我的mysql日期为1451094007
时(2015年12月26日星期六01:40:07 GMT),现实世界时间为1451108407
(星期六,2015年12月26日05:格林尼治标准时间40:07)4小时后,最小差异为10小时,用户仍然可以在自己的电脑上增加几个小时并绕过时间。
我怎样才能获得任何无法操纵的世界时间?
答案 0 :(得分:1)
您将获得在数组中的world存储中使用的所有时区,然后在循环中运行
foreach($timezonearray as $timezone){
$time = new DateTime($timezone);
echo $time->format('Y-m-d H:i:s');
}
它会打印出这样的结果 http://www.timehubzone.com/worldclock
单程
$time = new DateTime('Africa/Abidjan');
echo $time->format('Y-m-d H:i:s');
你可以在这里获得所有时区 timezones list
答案 1 :(得分:0)
您可以使用其他服务,例如http://worldclockapi.com/
(见http://worldclockapi.com/api/json/utc/now)
获取结果并将其提供给变量。
基本上,您的应用程序应该使用它托管的服务器时间(使用服务器时钟配置)并且time()
应该尊重服务器时钟