Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/460.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从Firefox扩展查找当前登录的用户_Javascript_Firefox_Xul - Fatal编程技术网

Javascript 从Firefox扩展查找当前登录的用户

Javascript 从Firefox扩展查找当前登录的用户,javascript,firefox,xul,Javascript,Firefox,Xul,我正在编写一个Firefox扩展,需要知道当前登录用户在Windows、Mac或Linux中的用户名。因此,如果我以“brh”登录我的机器,它将返回“brh”。你知道如何从扩展JavaScript中做到这一点吗?不要认为这是可能的,如果是的话,看起来会是一个安全漏洞。是的,不可能。。。Javascript在一个安全的环境中运行,所有FF扩展都是Javascript,因此您将无法与操作系统进行太多交互。。。但是我会留下来看看是否有人知道一种方法(这将是非常酷的…)Firefox扩展与页面中正常运行

我正在编写一个Firefox扩展,需要知道当前登录用户在Windows、Mac或Linux中的用户名。因此,如果我以“brh”登录我的机器,它将返回“brh”。你知道如何从扩展JavaScript中做到这一点吗?

不要认为这是可能的,如果是的话,看起来会是一个安全漏洞。

是的,不可能。。。Javascript在一个安全的环境中运行,所有FF扩展都是Javascript,因此您将无法与操作系统进行太多交互。。。但是我会留下来看看是否有人知道一种方法(这将是非常酷的…)

Firefox扩展与页面中正常运行的JavaScript遵循不同的规则:找到当前用户是绝对可能的

打开错误控制台(在工具中)并输入以下内容:

Components.classes["@mozilla.org/process/environment;1"].getService(Components.interfaces.nsIEnvironment).get('USER')
Firefox启动时所使用的环境变量可通过该工具获得


您可能需要根据平台进行定制。如果所有其他操作都失败,您可以在
~
中创建一个,然后查看其
.path
;我不确定shell表达式是否在这里得到了认可,不过…

标记的正确答案很好。我在Firefox38上的扩展中使用了这个。我还使用事件,以便页面可以与扩展通信并从扩展中检索windows属性

getWindowsProperty:函数(属性){ 返回Components.classes[“@mozilla.org/process/environment;1”].getService(Components.interfaces.nsievironment.get(prop);
},

太棒了!在Windows中,环境变量是USERNAME而不是USER,顺便说一句,通过尝试两者,您可以覆盖您想要的所有平台。没有问题。事实上,我同意大卫和德弗特科索的观点——这看起来确实像是一个安全漏洞。。。事实上,扩展与Firefox本身拥有相同的权利——它们确实值得信任。真的很惊讶竟然有这么少的FF恶意软件!说到安全漏洞,您可以设置用户名,这样它可能不是识别用户的最佳方式-他们可能会用它来模拟其他人?