文章
网络安全

有什么客户端的JS白名单工具可以根据JS的实际内容决定是否加载?

有什么客户端的JS白名单工具可以根据JS的实际内容决定是否加载?
比如设定只允许在2047的页面加载2047的脚本, 同时如果2047的脚本一旦改变则不再加载并警告用户检查.

菜单
  1. linda   rico y libre

    NoScript离这个目标已经很近了

  2. 差生文具多  

    我想到两种办法:

    1. 写一个油猴子脚本,记录下网站JS的md5,如果md5发生改变则不再加载。缺点是很多网站的js都会定期更新,有可能网站更新了,但是你的插件发现md5不匹配把它拦截了。

    2. 可以考虑拦截敏感JS API,我认为这个更可行,但是工程量较大。举例来说,dom操作是非敏感api,其它api都可以考虑拦截,比如臭名昭著的webrtc(可绕过代理获取真实ip),beacon(经常用来跟踪用户),还有各种乱七八糟的ajax请求也可以直接拦了。

    多说一句,我认为js api缺少有效的权限管理,大多数js api是完全无害的,它们只用来改变网页的显示效果。但还有一些js api权限很大,比如很多网课会用js检测用户是否打开了当前tab,这就侵害了用户的自主权。我认为最好可以像安卓那样,由用户选择性的禁用一些api。

  3. 脚本白名单 回复 linda /p/195913

    重点是后半句, 前半句不只是NoScript, 很多隐私保护类扩展都有这种功能, 而据我所知后半句似乎还从来没有什么工具实现.

  4. 脚本白名单 回复 差生文具多 /p/195920

    您说的第二个办法似乎Tor Browser就是现成产品.

  5. linda 回复 脚本白名单 /p/195937

    TOR Browser也是用noscript的啊

  6. Hoowii Parody
    Hoowii 回复 linda /p/195994

    需要強調的是 Tor Browser 自身有許多加固, 並非只是普通 Firefox+NoScript,即同樣開啓 JavaScript(JS)的情況下Tor Browser的安全性也高於普通瀏覽器。

  7. 差生文具多 回复 脚本白名单 /p/195999

    不行,Tor浏览器的限制程度有限。如果只追求安全,那么Tor浏览器确实够用了,但有些用户希望在限制危险JS API的基础上,自己做更多定制。

    举个例子,Vibration API允许JS代码震动设备,仅从安全角度讲这个API是无害的,但少数网站(特别是弹窗)利用这个功能骚扰用户。再比如Page Visibility API在Tor浏览器上是可用的,这API可以允许JS了解当前网页是否对用户可见,网课前端检测用户状态就是这个原理。

    我认为这些恼人的问题不是JS的缘故,而要归结于网页设计者不尊重用户。如果可能,浏览器应该提供禁用这些API的选项,或者更进一步提供虚假值,给用户提供更多的选项

  8. Anon 回复 差生文具多 /p/196008

    about:config ,请