using System; using System.Data; using System.Configuration; 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.Text; //添加引用 using System.Drawing; //添加引用 /// <summary> /// CheckCode_Ch 的摘要說明 /// </summary> public class CheckCode_Ch { public CheckCode_Ch() { // // TODO: 在此處添加構(gòu)造函數(shù)邏輯 // } private static object[] CreateString() { //定義一個(gè)數(shù)組存儲(chǔ)漢字編碼的組成元素 string[] str = new string[16] { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f" }; Random ran = new Random(); //定義一個(gè)隨機(jī)數(shù)對(duì)象 object[] bytes = new object[4]; for (int i = 0; i < 4; i++) { //獲取區(qū)位碼第一位 int ran1 = ran.Next(11, 14); string str1 = str[ran1].Trim(); //獲取區(qū)位碼第二位并防止數(shù)據(jù)重復(fù) ran = new Random(ran1 * unchecked((int)DateTime.Now.Ticks) + i); int ran2; if (ran1 == 13) { ran2 = ran.Next(0, 7); } else { ran2 = ran.Next(0, 16); } string str2 = str[ran2].Trim(); //獲取區(qū)位碼第三位 ran = new Random(ran2 * unchecked((int)DateTime.Now.Ticks) + i); int ran3 = ran.Next(10, 16); string str3 = str[ran3].Trim(); //獲取區(qū)位碼第四位 ran = new Random(ran3 * unchecked((int)DateTime.Now.Ticks) + i); int ran4; if (ran3 == 10) { ran4 = ran.Next(1, 16); } else if (ran3 == 15) { ran4 = ran.Next(0, 15); } else { ran4 = ran.Next(0, 16); } string str4 = str[ran4].Trim(); //定義字節(jié)變量存儲(chǔ)產(chǎn)生的隨機(jī)漢字區(qū)位碼 byte byte1 = Convert.ToByte(str1 + str2, 16); byte byte2 = Convert.ToByte(str3 + str4, 16); byte[] stradd = new byte[] { byte1, byte2 }; //將產(chǎn)生的漢字字節(jié)放入數(shù)組 bytes.SetValue(stradd, i); } return bytes; } private static string GetString() { Encoding gb = Encoding.GetEncoding("gb2312"); object[] bytes = CreateString(); //根據(jù)漢字字節(jié)解碼出中文漢字 string str1 = gb.GetString((byte[])Convert.ChangeType(bytes[0], typeof(byte[]))); string str2 = gb.GetString((byte[])Convert.ChangeType(bytes[1], typeof(byte[]))); string str3 = gb.GetString((byte[])Convert.ChangeType(bytes[2], typeof(byte[]))); string str4 = gb.GetString((byte[])Convert.ChangeType(bytes[3], typeof(byte[]))); string str = str1 + str2 + str3 + str4; HttpContext.Current.Response.Cookies.Add(new HttpCookie("CheckCode", str)); return str; } public static void GraphicsImage() { System.Drawing.Bitmap image = new System.Drawing.Bitmap((int)Math.Ceiling((GetString().Length * 22.5)), 22); Graphics g = Graphics.FromImage(image); //創(chuàng)建畫布 try { //生成隨機(jī)生成器 Random random = new Random(); //清空?qǐng)D片背景色 g.Clear(Color.White); //畫圖片的背景噪音線 for (int i = 0; i < 1; i++) { int x1 = random.Next(image.Width); int x2 = random.Next(image.Width); int y1 = random.Next(image.Height); int y2 = random.Next(image.Height); g.DrawLine(new Pen(Color.Black), x1, y1, x2, y2); } Font font = new System.Drawing.Font("Couriew New", 12, System.Drawing.FontStyle.Bold); System.Drawing.Drawing2D.LinearGradientBrush brush = new System.Drawing.Drawing2D.LinearGradientBrush (new Rectangle(0, 0, image.Width, image.Height), Color.Blue, Color.DarkRed, 1.2f, true); g.DrawString(GetString(), font, brush, 2, 2); //畫圖片的前景噪音點(diǎn) for (int i = 0; i < 50; i++) { int x = random.Next(image.Width); int y = random.Next(image.Height); image.SetPixel(x, y, Color.FromArgb(random.Next())); } //畫圖片的邊框線 g.DrawRectangle(new Pen(Color.Silver), 0, 0, image.Width - 1, image.Height - 1); System.IO.MemoryStream ms = new System.IO.MemoryStream(); image.Save(ms, System.Drawing.Imaging.ImageFormat.Gif); HttpContext.Current.Response.ClearContent(); HttpContext.Current.Response.ContentType = "image/Gif"; HttpContext.Current.Response.BinaryWrite(ms.ToArray()); } catch (Exception ms) { HttpContext.Current.Response.Write(ms.Message); } } }
? ?? ??? ??? ????? ChineseCheckCode.aspx? ???? ???? ??? ????. ??????? ??? ??? ??? ??? ??? ?????? ????? ?????. .
using System; using System.Collections; using System.Configuration; using System.Data; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; public partial class UserValidator_ChineseCheckCode : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { CheckCode_Ch.GraphicsImage(); //調(diào)用方法生成四位漢字驗(yàn)證碼 } }
? ?? ??? ???? ???
<asp:TextBox ID="Validator" runat="server" Width="150px" ></asp:TextBox> <img id="Img1" alt="看不清,請(qǐng)點(diǎn)擊我!" onclick="this.src=this.src+'?'" src="ChineseCheckCode.aspx" style="width: 75px; height: 24px" align="left" /> <asp:ImageButton ID="imgBtnLogin" runat="server" ImageUrl="~/Images/Login.GIF" OnClick="imgBtnLogin_Click" />
??? ??
protected void imgBtnLogin_Click(object sender, ImageClickEventArgs e) { HttpCookie cookie = Request.Cookies["CheckCode"]; if (cookie.Value == this.Validator.Text.Trim()) { //。。。 } else { Response.Write("<script>alert('驗(yàn)證碼輸入錯(cuò)誤,請(qǐng)重新輸入!');Location='ChineseCodeValidator.aspx'</script>"); return; } }
? ????? 4?? ??? ????? ??? ?? ????? ????.
?? ????, ??? ??? ??, ????? ???? ?? ???? ??? ????????. ??? ?? ????. .
asp.net?? ??? ?? ?? ??(? ???) ?? ??? ? ??? PHP ??? ????? ?????!

? AI ??

Undress AI Tool
??? ???? ??

Undresser.AI Undress
???? ?? ??? ??? ?? AI ?? ?

AI Clothes Remover
???? ?? ???? ??? AI ?????.

Clothoff.io
AI ? ???

Video Face Swap
??? ??? AI ?? ?? ??? ???? ?? ???? ??? ?? ????!

?? ??

??? ??

???++7.3.1
???? ?? ?? ?? ???

SublimeText3 ??? ??
??? ??, ???? ?? ????.

???? 13.0.1 ???
??? PHP ?? ?? ??

???? CS6
??? ? ?? ??

SublimeText3 Mac ??
? ??? ?? ?? ?????(SublimeText3)

??? ??











Google ??? ?? ?? ???? ???? ??? ??? ?? ???? Google Chrome? ???? ????? ???? ? ?? ??? ??? ??? ????. ?? ???? ??? ?? ??? ??? ? Chrome?? ??? ??? ??? ??? ? ??? ??? ?????. ??? ?? ???? ?? ????? Chrome ?? ??? ???? ?? ??? ???? ??? ???????. ?? ??? ??? ?? ????! ?? ??: 1. ?????? ???? ??? ?? ???? ?? "??" ??? ??? ?? ?? ?? ???? "??"? ???? ?????. 2. ? ?????? ??? ? ??? "???? ?? ? ??" ??? ?????. 3. ???? '???? ??'? ?????.

????? ????? ??? ? ????. ?? ? ??? ?????? ??? ???? ??? ??? ????? ??? ? ??? SMS ????? ??? ? ????. ??, ??????? ????? ??? ?????. ?? ??????? ??????? ??? ???? ???? ?? ??????? ??? ????? ????? ???.

"?? ???? ?? ????? ???? ? ?? ??? ???(??? ???) ?? ??? ??? ????. ?? ?? ??? ?? ??? ????." ?? ??? AI? ??? ??? ? ?? ? ? ??? ????. ? ?? ?? ? ??? ?? ???? ???? ? ?? ?? ??? ????. ??? ??? "Pix2Struct"?? ??? ???? ?????. ?? ???? ?? ??????? ?? ????? “?? ???? ??? ??”? ????. ?? ???? ?????? ?? ? ????? ? ?, ?? ???? ??? ?????. ?? ??? ??? ??? ?????? ?? ??? ?? ? ??? ??? ???? ??? ? ????. ??? ?? ??? ?? ??? ? ??? ?? ? ??? ????! (?? ?? ??...) ??? ?? ???? Pix2St

PHP ??? ?? ??: ???? ?? ?? ??? ???? ?? ???? ??? ??? ?? ?? ??? ? ??? ??? ???? ??? ?? ? ??? ?????. ????? ???? ??? ??? ???? ?? ????? ???? ?? ????. ? ???? PHP? ???? ???? ?? ?? ??? ???? ??? ?? ??? ?????. ?? ?? ??? ??? ??? ??? ?????. ???? ??? ???? ?? ??? ?? ??? ???? ???. ?? ??? ???? ?? ?????? ??? ??? ???? ??? ???? ??? ??? ?????.

PHP? ???? ?? ?? ???? ??? ??? ?????? CAPTCHA? ???? ??? ?? ???? ???? ?? ????? ???? ?????. ??????? ???? ???, ??, ?? ?? ?? ??? ???? ?? ???? ??? ??? ??? ??? ???? ?? ?? ?? ???? ?? ? ? ????. ? ????? PHP? ???? ?? ?? ???? ??? ??? ???? ???? ?? ??? ?????. 1. PHPGD ????? ???? ???? ????? PHP? GD ?????? ???? ???. GD ?????? ??? ??? ?? ?????.

????? ????? ?? ??? ??? ???? ??, ??? ?? ??, ????? ??, ?? ?? ?? ??? ?? ?????. ??? ??: 1. ???? ??. ???? ??? ???? ??? ?????? ??? ??? ?? ??? ?? ???? ?? ? ????. 2. ??? ?? ??. ???? ?? ??? ??? ????, ???? ????? ?????? ???? ????? ????? ???? ?? ?? 3. ??? ???? ??? ? ????. ??? ?? ?? ??? ?? ?? ??? ??? ???? ?? ?? ?

???? ??? ????? ???? ?? ???? ??? ??? ???? ????? ??????? ?? ? ???? ????. ???? ???? ??? ???? ???? ??? ???? ?? ??? ????? ???? ???? ??? ???? ??? ?????. PHP ?? ? ??? ???? ??? ?? ??? ???? ??? ?? ??? ?? ??? ? ????. ?????? ??? ?? ??, ?? ?? ??? ??? ??????? ???? ???? ???. ??? ???? ?? ??? ??? ? ????. id: ?? ?? ?? ? ??

JavaScript? ???? ?? ?? ??? ???? ??? ?????? ???? ????? ?? ??? ????? ???????? ???? ? ? ?? ???? ? ??? ?????. VerificationCode? ???? ??? ?? ???? ???? ? ???? ?????. CAPTCHA? ???? ????? ???????? ?? ??, ?? ??, ? ??? ?? ??? ? ????. ? ???? JavaScript? ???? ?? ?? ??? ???? ?? ??? ???? ??? ?????.
