使用ASP.net Netframework 4.0制作图像验证码安全问题的最佳,最有效和最简单的方法是什么
答案 0 :(得分:1)
如果你不这样做,不要重新发明轮子。
使用recaptcha。
以下是如何在.Net中执行此操作:
答案 1 :(得分:0)
我想你问的是如何让我自己的asp.net不使用外部。这是我用的,非常有效
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Drawing;
public partial class AntiSecuirtyImageDrawPage : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
this.returnNumer();
}
private void returnNumer()
{
Random num1 = new Random();
Random num2 = new Random();
int numQ1 = 0;
int numQ2 = 0;
string QString = null;
numQ1 = num1.Next(1, 90);
numQ2 = num1.Next(1, 9);
QString = numQ1.ToString() + " + " + numQ2.ToString() + " = ";
Session["ABQAnswer"] = numQ1 + numQ2;
Bitmap bitmap = new Bitmap(num1.Next(70, 125), 22);
Graphics Grfx = Graphics.FromImage(bitmap);
Font font = new Font("Arial", 17, FontStyle.Bold, GraphicsUnit.Pixel);
Rectangle Rect = new Rectangle(0, 0, 125, 50);
Grfx.FillRectangle(Brushes.DarkBlue, Rect);
Grfx.DrawRectangle(Pens.PeachPuff, Rect);
// Border
Grfx.DrawString(QString, font, Brushes.White, 0, 0);
Response.ContentType = "Image/jpeg";
bitmap.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg);
bitmap.Dispose();
Grfx.Dispose();
}
}
我怎么称呼它
<div id="ABQImg" style="position: absolute; left: 420px; top: 235px; width: 125px;
z-index: 44; height: 22px; line-height: 22px; text-align: right;">
<asp:Image ID="imgABQ" BorderWidth="0px" runat="server" ImageUrl="~/AntiSecuirtyImageDrawPage.aspx" />
</div>