国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

asp.net登錄時驗證碼的制作與驗證

2019-11-14 14:21:40
字體:
來源:轉載
供稿:網友

1.新建一個頁面,ImageCode.aspx

2.在Page_Load中添加如下代碼

string tmp = RndNum(4);
HttpCookie a = new HttpCookie("ImageV ", tmp);
Response.Cookies.Add(a);
this.ValidateCode(tmp);

3.在該頁面中添加兩個方法

PRivate void ValidateCode(string VNum)
{

Bitmap Img = null;

Graphics g = null;

MemoryStream ms = null;

int gheight = VNum.Length * 12;

Img = new Bitmap(gheight, 25);

g = Graphics.FromImage(Img);

//生成隨機生成器

Random random = new Random();

//背景顏色
g.Clear(Color.White);

for (int i = 0; i < 100; i++)
{

int x = random.Next(Img.Width);

int y = random.Next(Img.Height);

Img.SetPixel(x, y, Color.FromArgb(random.Next()));

}


//文字字體
Font f = new Font("Arial Black ", 12);

//文字顏色
SolidBrush s = new SolidBrush(Color.Blue);

g.DrawString(VNum, f, s, 3, 3);

ms = new MemoryStream();

Img.Save(ms, ImageFormat.Jpeg);

Response.ClearContent();

Response.ContentType = "image/Jpeg ";

Response.BinaryWrite(ms.ToArray());

g.Dispose();
Img.Dispose();
Response.End();

}

private string RndNum(int VcodeNum)
{

string Vchar = "0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P" +

",Q,R,S,T,U,V,W,X,Y,Z";

string[] VcArray = Vchar.Split(new Char[] { ',' });

string VNum = " ";
int temp = -1;
Random rand = new Random();

for (int i = 1; i < VcodeNum + 1; i++)
{
if (temp != -1)
{
rand = new Random(i * temp * unchecked((int)DateTime.Now.Ticks));

}
int t = rand.Next(35);
if (temp != -1 && temp == t)
{
return RndNum(VcodeNum);

}
temp = t;
VNum += VcArray[t];

}

return VNum;

}

4.在需要顯示驗證碼的頁面添加一個圖片控件

5.在該頁的前臺頁面添加如下代碼:

驗證碼:
<asp:TextBox ID="tbx_yzm" runat="server" Width="70px"></asp:TextBox>
<asp:ImageButton ID="ibtn_yzm" runat="server" />
<a href="javascr<script type="text/Javascript">
function changeCode()
{
document.getElementById('ibtn_yzm').src = document.getElementById('ibtn_yzm').src + '?';
}
</script>

6.在該頁的Page_Load事件中添加如下代碼:

ibtn_yzm.ImageUrl = "ImageCode.aspx";

7.驗證該驗證碼是否輸入正確的代碼:

string code = tbx_yzm.Text;
HttpCookie htco = Request.Cookies["ImageV"];
string scode = htco.Value.ToString();
if (code != scode)
{
Response.Write("<script>alert('驗證碼輸入不正確!')</script>");
}

8.效果


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 安远县| 石家庄市| 奉节县| 胶南市| 万盛区| 淅川县| 昭通市| 本溪市| 永顺县| 安龙县| 怀化市| 灌阳县| 宽城| 珠海市| 井冈山市| 博兴县| 平乡县| 六盘水市| 碌曲县| 遂溪县| 罗甸县| 无为县| 区。| 文化| 威宁| 赞皇县| 扶余县| 巨野县| 当雄县| 广水市| 景谷| 东乌珠穆沁旗| 鄱阳县| 当阳市| 温泉县| 普定县| 石狮市| 南阳市| 高密市| 庆云县| 云龙县|