Asp.net 如何检查是否在运行时设置了EnableViewStateMac?
在ASP.NET中,ViewState通常通过服务器上的机器机密生成的签名在客户端受到保护,以防被篡改。但这种保护可以通过以下方式轻松关闭:Asp.net 如何检查是否在运行时设置了EnableViewStateMac?,asp.net,Asp.net,在ASP.NET中,ViewState通常通过服务器上的机器机密生成的签名在客户端受到保护,以防被篡改。但这种保护可以通过以下方式轻松关闭: <%@ Page ... EnableViewStateMac="false" %> 我正在编写一个ASP.NET控件,它可以存储安全敏感信息(不是秘密的…但不能篡改),具体取决于EnableViewStateMac是否为真 我如何测试它在运行时是打开还是关闭?您应该能够引用 Page.EnableViewStateMac 从您的代码中
<%@ Page ... EnableViewStateMac="false" %>
我正在编写一个ASP.NET控件,它可以存储安全敏感信息(不是秘密的…但不能篡改),具体取决于EnableViewStateMac是否为真
我如何测试它在运行时是打开还是关闭?您应该能够引用
Page.EnableViewStateMac
从您的代码中
您可以使用此.Page进行检查。EnableViewStateMac 上面的注释 不要在代码中设置此属性。使用.aspx文件中的@Page指令设置EnableViewStateMac属性。当请求页面时,动态生成的类设置属性
视图状态MAC是隐藏变量的加密版本,当页面发送到浏览器时,页面的视图状态将持久化到该隐藏变量。当此属性设置为true时,将检查加密视图状态,以验证其在客户端上是否未被篡改。您可能需要注意,从2014年9月起 所有版本的ASP.NET运行时1.1-4.5.2现在都禁止设置 及
哇。这表明,如果Intellisense中不存在某些东西,那么一些开发人员认为它根本不存在。它是该属性的完美去处,但该属性上设置了
[EditorBrowsable(editorbrowseblestate.Never)]
,这样Intellisense就不会暴露它。无论如何,谢谢!