消息新鲜度&有效期JAVA PHP mysql

时间:2012-01-31 10:48:23

标签: java php mysql security http

注意:java中的程序,服务器使用php,mysql ...文件是.log或.txt文件

我有一个程序从txt文件获取最后一行并通过HTTP请求将其发送到服务器。该文件由外部程序编写,但用户可以打开它进行修改。

这些行采用这种格式,时间将在本地计算机时间内。
[hh:mm:ss]消息

如果我认为(真实)消息中的时间是计算机中的时间,我可以通过与修复位置中的时间进行比较来验证新鲜度和有效性吗? (服务器时间,gtm时间等)

用户可以在世界各地,我无法保证本地机器的时间是准确的。我的想法是启动程序并检查机器上的时间,并将其与我的外部时间进行比较。然后以某种方式设法确保消息不是由用户完成的....例如消息应该是20s~计算机时间和计算机中的时间应该与外部时间同步。

从未做过类似的事情,但真的很感兴趣。

(我知道永远不会有黑客证明程序,但想尽可能地让它变得更难)

谢谢,如果需要,我会在下午添加详细信息。

1 个答案:

答案 0 :(得分:2)

时间问题的两个选项:

  • 如果您可以修改创建文件的程序,请始终使用固定时区来编写时间。这将确保所有时区的时间准确。

  • 或者您可以在时间区写下时区并在服务器端进行相应的计算。

关于用户篡改数据:

我建议您生成消息的MD5哈希值并将其发送出去。然后在服务器端再次从消息内容计算MD5。如果散列与传递给服务器的MD5不匹配,则表示用户已经篡改了数据。