screwturn-4/WebApplication/Captcha.ascx.cs
2009-09-30 13:47:13 +00:00

50 lines
1.4 KiB
C#

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
namespace ScrewTurn.Wiki {
public partial class Captcha : UserControl {
protected void Page_Load(object sender, EventArgs e) {
if(!Page.IsPostBack) {
rfvCaptcha.ErrorMessage = Properties.Messages.RequiredField;
rfvCaptcha.ToolTip = Properties.Messages.RequiredField;
cvCaptcha.ErrorMessage = Properties.Messages.WrongControlText;
cvCaptcha.ToolTip = Properties.Messages.WrongControlText;
}
if(!Page.IsPostBack) {
// Generate captcha string
Random r = new Random();
string c = "";
c += (char)r.Next(49, 58); // 1 - 9 (not 0)
c += (char)r.Next(65, 79); // A - N (not O)
c += (char)r.Next(97, 111); // a - n (not o)
c += (char)r.Next(49, 58); // 1 - 9 (not 0)
c += (char)r.Next(80, 91); // P - Z
c += (char)r.Next(112, 123); // p - z
Session["__Captcha"] = c;
}
}
protected void cvCaptcha_ServerValidate(object source, ServerValidateEventArgs args) {
if(!Settings.DisableCaptchaControl) {
args.IsValid = txtCaptcha.Text == (string)Session["__Captcha"];
}
else {
args.IsValid = true;
}
}
}
}