资 源 简 介
翻译 maninwest@Codeforge 作者:Michael Ulmann@CodeProject使用查询字符串从浏览器向服务器发送数据的方法被广泛应用。如果给WEB 应用的访客机会,使其可以通过在平面文本中传递查询字符串修改查询字符串就会造成安全隐患。所以开发者应该加密查询字符串,即使是这些字符串不包含保密数据时也应加密。虽然,加密后的查询字符串仍可能会被更改,但是经过适当意外处理后,就没有危害了。背景为了简单起见,我使用了有争议的加密(DES 编码) - 虽然可以在给出的示例中应用任何前沿加密。使用代码展示的解决方案的主要部分保含一个 HttpModule,它解密查询字符串并使用未加密的请求字符串提供页面请求:using System;
using System.Web;
using System.Web.Configuration;
namespace HelveticSolutions.QueryStringEncryption
{
///
/// Http module that handles encrypted query strings.
///
public class CryptoQueryStringUrlRemapper : IHttpModule
{
#region IHttpModule Members
///
/// Initialize the http module.
///
/// Application,
/// that called this module.