Ana Sayfa Sık Kullanılanlara Ekle Dokümanlar Sorun Giderici RSS Kaynağı İletişim
 
 

Gezinme
Giriş
C #
VB.NET
SQL Server
ASP
PHP
AJAX
Hazır Scriptler yeni
  C #
Base 64 Yönetimini Kullanarak Basit Bir Şekilde Cookie Şifreleme Yöntemi

Cookie' lerini Base64 ile basit bir şekilde şifrelemeye yarayan güzel bir uygulama.
Caner ARAS
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,

Yorumlar
Adınız
Emailiniz
Yorumunuz
Yorumlar periyodik olarak kontrol edilip onlaylanmaktadır.

aspxnedir.com
Bu sitenin asp.net ile ilgisi yoktur.
Yanlız değilsiniz, burada 210 kişi daha var.