问题标签 [request.servervariables]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - Request.ServerVariables.Keys 返回空
我正在尝试编写一个简单的 .asp 文件来显示 Request.ServerVariables 中的所有键和值,并且不知何故,我无法在 Reuqest.ServerVariables 中找到任何内容。
这是我的 test.asp:
此 .asp 文件调用另一个 .asp 文件,该文件将把 Request.ServerVariables 中的列表转换为 JavaScript 字符串以供显示,名为 testjs.asp:
但是,每当我运行 test.asp 时,页面都是空的。循环中显然没有发生任何事情,我不确定为什么。
环境:Windows 10、IIS 8、经典 ASP 和 JavaScript
asp.net - asp.net 中的安全 Cookie 和负载平衡器
这是一个混合 MVC/webforms asp.net 应用程序,使用框架 4.8、表单身份验证和成员资格。我需要实现安全 cookie。该网站位于 Coyote 负载均衡器后面,我无法访问(也永远无法访问)。
我在 web.config 中添加了以下内容:
- 身份验证表单标签中的 requireSSL="true"
- httpCookies 标签中的 requireSSL="true"
- roleManager 标记中的 cookiedRequireSSL="true"
虽然这适用于单个站点,但当我在负载均衡器后面有多个站点时它会失败,原因如下:https ://www.jamescrowley.net/2014/03/07/ssl-termination-and-secure- cookiesrequiressl-with-asp-net-forms-authentication/
这是我尝试在负载均衡器后面执行安全 cookie 时收到的错误消息:
System.Web.HttpException (0x80004005):应用程序配置为发出安全 cookie。这些 cookie 要求浏览器通过 SSL(https 协议)发出请求。但是,当前请求不是通过 SSL。在 System.Web.Security.FormsAuthentication.SetAuthCookie(String userName, Boolean createPersistentCookie, String strCookiePath) 在 System.Web.UI.WebControls.Login.AttemptLogin() 在 System.Web.UI.WebControls.Login.OnBubbleEvent(对象源, EventArgs e) 在 System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) 在 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
我使用 IIS urlRewrite 模块尝试了 Crowley 先生在上述链接中描述的修复。这实际上将 HTTPS 服务器变量设置为“on”。与克劳利先生的修复不同,我的规则没有条件,只是将每个请求设置为“开启”HTTPS:
但是,此修复仅在中途有效。没有运行时错误。从跟踪我可以看到用户成功登录并种植了表单身份验证cookie,但是当用户被重定向到应用程序的主页时,安全连接丢失(HTTPS 服务器变量不再“打开”;方案是“http”而不是“https”)并且用户被重定向回登录页面。
我假设这个 http 重定向不知何故来自负载平衡器采取的一些行动,但我不明白为什么 IIS 重写模块缺少它。
所以我然后尝试将它添加到我的 Global.ascx.cs 中。这有效:
我能够登录并保留我的身份验证 cookie。欢呼!
如前所述,网站位于负载平衡器后面。此负载均衡器不允许任何 http 请求(仅限 https)。如果我尝试使用 http 访问我的网站,浏览器会停顿很长时间,然后发送“无法访问此站点”消息。这很好。
我有两个问题:
一,我的修复是否会导致我需要了解的任何问题?我什么都想不出来,但我有一种不安的感觉,就像房间里有一股难闻的气味。
二、为什么我的 IIS 重写规则无法阻止 http 重定向?asp.net 是否在 IIS 之外进行重定向?
asp.net - 当我使用 Request.ServerVariables("CERT_SUBJECT") 时,值 C=US 是什么意思?
当我使用时Request.ServerVariables("CERT_SUBJECT")
,我最终会得到这样的字符串:
值 C=US 是什么意思?这是持卡人的公民身份吗?卡的原产国?
感谢您的帮助
c# - Aspnet 服务器变量来源
如何找到此 IIS 函数的 dll 来源?
我正在尝试查找 RAW_HTTP/ALL_HTTP 服务器变量的物理/虚拟来源,因为我无法侦听远程 Web 服务器上的端口 80/443,可能是由于访问权限或与防火墙相关的原因。我想从 RAW_HTTP/ALL_HTTP 构建我自己的 COM HttpRequest 对象,但不使用 Asp 定义
我也必须使用 ISS,我可以不用吗?