码迷,mamicode.com
首页 > Web开发 > 详细

有关js的date的相关知识

时间:2018-08-12 23:42:30      阅读:340      评论:0      收藏:0      [点我收藏+]

标签:cti   soft   使用   object   false   font   hang   null   获取   

最近做项目,用了new Date().getTime()获取本地时间,但是如果用户篡改了手机时间,程序漏洞明显暴露。所以如果为保证程序的稳健安全性,应该是要使用网络时间的,也就是服务器时间。原理就是使用ajax时间,返回的头部信息里就含有服务端的时间信息,获取就可以了。

1,原生同步

function getServerDate(){
    var xhr = null;
    if(window.XMLHttpRequest){
      xhr = new window.XMLHttpRequest();
    }else{ // ie
      xhr = new ActiveObject("Microsoft")
    }

    xhr.open("GET","/",false)//false不可变
    xhr.send(null);
    var date = xhr.getResponseHeader("Date");
    return new Date(date);
}

getServerDate();

2,原生异步

function getServerDate(){
    var xhr = null;
    if(window.XMLHttpRequest){
      xhr = new window.XMLHttpRequest();
    }else{ // ie
      xhr = new ActiveObject("Microsoft")
    }

    xhr.open("GET","/",true);
    xhr.send(null);
    xhr.onreadystatechange=function(){
        var time,date;
        if(xhr.readyState == 2){
            time = xhr.getResponseHeader("Date");
            date = new Date(time);
            console.log(date);
        }
    }
}

 

【完】

南无释迦牟尼菩萨 南无释迦牟尼菩萨 南无释迦牟尼菩萨

有关js的date的相关知识

标签:cti   soft   使用   object   false   font   hang   null   获取   

原文地址:https://www.cnblogs.com/tangjiao/p/9448602.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!