閱讀目錄
一:加強頁面間傳值的安全性
二:Convert.ToBase64String
三:運作效果
一:加強頁面間傳值的安全性
使用查詢字元串進行頁面間傳值的過程中,一定要把查詢字元串要傳遞的值進行加密,以下是未對查詢字元串加密的URL:http://localhost:3337/ProductView.aspx?ID=12,使用者可以修改查詢字元串的值,例如:将ID=12改為ID=16,ID=16本是VIP才能通路的産品頁面,這樣的話,就可以做到通路沒有權限的頁面,是以要想保證查詢字元串的安全,可以使用加密算法,解密算法,對查詢字元串中要傳遞的值進行加密,例如加密後的效果:http://localhost:3337/ProductView.aspx?ID=Z9j8pUm
這種方法不是很安全,當别人知道你是通過Convert.ToBase64String這種方法加密查詢字元串的話,别人同樣可以用Convert.FromBase64String這個方法來解密你加密後的查詢字元串
二:Convert.ToBase64String
ParameterEncryptDecrypt.aspx
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Configuration;
using System.Web.Configuration;
using EPG.CommonClass;
using System.IO;
using System.Text;
namespace EPG.WebAdmin.EncryptDecrypt
{
public partial class ParameterEncryptDecrypt : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string strParameter = Request.QueryString["ID"].ToString();//查詢字元串
//Convert.ToBase64String的參數需要一個位元組數組,是以我們先要把查詢字元串轉化為位元組數組
byte[] bytes = Encoding.Default.GetBytes(strParameter);
string strEncryptParameter = Convert.ToBase64String(bytes);//加密後的參數
Response.Write("<br/>加密後的值為:" + strEncryptParameter);
}
/// <summary>
/// 解密參數
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnParameter_Click(object sender, EventArgs e)
{
string strParameter = Request.QueryString["ID"].ToString();
byte[] bytes = Encoding.Default.GetBytes(strParameter);
string strEncryptParameter = Convert.ToBase64String(bytes);//加密後的參數
byte[] bytes2 = Convert.FromBase64String(strEncryptParameter);
string strDecryptParameter = Encoding.Default.GetString(bytes2);//解密後的參數
Response.Write("<br/>解密後的值為:"+ strDecryptParameter);
}
}
}
三:運作效果