Giriş
VB.NET
CSharp.NET
SQL Server
Dokümanlar
Örnek Çalışmalar
Sorun Çözücü
25 Puan   Base 64 Yönetimini Kullanarak Basit Bir Şekilde Cookie Şifreleme Yöntemi
Caner ARAS 10 Haziran 2008 Salı 21:49
VB.NET
  Toplam (0) yorum yapıldı

Cookie kullanımı hemen hemen her üyelik sisteminde kullanımaktadır, Cookielerde güvenlik konusunu daha sonra ele alacağız ama şimdilik %100 güvenli olmayan ancak iş görecek bir Cookie şifreleme tekniğinden bahsedeceğim. Öncelikle sayfamıza 2 adet textbox ve 1 er adet Button ve Label ekleyin,


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;

using System.IO;

using System.Xml;

using System.Text;

using System.Security.Cryptography; // Ekliyoruz,
using System.Data.OleDb;


Sayfamız yüklenirken Cookie' yi kontrol edecek, eğer varsa Kontrol için kontrole gidecek yok ise Label da hata yazacak.

    protected void Page_Load(object sender, EventArgs e)

    {

        if (!Page.IsPostBack)

        {

            if (Convert.ToString(Request.Cookies["benimCerezim"]) != "")

            {

                Kontrol();

            }

 

            else

            {

                Label1.Text = "Lütfen kullanıcı adı ve şifrenizi yazınız";

            }

        }

    }


Burada Base64 teknolojisi ile Encode ve Decode ediyoruz.

    static public string EncodeTo64(string toEncode) // Encode 

   
{

        byte[] toEncodeAsBytes = System.Text.ASCIIEncoding.ASCII.GetBytes(toEncode);

        string returnValue = System.Convert.ToBase64String(toEncodeAsBytes);

        return returnValue;

    }

 

    static public string DecodeFrom64(string encodedData) // Decode

   
{

        byte[] encodedDataAsBytes = System.Convert.FromBase64String(encodedData);

        string returnValue = System.Text.ASCIIEncoding.ASCII.GetString(encodedDataAsBytes);

        return returnValue;

    }



Button' un click olayın aşağıdaki kodları yazınız, burada gelen değer encode ediliyor ve benimCerezim olarak çereze atılıyor,

    protected void Button1_Click(object sender, EventArgs e)

    {

        HttpCookie myCookie = new HttpCookie("benimCerezim");

        myCookie["login"] = EncodeTo64(TextBox1.Text); //Gelen değeri Encode ediyoruz

        myCookie["pass"] = EncodeTo64(TextBox2.Text);  //Gelen değeri Encode ediyoruz

        myCookie.Expires = DateTime.Now.AddDays(1);    //Çerez 1 gün sonra silinecek 

        Response.Cookies.Add(myCookie);

        Kontrol();

        //Kontrol ediyoruz 
   
}


Burada ise kullanıcı adı ve şifremiz kontrol ediliyor ama önce benimCerezim koleksiyonundaki user ve pass alınıp Decode edilerek Datada sorgu yapılıyor, eğer varsa Label' de bilgiler yazıyor, yoksa Hata veriliyor.


    public void Kontrol()

    {

        HttpCookie myCookie = Request.Cookies["benimCerezim"];

 

        OleDbConnection cnn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("~/App_Data/vt1.mdb"));

 

 

        OleDbDataReader Okuyucu;

        OleDbCommand SorguSQL = new OleDbCommand("Select * from Uyeler where kullanici=@kullanici AND sifre=@sifre", cnn);

 

        SorguSQL.Parameters.Add("@kullanici", OleDbType.VarChar).Value = DecodeFrom64(myCookie["login"]);  //Gelen değeri Decode ediyoruz,



       
SorguSQL.Parameters.Add("@sifre", OleDbType.VarChar).Value = DecodeFrom64(myCookie["pass"]);   //Gelen değeri Decode ediyoruz,

 

        //bağlantı durumu, kapalı ise aç,

 

        if (cnn.State == ConnectionState.Closed)

        {

            cnn.Open();

        }

 

        //okumaya başla

 

        Okuyucu = SorguSQL.ExecuteReader();

 

        //eğer varsa oku

 

        if (Okuyucu.Read())

        {

 

            Label1.Text = "Hoşgeldiniz " + Okuyucu["adi"].ToString().ToUpper() + ";

        }

 

        else

        {

 

            Label1.Text = "Hata";

        }

 

    }



Kolay gelsin,



Bu makaleyi değerlendirerek üst sıralara taşıyabilirsiniz




Makale Yorumları Yazar Hakkında
aspxnedir.com | ASP.NET | microsoft.com
Bu sitede yayımlanan her türlü yazı makale ve/veya haberin kaynağı mutlaka bildirilmektedir, buradan kopyalanan yazı makale ve/veya haberin kullanım sorumluluğu yazara aittir
net@aspxnedir.com
Caner ARAS | 2005-2008

eXTReMe Tracker