⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 webform1.aspx.cs

📁 页面通过接受http请求。 调用wcpw.dll库函数GeneratePW[Userid, ProtectedItem, PresentationId, RijnDaelKey, Password:
💻 CS
字号:
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
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.Runtime.InteropServices;
using System.Text;
using System.Xml;
namespace test
{
	/// <summary>
	/// 创建日期:2005-09-16
	///   创建人:信泽尔-孟永生
	///     功能:调用DLL的方法生成密码存入数据库;判断来访IP是否合法的。
	/// </summary>
	public class WebForm1 : System.Web.UI.Page
	{
		protected System.Web.UI.WebControls.Label labPassWord;
		#region 引用wcpw.dll
		[DllImport("wcpw.dll")]
		static extern void  GeneratePW(string Userid, string ProtectedItem, string PresentationId, string RijnDaelKey, StringBuilder Password);
		#endregion
		#region Web 窗体设计器生成的代码
		override protected void OnInit(EventArgs e)
		{
			//
			// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
			//
			InitializeComponent();
			base.OnInit(e);
		}
		
		/// <summary>
		/// 设计器支持所需的方法 - 不要使用代码编辑器修改
		/// 此方法的内容。
		/// </summary>
		private void InitializeComponent()
		{    
			this.Load += new System.EventHandler(this.Page_Load);

		}
		#endregion
		#region 读取配置文件XML
		private string GetConfigInfo(string NodeName) 
		{
			//读取xml文件:config.xml
			//NodeName:需要读取的节点的名称 
			//返回值是节点内容
			try 
			{
				XmlTextReader reader = new XmlTextReader(System.Web.HttpContext.Current.Server.MapPath("config.xml"));
				reader.WhitespaceHandling = WhitespaceHandling.None;
				XmlDocument xmlDoc = new XmlDocument();
				xmlDoc.Load(reader);
				reader.Close();
				XmlNode xnod = xmlDoc.DocumentElement;
				return xnod.SelectNodes(NodeName).Item(0).FirstChild.Value;
			}
			catch (Exception e) 
			{
				return e.ToString();
			}
		}
		#endregion
		#region 写数据库
		private void WriteSQLserver(string Userid,string ProtectedItem,string PresentationId,string RijnDaelKey,string Password,string CreateIP,string Succeed)
		{
			try
			{
				string strSQL="INSERT INTO createpasswordhistory(Userid,ProtectedItem,PresentationId,RijnDaelKey,Password,CreateTime,CreateIP,Succeed)"
					+" VALUES "
					+"('"+Userid+"','"+ProtectedItem+"','"+PresentationId+"','"+RijnDaelKey+"','"+Password+"','"+System.DateTime.Now.ToString()+"','"+CreateIP+"','"+Succeed+"')";
				string MyConString=GetConfigInfo("ConnectionString");
				System.Data.SqlClient.SqlConnection myConn = new System.Data.SqlClient.SqlConnection(MyConString);
				myConn.Open();
				System.Data.SqlClient.SqlCommand myCmd=new System.Data.SqlClient.SqlCommand(strSQL,myConn);
				myCmd.ExecuteNonQuery();
				myConn.Close();
				myCmd.Dispose();
				myConn.Dispose();
			}
			catch(Exception e)
			{
				Response.Write(e.ToString());
			};
		}
		#endregion
		#region 页面加载时处理
		private void Page_Load(object sender, System.EventArgs e)
		{
			try
			{
				if (!IsPostBack)
				{
					bool Sign=false;//标志
					string ClientIP=Page.Request.UserHostAddress.ToString();//客户端IP
					string strLegalIP=GetConfigInfo("LegalIP");//取合法IP
					//取参数名称
					string Parameter_Userid_Name=GetConfigInfo("Parameter_Userid_Name");
					string Parameter_ProtectedItem_Name=GetConfigInfo("Parameter_ProtectedItem_Name");
					string Parameter_RijnDaelKey_Name=GetConfigInfo("Parameter_RijnDaelKey_Name");
					//取参数值
					string Userid=Request.QueryString[Parameter_Userid_Name].ToString().Trim();
					string ProtectedItem=Request.QueryString[Parameter_ProtectedItem_Name].ToString().Trim();
					string PresentationId=GetConfigInfo("PresentationId");
					string RijnDaelKey=Request.QueryString[Parameter_RijnDaelKey_Name].ToString().Trim();
					StringBuilder password =new StringBuilder(1024);//存贮wcpw.dll生成的字串
					string Expression="\\w{4}-\\w{4}-\\w{4}-\\w{4}-\\w{4}-\\w{4}-\\w{4}-\\w{4}";
					string[] LegelIPArray = strLegalIP.Split(new char[]{';'});
					for (byte i=0;i<LegelIPArray.Length;i++)
					{
						if (ClientIP==LegelIPArray[i].ToString())
						{
							Sign=true;
							continue;
						}
					}
					if (Sign)//在指定的IP范围之内
					{
						GeneratePW(Userid,ProtectedItem,PresentationId,RijnDaelKey,password);
					}
					if (System.Text.RegularExpressions.Regex.IsMatch(password.ToString(),Expression))
					{
						//生成格式正确的字符串
						WriteSQLserver(Userid,ProtectedItem,PresentationId,RijnDaelKey,password.ToString(),ClientIP,"YES");

					}
					else
					{
						//生成格式不正确的字符串
						WriteSQLserver(Userid,ProtectedItem,PresentationId,RijnDaelKey,password.ToString(),ClientIP,"NO");
					}
					this.labPassWord.Text=password.ToString();
				}
			}
			catch(Exception em)
			{
				Response.Write(em.ToString());
			}
		}
		#endregion
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -