来源:自学PHP网 时间:2015-04-17 14:46 作者: 阅读:次
[导读] machineKey 元素用于指定保护表单身份验证 Cookie 和页面级视图状态所使用的加密密钥、验证密钥和算法。以下代码示例显示了 Machine.config 中的默认设置:machineKey validationKey=AutoGenerate,Iso...
<machineKey> 元素用于指定保护表单身份验证 Cookie 和页面级视图状态所使用的加密密钥、验证密钥和算法。以下代码示例显示了 Machine.config 中的默认设置: <machineKey validationKey="AutoGenerate,IsolateApps" decryptionKey="AutoGenerate,IsolateApps" validation="SHA1"/> 在配置 <machineKey> 时应考虑以下建议:
对多个应用程序使用唯一的加密密钥
如果在一个 Web 服务器上驻留多个应用程序,应该对计算机上的每个应用程序使用唯一的密钥,而不是对所有应用程序使用一个密钥。这样可以避免在驻留环境中,一个应用程序可以欺骗视图状态或加密的表单身份验证 Cookie。 还应使用 IsolateApps 设置。这是 .NET Framework 1.1 中的新设置,用于指示 ASP.NET 自动生成加密密钥,并使每个应用程序的密钥是唯一的。 设置 validation="SHA1" validation 属性指定页面级视图状态的完整性检查所使用的算法。可能的值为“SHA1”、“MD5”和“3DES”。 如果在 <forms> 元素上使用了 protection="All",将对表单身份验证 Cookie 进行加密,同时还可以确保完整性。无论 validation 属性如何设置,表单身份验证均使用 TripleDES (3DES) 为 Cookie 加密。 注意:表单身份验证 Cookie 加密与 validationkey 设置无关,该密钥基于 decryptionKey 属性。 如果在 <machineKey> 上设置了 validation="SHA1",将使用 SHA1 算法检查页面级视图状态的完整性,同时假定 <pages> 元素配置为视图状态 MAC。有关详细信息,请参阅本模块前面的视图状态。 也可以将 validation 属性设置为 MD5。应该使用 SHA1,因为此算法生成的哈希值比 MD5 要大,因此更安全。 如果在 <machineKey> 上设置了 validation="3DES",将使用 3DES 算法为页面级视图状态加密(同时还检查完整性),即使 <pages> 元素配置为视图状态 MAC。 手动为 Web 场生成密钥 在 Web 场中,必须设置明确的密钥值,并在 Web 场中的所有计算机上使用相同的密钥值 |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com