我正在创建一个门户网站,用户可以从我们的Zimbra邮件服务器中提取电子邮件并在门户网站上显示,但是,我使用Zimbra Preauth遇到了一些奇怪的问题。本质上,preauth在我的LocalHost上完美运行,但是当从实时服务器访问时,它会产生HTTP 500错误。我怀疑这是构成preauth网址一部分的时间戳的问题。 “访问/服务/ preauth时出现问题。原因:对于输入字符串:”1.365843887E 12“我用于生成preauth URL的代码如下:
$PREAUTH_KEY = [My Key];
$WEB_MAIL_PREAUTH_URL = "http://myserver/service/preauth";
$timestamp=time()*1000;
$preauthToken = hash_hmac("sha1",$email."|name|0|".$timestamp,$PREAUTH_KEY);
$preauthURL = $WEB_MAIL_PREAUTH_URL."?account=".$email."&by=name×tamp=".$timestamp."&expires=0&preauth=".$preauthToken."&redirectURL=/zimbra/h/";
通过为上面的$timestamp
变量分配“错误”值,我能够在LocalHost开发机器上重新创建问题。那么,当从实时服务器工作时,可能的原因是什么可能使Zimbra preauth“破解”?感谢。