c#生成圖片驗證碼代碼_.Net教程
教程Tag:暫無Tag,歡迎添加,賺取U幣!
推薦:Asp.Net生成靜態頁面實例代碼usingSystem; usingSystem.Data; usingSystem.Configuration; usingSystem.Collections; usingSystem.Web; usingSystem.Web.Security; usingSystem.Web.UI; usingSystem.Web.UI.WebControls; usingSystem.Web.UI.WebControls.WebParts; usingSystem.Web.UI.H
前臺引用.aspx:| <img id="Image1" onclick="javascript:suiji();"src="YanZhengCode.aspx" alt="看不清楚,請單擊我。" border="0"style="height:25px;width:60px;border: 0px; cursor: pointer;" /> <script language="javascript" type="text/javascript"> function suiji(){ document.getElementById("Image1").src="gif_zl.aspx?chen="+number; } </script> |
YanZhengCode.cs
| using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Drawing; using System.IO; public partial class YanZhengCode : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { //string str = Request["chen"]; BuildCode(); //ShuImg(); } private void BuildCode() { Color[] strcolor ={ Color.Red, Color.Blue, Color.Brown,Color.Black,Color.Tomato }; string[] strfont={"華文中宋"}; Random rands = new Random(); Bitmap images = new Bitmap(80,26); //圖片大小 Graphics g = Graphics.FromImage(images); Font f = new Font(strfont[0], 20); //字體大小 //筆刷填充色 Brush b = new SolidBrush(Color.Tomato); Brush b2 = new SolidBrush(strcolor[rands.Next(0,strcolor.Length)]); Brush b3 = new SolidBrush(Color.Red); Brush b4 = new SolidBrush(Color.FromArgb(128,Color.Green)); g.Clear(Color.Wheat); //線條顏色 Pen p = new Pen(Color.Red, 0); Pen p2 = new Pen(Color.Turquoise,0); Random rand = new Random(); for (int i = 0; i < 40; i++) { int y = rand.Next(images.Height); int x = rand.Next(images.Width); //g.DrawLine(p, 0, y, images.Width, y); g.DrawRectangle(p2, x, y, 1, 1); } //int degree = 5; //Point tempPoint = new Point(); //degree = ~degree + 1; //g.RotateTransform(degree); //tempPoint.X = 20; //tempPoint.Y = 4; g.DrawRectangle(p, 0, 0, images.Width-1, images.Height-1); //繪圖區域 string strCode = rand.Next(1000,10000).ToString(); Session["yanzhencode"] = strCode; g.DrawString(strCode.Substring(0, 1), f, b, 2,-1); g.DrawString(strCode.Substring(1, 1), f, b2, 19, -1); g.DrawString(strCode.Substring(2, 1), f, b3, 37, -1); g.DrawString(strCode.Substring(3, 1), f, b4, 50, -1); System.IO.MemoryStream ms = new System.IO.MemoryStream(); images.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg); Response.ClearContent(); Response.ContentType = "image/jpeg"; Response.BinaryWrite(ms.ToArray()); //Response.Cookies.Add(new HttpCookie("chne", "6780")); g.Dispose(); images.Dispose(); } private void ShuImg() { Response.ContentType = "image/*"; //設置發送頭為圖像數據 Response.Clear(); //清空發送數據 Random rand = new Random(); Stream stream = OpenFile(Server.MapPath("pic/"+rand.Next(1,6).ToString()+".jpg")); //打開文件流 Bitmap bit = new Bitmap(stream); bit.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg);//保存到輸出流中 stream.Close(); bit.Dispose(); Response.Flush(); //輸出到客戶端 } } |
分享: 解析防網站登陸被破解的簡單方法在大多數的基于數據庫的身份認證登陸模塊,大多數的程序員只是用一個簡單的SQL查詢語句來實現,這樣很容易被用戶以簡單的 (1’or’1’=’1) 查詢替換給破解.其實只要稍微的修改一下代碼,便可以防止.具體請參看以下兩個函數的實現: 以下代碼基于C#,數據庫為Acce
相關.Net教程:
- asp.net如何得到GRIDVIEW中某行某列值的方法
- .net SMTP發送Email實例(可帶附件)
- js實現廣告漂浮效果的小例子
- asp.net Repeater 數據綁定的具體實現
- Asp.Net 無刷新文件上傳并顯示進度條的實現方法及思路
- Asp.net獲取客戶端IP常見代碼存在的偽造IP問題探討
- VS2010 水晶報表的使用方法
- ASP.NET中操作SQL數據庫(連接字符串的配置及獲取)
- asp.net頁面傳值測試實例代碼
- DataGridView - DataGridViewCheckBoxCell的使用介紹
- asp.net中javascript的引用(直接引入和間接引入)
- 三層+存儲過程實現分頁示例代碼
- 相關鏈接:
- 教程說明:
.Net教程-c#生成圖片驗證碼代碼
。