自纪元以来的Unix时间,与系统时间有关?

时间:2012-06-06 07:57:19

标签: web-services security timestamp

我想使用 Unix Time 来避免对我的网络服务进行重播攻击。我希望客户在其他安全令牌中添加此值以及请求。然后我的服务器也会计算这个值并接受客户在给定的误差范围内发送给我的内容。

现在,我的问题是:如果我告诉我的客户我将接受错误边际大约200.少于或大于。

但它真的可以超过吗?
另外,它是否取决于发送请求的客户的系统日期时间设置?
另外,我如何确定适当的误差范围,以便我不拒绝真正的请求?

1 个答案:

答案 0 :(得分:4)

但它真的能够超过?

是的!你对客户端时钟一无所知。这可能是几分钟或几个小时!你不能相信客户端时钟,所以我建议你在服务器端的某种会话中记录时间,然后根据它进行计算。

此外,它是否依赖于向我发送请求的客户的系统日期时间设置?

是。您可以使用JS中的Date.getUTCxxx()函数来获取同一时区中的所有内容,但您不能相信客户端具有正确设置的时钟。

此外,我如何确定适当的错误保证金,以便我不拒绝真正的请求?

这取决于您的服务。你期待立即回复吗?用户应该做一些工作吗?是否有可能用户加载页面然后让计算机为自己和他的同事酿造一些美味的全咖啡?