是否可以修改浏览器Date对象?

时间:2016-11-16 10:01:53

标签: javascript timestamp

使用Date.now()对象存储时间戳是否安全? 或者用户/个人是否可以在浏览器控制台中修改Date对象并更改Date.now()的行为?

2 个答案:

答案 0 :(得分:2)

可能?是:

console.log(Date.now());

var Date = {
    now: function(){
        return "It's too late";
    }
};

console.log(Date.now());
1479290688311
It's too late

安全吗?我已经尝试过Stack Overflow,它已经抛出了很多JavaScript错误 - 我甚至无法提交答案,我不得不重新加载网站。但是,您无法阻止确定的用户破坏自己的浏览器。如果您正在谈论数据安全性,那么您根本无法信任任何类型的外部输入。

答案 1 :(得分:0)

Date object将包含浏览器运行的计算机的日期。神奇地知道用户改变了日期。如果他们允许位置API运行,您可以仔细检查。

Date方法不是只读的,因此您可以覆盖它们:

这比ÁlvaroGonzález建议的简单,并且在Chrome中没有任何错误

Date.now =  function(){
   return "I have been replaced";
}
console.log(Date.now());