运行条件编译防止JS泄露IE浏览器
Prevent JS from revealing IE browser by running conditional compilations
下面的 JS 代码可以显示您的浏览器是否为 IE。
var isIE = /*@cc_on!@*/!1;
有没有办法在不禁用 javascript 的情况下防止这种行为?
根据对该问题的评论确定的最终目标是查看是否有办法通过 JavaScript 的任何类型检查来 "hide" 浏览器的身份,以帮助创建自定义浏览器完全匿名。
根据浏览器提供的所有 提示,我认为这几乎是不可能的,这些提示揭示了它的真实身份。
对于 Internet Explorer,这里只是(只读)属性 值的示例,表明浏览器是 Internet Explorer
//This could be any element
var bStyle = document.body.style;
for(var x in bStyle){
console.log(x + ':' + bStyle[x]);
}
此 returns 属性如(ms 是 Microsoft 属性的前缀):
msBlockProgression:
msInterpolationMode:
msBackfaceVisibility:
msPerspective:
msPerspectiveOrigin:
msTransformStyle:
msTransform:
msTransformOrigin:
msAnimation:
msAnimationDelay:
msAnimationDirection:
msAnimationDuration:
msAnimationFillMode:
msAnimationIterationCount:
msAnimationName:
msAnimationPlayState:
msAnimationTimingFunction:
msFlex:
msFlexAlign:
msFlexDirection:
msFlexFlow:
msFlexItemAlign:
msFlexLinePack:
msFlexNegative:
msFlexOrder:
msFlexPack:
msFlexPositive:
msFlexPreferredSize:
msFlexWrap:
and 50+ more...
还有几十个仅适用于 IE 的 API,人们可以检查它们是否会暴露 IE。
console.log(typeof(window.createPopup));
//>> function in IE, undefined in other browsers
console.log(typeof(document.body.currentStyle));
//>> object in IE, undefined in other browsers
然后是所有仅适用于 IE 的技术...Active-X、VML、XML Data Islands、VBScript、Behaviors、CSS Expressions 等。所有这些都提供了关于浏览器的指标实际上是 Internet Explorer。
我个人不使用它,但 Tor Browser 背后的想法似乎是更好的方法...匿名化您的 "tracks" 而不是实际使用的浏览器。
下面的 JS 代码可以显示您的浏览器是否为 IE。
var isIE = /*@cc_on!@*/!1;
有没有办法在不禁用 javascript 的情况下防止这种行为?
根据对该问题的评论确定的最终目标是查看是否有办法通过 JavaScript 的任何类型检查来 "hide" 浏览器的身份,以帮助创建自定义浏览器完全匿名。
根据浏览器提供的所有 提示,我认为这几乎是不可能的,这些提示揭示了它的真实身份。
对于 Internet Explorer,这里只是(只读)属性 值的示例,表明浏览器是 Internet Explorer
//This could be any element
var bStyle = document.body.style;
for(var x in bStyle){
console.log(x + ':' + bStyle[x]);
}
此 returns 属性如(ms 是 Microsoft 属性的前缀):
msBlockProgression:
msInterpolationMode:
msBackfaceVisibility:
msPerspective:
msPerspectiveOrigin:
msTransformStyle:
msTransform:
msTransformOrigin:
msAnimation:
msAnimationDelay:
msAnimationDirection:
msAnimationDuration:
msAnimationFillMode:
msAnimationIterationCount:
msAnimationName:
msAnimationPlayState:
msAnimationTimingFunction:
msFlex:
msFlexAlign:
msFlexDirection:
msFlexFlow:
msFlexItemAlign:
msFlexLinePack:
msFlexNegative:
msFlexOrder:
msFlexPack:
msFlexPositive:
msFlexPreferredSize:
msFlexWrap:
and 50+ more...
还有几十个仅适用于 IE 的 API,人们可以检查它们是否会暴露 IE。
console.log(typeof(window.createPopup));
//>> function in IE, undefined in other browsers
console.log(typeof(document.body.currentStyle));
//>> object in IE, undefined in other browsers
然后是所有仅适用于 IE 的技术...Active-X、VML、XML Data Islands、VBScript、Behaviors、CSS Expressions 等。所有这些都提供了关于浏览器的指标实际上是 Internet Explorer。
我个人不使用它,但 Tor Browser 背后的想法似乎是更好的方法...匿名化您的 "tracks" 而不是实际使用的浏览器。