gpt4 book ai didi

javascript - .NET ServerVariables ("AUTH_USER") 和一个非 ASP 页面

转载 作者:搜寻专家 更新时间:2023-11-01 00:03:27 24 4
gpt4 key购买 nike

我将在需要访问客户端 Windows 登录信息的内部网络上的 Windows 环境中(通过 Cygwin)运行 node.js 服务器。我想出的最好的方法是让一个 iFrame 带有一个 ASP 页面,它只是

Response.Write(Request.ServerVariables("AUTH_USER"))

然后,在加载时获取 iFrame 的内容并将其存储在 Javascript 中。它应该包含类似“MANAGER/HisLogin”的内容,我可以存储该变量。出于安全目的,我可能会对它进行 sha1/salt。

几个问题:

  1. 这样做是否存在任何固有的安全风险? IIS 和 Node.js 将运行在同一台服务器上,但端口不同。如果需要,我可以让 IIS 仅监听本地主机。

  2. 有没有比让 Javascript 获取并依赖 iFrame 内容更好的途径?我意识到客户端可以更改 iFrame 和 Javascript 变量的内容,但内容只被读取一次,我可以在 Javascript 闭包中创建一个自毁函数,该函数在 iFrame 加载时调用,例如:

示例:

var login = function() {
var loginInfo = null;
return {
init: function(theLogin) {
loginInfo = theLogin;
this.init() = function() {};
},
getLogin: function() {
return loginInfo;
}
};
}();

这是 node.js 正在报告的 header

headers: {
host: '/*Removed*/',
connection: 'keep-alive',
accept: 'application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5',
'user-agent': 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_4; en-US) AppleWebKit/534.7 (KHTML, like Gecko) Chrome/7.0.517.44 Safari/534.7',
'accept-encoding': 'gzip,deflate,sdch',
'accept-language': 'en-US,en;q=0.8',
'accept-charset': 'ISO-8859-1,utf-8;q=0.7,*;q=0.3',
cookie: 'socketio=websocket'
},

编辑2

我想到的另一种替代方法是发布 iFrame 加载页面的结果,而不是 Response.Write。我必须找到一种方法将消息相互关联起来。

最佳答案

只要您在公司内部网或内部网络中工作,并且浏览器的安全性允许。这可能适用于 JavaScript

var wshshell=new ActiveXObject("wscript.shell"); 
var username=wshshell.ExpandEnvironmentStrings("%username%");

关于javascript - .NET ServerVariables ("AUTH_USER") 和一个非 ASP 页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4158434/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com