首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >限制Joda计时器不依赖于系统时间

限制Joda计时器不依赖于系统时间
EN

Stack Overflow用户
提问于 2014-03-28 14:10:43
回答 2查看 152关注 0票数 2

我正在制作一个工资和出勤率监控系统作为一个学校项目。目前在Joda API中使用Java。我是考勤监控的一部分。我想要一个安全限制,即使用户改变系统的时间,他不能欺骗提前超时。

我如何实现它呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-03-28 14:16:42

如果你信任用户的电脑上的任何东西,那将是一个糟糕的开端。(如何阻止用户手动修改记录的数据?)通常情况下,您可以信任的服务器将涉及其中。然而,这是另一回事,我很感激这是一个学校项目。

不过,要解决这个问题--如果你不能在本地信任任何东西,你可能应该去找一个互联网时间提供商。关于这一点,Joda Time并没有什么特别之处--您可能会发现"Joda Time集成“库可以与NTP服务器对话,但我认为更有可能的是,您只会得到一些库,因为这些库以一种普通的方式暴露了一些毫秒(或微秒或纳秒)。从那里构造相关的Joda时间类型应该很容易。只是要小心,不要使用Joda时间类型,它隐式地使用本地设置(不仅仅是时钟-也考虑时区!)

票数 2
EN

Stack Overflow用户

发布于 2014-03-28 14:24:07

你的学校可能没有系统管理员可以阻止在安装的计算机上进行未经授权的访问。所以解决方法可能是实现接口。

DateTimeUtils.MillisProvider

然后通过DateTimeUtils.setCurrentMillisProvider(.)安装

接口的正确(安全)实现应该通过互联网使用SNTP服务器(例如Apache客户端) (如果这在学校是可能的话)。否则,基于System.currentTimeMillis()的每个时钟对于外部时钟调整都是明智的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22715224

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档