我需要在服务器端的ASP vbscript页面上获取浏览器用户的本地日期和时间。
目标是向我的Web聊天应用程序中在特定本地时间进行对话的所有已连接用户显示特定消息。
那可能吗?
一种方法是将本地时间包括在隐藏的文本字段中,然后使用ajax / javascript将其传递给用户,但这并不安全,因为用户可以更改它并在服务器端找到秘密时间。
最佳答案
我能想到的最好的办法是将Request.ServerVariables["HTTP_ACCEPT_LANGUAGE"]
交叉引用到时区偏移量,然后使用UTC计算其本地时间。这里的责任是相信他们的本地语言设置适当地对应于它们的时区,并且您的准确性并不需要一直都是完美的(每个语言代码有多个时区)。
另外,如果您可以在这种情况下懒惰(这个本地时间对您的应用有多重要?),您可以编写一些故意晦涩的js代码,以长整数的形式走私本地系统的当前时间,并为该名称起误导作用那些对欺骗您的js感兴趣的黑客。