Şifre birkaç kez yanlış girildikten sonra Captcha çıkarmak

Login formunda spam-botları engellemek için captcha kullanımı daha önce görmüştük. reCaptcha kullanımı linkine tıklayarak ilgili makaleye göz gezdirebilirsiniz. Şimdi de kullanıcı şifresi üç kere yanlış girildikten sonra captca doğrulmasının kullanılmasını görelim.

<%@ Page Language=”C#” AutoEventWireup=”true” CodeFile=”Default.aspx.cs” Inherits=”_Default” %>

<!DOCTYPE html>
<html xmlns=”http://www.w3.org/1999/xhtml”>
<head runat=”server”>
    <title></title>
</head>
<body>
    <form id=”form1″ runat=”server”>
    <div>
        <asp:TextBox ID=”TextBox1″ runat=”server”></asp:TextBox>
        <asp:Label ID=”Label1″ runat=”server” Text=”Label”></asp:Label>
    </div>
        <asp:TextBox ID=”TextBox2″ runat=”server”></asp:TextBox>
        <asp:Button ID=”Button1″ runat=”server” OnClick=”Button1_Click” Text=”Button” />
    </form>
</body>
</html>

Code Behined

using System;
public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        lblResult.Visible = false;
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        int c=1;
        if (TextBox1.Text == “sharad” && TextBox2.Text == “gupta”)
        {
            Response.Redirect(“a.aspx”);
        }
        else
        {
            lblResult.Visible = true;
            lblResult.Text = “Kullanıcı adı veya şifre hatalı”;
            Session[“counter”] = Convert.ToInt32(Session[“counter”] )+ c;
            if (Convert.ToInt32(Session[“counter”]) > 5)
            {
RecaptchaControl1.Visible = true;
RecaptchaControl1.Validate();
if (RecaptchaControl1.IsValid)
{
lblResult.Text = “OKEY”; return;
}

else
return;

            }
        }
    }
}
Biz burada değerimizi Session ile sakladık. Dilerseniz alternatif yöntemleri kullanabilirsiniz. Aşağıdaki linkte viewstate kullanımı bu alternatiflere bir örnektir.

POSTBACK ESNASINDA DEĞERLER NASIL SAKLANIR ? VİEWSTATE NEDİR ?

Muavenet

Web teknolojilerine merak salmış bir bilgisayar mühendisinin yazıları

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir