Danh sách thành viên | Cá nhân | Nhà đất, bất động sản
Diễn đàn
ASP.NET & Sharepoint MOSS, WSS 2007
Captcha version 2.0 Thành viên | Nội dung | tieuphu
Thống chế Erich von Manstein 50 bài
| Lần trước post 1 bài về captcha rồi lần này thêm con nữa cho vui. Con này an toàn cao hơn vì sử dụng nhiều loại hình chống bot regconition.
using System; using System.Data; using System.Drawing;
namespace captcha { public partial class _Default : System.Web.UI.Page { private Bitmap TransformImage(Bitmap bmp, Random rnd) { int width = bmp.Width; int height = bmp.Height; double distort = rnd.Next(5, 15) * (rnd.Next(10) == 1 ? 1 : -1);
// Copy the image so that we're always using the original for source color using (Bitmap copy = (Bitmap)bmp.Clone()) { for (int y = 0; y < height; y++) { for (int x = 0; x < width; x++) { // Adds a simple wave int newX = (int)(x + (distort * Math.Sin(Math.PI * y / 84.0))); int newY = (int)(y + (distort * Math.Cos(Math.PI * x / 44.0))); if (newX < 0 || newX >= width) newX = 0; if (newY < 0 || newY >= height) newY = 0; bmp.SetPixel(x, y, copy.GetPixel(newX, newY)); } } }
return bmp; }
private Brush GetBrush(Random rnd) { Brush brush = Brushes.Black; int ir = rnd.Next(9); switch (ir) { case 0: brush = Brushes.DarkCyan; break; case 1: brush = Brushes.DarkGreen; break; case 2: brush = Brushes.Crimson; break; case 3: brush = Brushes.DarkViolet; break; case 4: brush = Brushes.DarkOliveGreen; break; case 5: brush = Brushes.DarkOrchid; break; case 6: brush = Brushes.DarkTurquoise; break; } return brush; }
private Font GetFont(Random rnd) { float sz = 15 + rnd.Next(4); Font f = new Font("Arial", sz); int i = rnd.Next(4); switch(i) { case 0: f = new Font("Tahoma", sz, FontStyle.Bold);break; case 1: f = new Font("Verdana", sz, FontStyle.Bold); break; case 2: f = new Font("Times New Roman", sz, FontStyle.Bold); break; } return f; }
private void Drawing(Graphics gr, string s, PointF p, Random rnd) { float x = p.X; float y = p.Y; char [] c = s.ToCharArray(); for (int i = 0; i < c.Length; i++) { string ch = c [ i ] .ToString(); Brush brush = GetBrush(rnd); Font font = GetFont(rnd); SizeF sf = gr.MeasureString(ch, font); gr.DrawString(ch, font, brush, new PointF(x, y + (rnd.Next(7) - 3))); x = x + sf.Width / 2; } }
private Pen GetPen(Random rnd) { Pen p = Pens.Black; int i = rnd.Next(4); switch (i) { case 0: p = Pens.Crimson; break; case 1: p = Pens.DarkCyan; break; case 2: p = Pens.DarkOliveGreen; break; } return p; }
protected void Page_Load(object sender, EventArgs e) { Random rnd = new Random(); string captcha = Guid.NewGuid().ToString("N").Substring(0, 5); Session ["CAPTCHA"] = captcha; int wid = 100; int hei = 40; PointF p = new PointF(10 + rnd.Next(14), 4 + rnd.Next(2));
Bitmap bmp = new Bitmap(wid, hei); Graphics gr = Graphics.FromImage(bmp); System.Drawing.Rectangle rec = new Rectangle(0, 0, wid, hei); gr.FillRectangle(Brushes.White, rec);
Drawing(gr, captcha, p, rnd); //bmp = TransformImage(bmp, rnd); int max = rnd.Next(2); for (int i = 0; i < 2 + max; i++) { Pen pen = GetPen(rnd); Point p1 = new Point(rnd.Next(wid), rnd.Next(hei)); Point p2 = new Point(rnd.Next(wid), rnd.Next(hei)); gr.DrawLine(pen, p1, p2); }
Response.ContentType = "image/jpeg"; Response.Clear(); bmp.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg); bmp.Dispose(); Response.Flush(); Response.End(); } } }
| tieuphu
Thống chế Erich von Manstein 50 bài
| http://coder.awas.vn/downloads.ashx?id=72a215c9ff644b36a4641ff58812e603
code đây thưa bà con! --- Miệt mài, miệt mài ... http://awas.vn
| qqqqq
2 bài
| Thanks nhieu nha !!!!!!!!!!!!!!!!!!!!!!!!
| |
Chủ đề gần đây :
Cùng loại :
Tên file
|
Người đăng
|
Ngày
|
Lượt
|
vspforum.zip
Ma nguon vspforum ngay xua
|
aspnet |
4/18/2023 6:38:37 AM |
8 |
pdfjs.rar
pdfjs 2017 : hiển thị tốt trên iphone 11, 12, 13 không lỗi, bản 2012 sẽ lỗi trên iphone
|
aspnet |
6/21/2022 11:52:48 AM |
2 |
pdfjs2.rar
Xem file pdf bằng viewer.hml cua pdfjs (thư viện chuẩn mozilla) 2012. https://mozilla.github.io/pdf.js/getting_started/#download có thể download bản prebuild tại đây
|
aspnet |
6/21/2022 11:52:04 AM |
2 |
runner.zip
using three.js, orbitcontrol to view an object move random on map. Di chuyển 1 đồ vật ngẫu nhiên trên bản đồ, sử dụng với demo nhân viên di chuyển trong văn phòng. Toàn js download về là chạy
|
aspnet |
12/5/2019 5:55:14 PM |
0 |
gmap.zip
google map + marker
|
aspnet |
7/17/2019 2:25:05 PM |
1 |
vinsmarthomeservice.zip
java post json to api, use AsyncTask, event listener
|
aspnet |
7/9/2019 5:00:10 PM |
1 |
fblogin.zip
Login facebook bang javascript SDK
|
aspnet |
7/9/2019 9:16:37 AM |
0 |
autocomplete-location.zip
autocomplete location geo from google place, html + js
|
aspnet |
7/4/2019 4:37:55 PM |
2 |
WebAPI.zip
api for android access db (v1.0.0)
|
aspnet |
7/4/2019 9:14:17 AM |
8 |
KydientuPdf.zip
Ky dien tu file PDF su dung itextsharp
|
aspnet |
4/9/2019 3:30:37 PM |
9 |
GooglePlusLogin.zip
Login Google Plus account, C#, web asp.net ver2.0. Simple connect google APIs. Send key, get token, get full account info
|
aspnet |
6/1/2018 10:41:12 AM |
11 |
WebApplication1.rar
Sample su dung thuat toan ma hoa tripDES, co khoa bi mat (privateKey)
|
aspnet |
3/30/2018 10:06:35 PM |
8 |
NETMdbToolsTestApp.rar
dotNet MdbTools for Access 2003/2007/2016 without Microsoft Jet Engine, source C#, https://www.codeproject.com/Articles/283626/MsAccess-MdbTools-with-MFC-and-NET
|
aspnet |
3/26/2018 11:43:16 PM |
1 |
Cryptography_MD5_TriDES_src.zip
Thuật toán mã hóa 2 chiều TriDES, gồm Encrypt và Decrypt, aspnet 2.0
|
aspnet |
3/22/2018 11:20:44 AM |
3 |
mvc.rar
sample project MVC on C#
|
aspnet |
3/20/2018 9:25:36 AM |
9 |
EduPortal.rar
Edu portal frame work for VB.NET
|
aspnet |
3/14/2018 12:00:41 AM |
13 |
AutoEntity.rar
Gencode vb.net visual studio 2015. dotnet v2.0
|
aspnet |
3/13/2018 11:59:16 PM |
2 |
GenCode.rar
Gencode XML, XSLT, Info, DAL .. engine enterprise for quick app database
|
aspnet |
2/5/2018 9:37:28 AM |
9 |
DataXml.rar
Read DB from SQL to XML file, Convert string TCVN to Unicode
|
aspnet |
1/29/2018 2:15:45 PM |
4 |
DesktopModules.rar
Module quản lý tin tức, CMS, quản lý nhóm tin trên dotnetnuke 6.x
|
aspnet |
3/7/2013 4:47:49 PM |
1715 |
|