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

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

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

2019-11-14 14:31:33
字體:
來源:轉載
供稿:網友

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.效果


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 二连浩特市| 柘城县| 封丘县| 彭山县| 崇阳县| 申扎县| 资阳市| 桐城市| 全椒县| 砚山县| 大宁县| 子长县| 汪清县| 凉城县| 辽宁省| 武义县| 永兴县| 政和县| 阳朔县| 封开县| 来凤县| 张家港市| 海安县| 高阳县| 正定县| 河南省| 时尚| 孝昌县| 丹棱县| 岑巩县| 安徽省| 金坛市| 乌鲁木齐市| 奉贤区| 石景山区| 奎屯市| 临西县| 耒阳市| 明溪县| 乡城县| 奉节县|