Sayfayı Yazdır | Pencereyi Kapat

QueryStringleri Şifrelemek

Nereden Yazdırıldığı: Datakent
Kategori: Diğer bölümler
Forum Adı: C# & ASP.NET
Forum Tanımlaması: C# ve ASP.NET ile ilgili soru / sorun ve paylaşım bölümü
URL: http://forum.datakent.com/forum_posts.asp?TID=1962
Tarih: 29.Nisan.2024 Saat 16:25


Konu: QueryStringleri Şifrelemek
Mesajı Yazan: turknetyazilim
Konu: QueryStringleri Şifrelemek
Mesaj Tarihi: 26.Temmuz.2010 Saat 10:22
Güvenlik önlemi açısından şöyle bişey yapmak istiyorum.sql enjeksiyonlarına karşı.
QueryStringleri şifrelemek.Yani
http:\\localhost.com\default.aspx?kasjdksjadkasdjakjdkasjd
http://osym.gov.tr/Genel/Default.aspx?F6E10F8892433CFFAAF6AA849816B2EF4376734BED947CDE - http://osym.gov.tr/Genel/Default.aspx?F6E10F8892433CFFAAF6AA849816B2EF4376734BED947CDE
şeklinde bir adres türetmek istiyorum.
Query stringleri aşağıdaki gibi alabiliyorum.Fakat Özellik sadece okunabilir.Değiştirilemiyor.
[aspx]

<html xmlns="http://www.w3.org/1999/xhtml" >

<head runat="server">

<title>Untitled Page</title>

</head>

<body>

<form id="form1" runat="server">

<div>

<asp:HyperLink ID="HyperLink1" runat="server"

NavigateUrl="~/Default.aspx?rid=25&amp;type=x">Gidiyorum</asp:HyperLink>

</div>

</form>

</body>

</html>

[cs]

public partial class _Default : System.Web.UI.Page

{

protected void Page_Load(object sender, EventArgs e)

{

Response.Write(Request.Url.Query.ToString());

}

}

Amacım QueryStringleri şifrelemek yani arkaplanda ne oluyor ne gidiyor.Elemanlar anlamasınBig smile



Cevaplar:
Mesajı Yazan: turknetyazilim
Mesaj Tarihi: 26.Temmuz.2010 Saat 15:57
Yada Request.Url.Query özelliğini yazıbilir nası yapabilirim.Aslında yazılabilir olsa sorun kalmayacak ama...Yazılamaz olduğundan farklı yolları araştırıyorum.

-------------


Mesajı Yazan: h.cetiner
Mesaj Tarihi: 26.Temmuz.2010 Saat 19:45

Request dedigin karşıdan gelen bilgidir.

karşıdan gelen hiçbir bilgiyi değiştiremessin.VB de olsa yapmaz mantıkdışı.
 
ama Response kısmına istedigin şekilde bir metni şifreleyip sonuna ekleyebilirsin.


-------------
tesadüf,şans ve kaos: kurulu sistemlerin insanın denetleyemeyeceği bir düzende işlediklerinde kullanılan terimlerdir.


Mesajı Yazan: h.cetiner
Mesaj Tarihi: 26.Temmuz.2010 Saat 19:46
basit bir örnek
 
 
public string RijndaelSimpleEncrypt(string strOriginal)
        {
            string passPhrase = "rhjki5rw$&^";        // can be any string
            string saltValue = "wd7ytuj#5(";        // can be any string
            //SHA1 is more secure than MD5
            string hashAlgorithm = "SHA1";             // can be "MD5"
            /// Number of iterations used to generate password. One or two iterations
            /// should be enough.
            int passwordIterations = 1;                  // can be any number
            string initVector = "@1B2c3D4e5F6g7H8"; // must be 16 bytes
            int keySize = 128;                // can be 192 or 128
            return RijndaelSimple.Encrypt(strOriginal,
                                                        passPhrase,
                                                        saltValue,
                                                        hashAlgorithm,
                                                        passwordIterations,
                                                        initVector,
                                                        keySize);
        }
        public string RijndaelSimpleDecrypt(string strEncrypted)
        {
            string passPhrase = "rhjki5rw$&^";        // can be any string
            string saltValue = "wd7ytuj#5(";        // can be any string
            //SHA1 is more secure than MD5
            string hashAlgorithm = "SHA1";             // can be "MD5"
            /// Number of iterations used to generate password. One or two iterations
            /// should be enough.
            int passwordIterations = 1;                  // can be any number
            string initVector = "@1B2c3D4e5F6g7H8"; // must be 16 bytes
            int keySize = 128;                // can be 192 or 128
            return RijndaelSimple.Decrypt(strEncrypted,
                                                        passPhrase,
                                                        saltValue,
                                                        hashAlgorithm,
                                                        passwordIterations,
                                                        initVector,
                                                        keySize);
        }


-------------
tesadüf,şans ve kaos: kurulu sistemlerin insanın denetleyemeyeceği bir düzende işlediklerinde kullanılan terimlerdir.


Mesajı Yazan: turknetyazilim
Mesaj Tarihi: 27.Temmuz.2010 Saat 09:55
Orjinalini yazan: h.cetiner

Request dedigin karşıdan gelen bilgidir.

karşıdan gelen hiçbir bilgiyi değiştiremessin.VB de olsa yapmaz mantıkdışı.
 
ama Response kısmına istedigin şekilde bir metni şifreleyip sonuna ekleyebilirsin.
Hocam bilgi için teşekkürler.Galiba ben derdimi anlatamadım.Sorun bende.
Şimdi bir örnek yapıcam.Bakalım Olacak mı?Şifreleme için de Teşekkürler


-------------


Mesajı Yazan: turknetyazilim
Mesaj Tarihi: 27.Temmuz.2010 Saat 11:56
Hocam Bir Örnek Hazırladım.Tam istediğim gibi oldu.Yanlız. Bir sorun var.Bu sorunu da çözdükmüydü tamamdır.
Hocam dosyayı indirip bir incelermisiniz kodları:
http://www.dosyaupload.net/478GuvenlikUygulama.rar - http://www.dosyaupload.net/478GuvenlikUygulama.rar
QueryStringleri şifreliyor.Lakin Şifreyi çözemiyor. :)
Geçersiz karekter diye bir hata veriyor.Bunuda çözdükmü tamamdır.Gerisi Global.asax dosyasında
Asıl Sayfayı Context.Rewrite... ile yazdırmak oda kolay...
 
 


-------------



Sayfayı Yazdır | Pencereyi Kapat