六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

C#加密路徑里的參數(shù),保護(hù)參數(shù)隱私安全!

[摘要]寫(xiě)過(guò)論壇的朋友,特別是把路徑放到數(shù)據(jù)里,然后在服務(wù)器端讀取數(shù)據(jù)庫(kù)里的字段,把路徑信息動(dòng)態(tài)的顯示在客戶端. 如過(guò)直接以http://xxxx.xxxx.net/ShowForum.aspx?id=2&rootID=0&userName=myUserName 就會(huì)發(fā)現(xiàn),直接...

    寫(xiě)過(guò)論壇的朋友,特別是把路徑放到數(shù)據(jù)里,然后在服務(wù)器端讀取數(shù)據(jù)庫(kù)里的字段,把路徑信息動(dòng)態(tài)的顯示在客戶端.

    如過(guò)直接以
http://xxxx.xxxx.net/ShowForum.aspx?id=2&rootID=0&userName=myUserName

    就會(huì)發(fā)現(xiàn),直接把參數(shù)信息顯示在Client端了.別有用心的人,可能會(huì)對(duì)你的服務(wù)器進(jìn)行攻擊

    如果在Client這樣顯示.
http://xxxx.xxxx.net/ShowForum.aspx?bdefEdGa=DEdscFDW&aHJdIDesk=esOddEsA&dsERsdwS=SdEEsaDY


下面我把這樣實(shí)現(xiàn)的C#.net代碼貼出,如大家要轉(zhuǎn)載,請(qǐng)保留本人的版權(quán)。

/*
*Description:加密路徑信息后,輸出到Client端
*Auther:天很藍(lán)_崇崇
*Email:[email protected]
*Dates:2005-01-18
*Copyright:ChongChong2008 YiChang HuBei China
*/

using System;
using System.Collections;
using System.ComponentModel;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.IO;
using System.Text;
using System.Text.RegularExpressions;
using System.Data.SqlClient;
using System.Configuration;

//導(dǎo)入自定義的類(lèi)庫(kù)
using _3Layer.DataLayer.DataCommon;
using _3Layer.DataLayer.DataCommon.DataAccess;
using Library.ClassLibrary.Crypt.DES;

namespace CHONGCHONG.XML
 public class RenderingXML : System.Web.UI.Page
 {
  /// <summary>
  /// 從數(shù)據(jù)庫(kù)預(yù)生成XML數(shù)據(jù)源
  /// </summary>
  private void PreRenderXML()
  {
   string strSQL = "select語(yǔ)句略去........................;
   myDataLayer.Open();

   RenderingXml="<?xml version='1.0' encoding='gb2312'?>\r\n";
   RenderingXml+="<xml>\r\n";
   try
   {   
    System.Data.SqlClient.SqlDataReader myDR = (SqlDataReader)myDataLayer.ExecuteReader( strSQL );
    while(myDR.Read())
    {
     RenderingXml+="<TreeNode id='"+myDR["BoardID"]+"'>\r\n";
     RenderingXml+="<NodeText>"+myDR["BoardName"]+"</NodeText>\r\n";
     RenderingXml+="<title>"+myDR["Title"]+"</title>\r\n";
     RenderingXml+="<NodeUrl>"+EncodeHTML( EncodeParameter( myDR["Link"].ToString() ) )+"</NodeUrl>\r\n";
     RenderingXml+="<child>"+myDR["children"]+"</child>\r\n";
     RenderingXml+="<target>"+myDR["Target"]+"</target>\r\n";
     RenderingXml+="</TreeNode>\r\n";
    }
   }
   catch(System.Data.SqlClient.SqlException ee)
   {
    return ;
   }
   finally
   {
    myDataLayer.Close() ;  
   }
   RenderingXml+="</xml>";
   byte[] bytResult = Encoding.Default.GetBytes( RenderingXml ) ;
   Response.ContentType = "text/xml" ;
   Response.BinaryWrite( bytResult ) ;
  }


  /// <summary>
  /// Description:加密路徑參數(shù)
  /// </summary>
  /// <param name="sourParameter"></param>
  /// <returns></returns>
  private string EncodeParameter( string sourParameter )
  {
   string startString = String.Empty ;
   string endString  = String.Empty ;  
   StringBuilder destParameter = new StringBuilder() ;

   if( sourParameter == null sourParameter.Equals("") )
   {
    destParameter.Append( String.Empty ).ToString() ;
   }
   else
   {
    //開(kāi)始分析路徑里的?字符
    if( sourParameter.IndexOf("?")<0 )
    {
     destParameter.Append( sourParameter ).ToString() ;
    }
    else
    {
     //以?號(hào)分割路徑
     string[] paramPath = sourParameter.Split( new char[]{'?'} ) ;
     startString = paramPath[0].ToString() ;
     endString = paramPath[1].ToString() ;

     //開(kāi)始分析路徑里的&字符
     if(sourParameter.IndexOf("&")<0)
     {
      //只有一個(gè)參數(shù),用=號(hào)分割,直接把NameValue進(jìn)行Des加密
      string[] paramNameValue = endString.Split( new char[]{'='} ) ;
      string paramName = myDES.Encrypt( paramNameValue[0].ToString() ,myDESKey ) ;
      string paramValue = myDES.Encrypt( paramNameValue[1].ToString() ,myDESKey ) ;

      destParameter.Append( startString ).Append("?").Append( paramName ).Append("=").Append( paramValue ) ;
     }
     else
     {
      //有多個(gè)參數(shù),以&號(hào)分割?號(hào)后面的路徑
      string[] paramJoin = endString.Split( new char[]{'&'} ) ;
      destParameter.Append( startString ).Append("?").Append( EncoderNameValue( paramJoin ) ) .ToString() ;
     }
    }
   }
   return destParameter.ToString() ;

  }

 

  /// <summary>
  /// Description:加密路徑里的NameValue參數(shù)
  /// </summary>
  /// <param name="sourNameValue"></param>
  /// <returns></returns>
  private string EncoderNameValue( string[] sourNameValue )
  {
   string[] paramNameValue ;
   string paramName ;
   string paramValue ;
   StringBuilder sb = new StringBuilder() ;

   for( int i = 0 ; i <= sourNameValue.Length-1 ; i++ )
   {
    //以=號(hào)分割每個(gè)NameValue參數(shù)
    paramNameValue = sourNameValue[i].Split( new char[]{'='} ) ;

    //開(kāi)始對(duì)NameValue加密
    paramName = myDES.Encrypt( paramNameValue[0].ToString() ,myDESKey ) ;
    paramValue = myDES.Encrypt( paramNameValue[1].ToString() ,myDESKey ) ;

    //存儲(chǔ)加密后的路徑字符串
    sb.Append( paramName ).Append("=").Append( paramValue ) ;

    //是否最后一個(gè)NameValue參數(shù),若不是在路基里添加&參數(shù)連接符
    if( i<sourNameValue.Length )
    {
     sb.Append("&") ;
    }
   }

   return sb.ToString() ;

  }

 }




主站蜘蛛池模板: 青春草在线视频观看 | 天天爽天天色 | 午夜精品aaa国产福利 | 天天躁狠狠躁夜躁2021 | 青草视频免费观看在线观看 | 色噜噜狠狠色综合网图区 | 日本强不卡在线观看 | 依人在线 | 亚洲人成绝费网站色ww | 亚洲欧美在线综合一区二区三区 | 伊人免费视频二 | 亚洲图片欧美在线 | 一二三四日本高清免费看 | 偷窥自拍首页 | 天天做日日干 | 亚洲 欧美 日韩中文字幕一区二区 | 日本极品另类 | 在线播放侵犯高傲女教师希崎 | 天天做天天爱天天影视综合 | 欧洲97色综合成人网 | 亚洲男人天堂网 | 日日舔夜夜操 | 影音先锋色69成人资源 | 午夜网站在线观看免费网址免费 | 日本小视频在线 | 亚洲 欧美 精品 | 日韩伦理一区 | 四虎影院成人 | 天天干在线播放 | 天天噜夜夜噜 | 色偷偷尼玛图亚洲综合 | 亚洲精品第四页中文字幕 | 五月婷婷丁香六月 | 天天插天天射天天干 | 亚洲精品在线免费 | 亚欧视频在线 | 欧美太黄太色视频在线观看 | 性荡视频播放器在线视频播放 | 日本免费在线一区 | 色偷偷尼玛图亚洲综合 | 日本免费高清在线观看播放 |