Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 18594|Svar: 1

[ASP.NET] asp.net princippet og koden for generering af billed-captcha

[Kopier link]
Opslået på 02/04/2015 10.26.51 | | |
ved brug af System;
ved brug af System.Data;
ved brug af System.Configuration;
ved brug af System.Collections;
brugte System.Web;
ved brug af System.Web.Security;
ved brug af System.Web.UI;
ved brug af System.Web.UI.WebControls;
ved brug af System.Web.UI.WebControls.WebParts;
ved brug af System.Web.UI.HtmlControls;
ved brug af System.Drawing.Design;
brug af System.Drawing;
offentlig delvis klassebilledkode : System.Web.UI.Page
{
beskyttet void Page_Load(objektafsender, EventArgs e)
{
dette. CreateCheckCodeImage(RndNum());

}

privat streng RndNum()
{
Int-nummer;
char-kode;
streng checkCode = String.Empty;

System.Tilfældig tilfældig = ny tilfældig (tilfældig();

for (int i = 0; Jeg < 4; i++)
{
Tal = tilfældigt. Next();
hvis (tal % 2 == 0)
kode = (tegn) ('0' + (tegn (tegn ) (tal % 10));
ellers
kode = (tegn) (A' + (tegn (tegn % 26));
tjekkode += kode. ToString();
}
Response.Cookies.Add (ny HttpCookie ("yzmcode", tjekkode));
returcheckkode;
}
privat void CreateCheckCodeImage(streng checkCode)
{
hvis (checkCode == null || checkCode.Trim() == String.Empty)
vender tilbage;
System.Drawing.Bitmap-billede = nyt System.Drawing.Bitmap((int)Math.Ceiling((checkCode.Length * 12.5)), 22);
Grafik g = Grafik.FraBillede(billede);
Prøv
{
//生成随机生成器
Tilfældig tilfældig = ny tilfældig (tilfældig();
//清空图片背景色
g.Klar (Farve.Hvid);
//画图片的背景噪音线
for (int i = 0; Jeg < 25; i++)
{
int x1 = tilfældig. Næste (billede. Bredde);
int x2 = tilfældig. Næste (billede. Bredde);
int y1 = tilfældig. Næste (billede. højde);
int y2 = tilfældig. Næste (billede. højde);
g.DrawLine (ny Pen(Color.Silver), x1, y1, x2, y2);
}

Font font = nyt System.Drawing.Font("Arial", 12, (System.Drawing.FontStyle.Bold | System.Tegning.SkrifttypeStil.Kursiv;;
System.Tegning.Tegning2D.LinearGradientBrushbrush = nyt System.Drawing.Drawing2D.LinearGradientBrush(ny Rektangel(0, 0, billede. Bredde, billede. Højde), Farve.Blå, Farve.Mørkerød, 1,2f, sand);
g.DrawString(tjekkode, skrifttype, pensel, 2, 2);
//画图片的前景噪音点
for (int i = 0; Jeg < 100; i++)
{
int x = tilfældig. Næste (billede. Bredde);
int y = tilfældig. Næste (billede. højde);
billede. SetPixel(x, y, Color.FromArgb(random. Next()));
}
//画图片的边框线
g.DrawRectangle(ny Pen(Color.Silver), 0, 0, billede. Bredde - 1, billede. Højde - 1);
System.IO.MemoryStream ms = ny System.IO.MemoryStream();
billede. Save(ms, System.Drawing.Imaging.ImageFormat.Gif);
Response.ClearContent();
Response.ContentType = "image/Gif";
Response.BinaryWrite(ms. ToArray());
}
endelig
{
g. Afhændig();
billede. Bortskaff();
}
}

}
//验证码使用页login.aspx中的代码
<asp:ImageButton ID="yzm" runat="server" ImageUrl="imagecode.aspx" />
<asp:LinkButton ID="ChangeCode" runat="server" text="Kan ikke se det tydeligt? Skift verifikationskoden" />
<asp:Button ID="Button1" runat="server" Text="Button" /></div>
//ogin.aspx.cs中的代码
Tilføj til
Du behøver ikke skrive kode, klik på "Kan ikke se klart?" Skift verifikationskoden" for at opdatere verifikationskoden senere
protected void ChangeCode_Click(objektafsender, EventArgs e)
{
}
//提交按钮代码这里是通过cookies来验证的
beskyttet void Button1_Click(objektafsender, EventArgs e)
{
hvis (String.Compare(Request.Cookies["yzmcode"]. Værdi, en.Tekst, sand) != 0)
{
Response.Write("<scrip去掉t>alert('CAPTCHA error!')"</scrip去掉t>);
}
ellers
{ Response.Write("<scrip去掉t>alert('Validate!!')</scrip去掉t>"; }
}




Tidligere:IE dræber fjernkommandoudførelse
Næste:asp.net implementerer cookies til at gemme værdier
Opslået på 04/04/2015 10.58.42 |
Jeg kan allerede bruge det
Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com