11 Ekim 2014 Cumartesi

Ş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 ?




Hiç yorum yok:

Yorum Gönder