güzel dküman elien sağlık "Derviş Yunus bu szü eğri büğrü syleme, Seni sorguya çeker bir Molla Kasım gelir."

pesimistzombieyorumun için teşekkürler. tabi ki hocam yazdıklarım başlangıç düzeyinde kullanıcılar için. aslında performans ve güvenlik konusunda sıkı bi dküman olsa hiç fena olmaz.

kısa ele almışsın performans ve güvenlik ayrı ayrı geniş kapsamlı ele alınmalıdır ancak dediğin gibi yeni başlayanlar için güzel dküman olmuş eline sağlık. Asp ve performans üzerine sağlam Türkçe kaynak yok ne yazıkki. Güvenlik olarak da her yerde replace yntemleri anlatılmış.. isnull, isnumeric request. form, request. querysting nerelerde nasıl kullanılmalıdır, replacenin işe yaraması için nelere dikkat edilmelidir, bunlar performansa nasıl etki eder performans için sadece sql cümleleri yeterlimidir if else yerine nerelerde select case kullanırsak performans yükselir vs.. geniş bi zamanda geniş bir dküman hazırlayalım bence aspyi yaşatmak yeni nesillere aktarmak lazım :d :|

teşekkürler pesimistzombie nin dediği gibi geniç kapsamlı bi dküman güzel olur

Herşeyde olduğu gibi kullandığımız şeylerin güvenliği tam olmalıdır. Nasıl evimize hırsızın girmemesi için alarm taktırıyorsak veya bünyemizde çalışan bir işçinin performansına gre ücret veriyorsak asp dilinde güvenlik ve performans bu denli nemlidir. Bu güzel rnekten sonra asıl meseleye geçelim. :) Bildiğiniz gibi asp sunucu taraflı bir dildir. Bu yüzden diğer sunucu taraflı diller gibi bir takım güvenlik açıklarını manuel olarak kapatmamız gerekiyor. Güvenlik veya açık dediğimizde 10 yaşındaki çocuğun bile bildiği or açığı geliyor aklımıza. Bu açıkla daha çok üyelik sistemlerinde, string ile veri sorgularken karşılaşıyoruz. Form ile gnderilen verileri temizlemek için en uygun yntem replace yani süzme yntemidir. Formlardan veri gnderirken daha çok tırnak işareti ve bilindik sql deyimleri yazılır. Hemen bir rnek gstereyim : Function Temizle data = Replace (data, "select","",1,-1,1)data = Replace (data, "insert","",1,-1,1)data = Replace (data, "update","",1,-1,1) data = Replace (data, "delete","",1,-1,1)Temizle = DataEnd Function Kullanım : isim = Temizle(Request. Form Gibi klasik sql deyimlerini temizleyebiliriz. Bir diğer açık QueryString ile gnderilen verilerde karşımıza çıkıyor. Gnderilen değer bir id numarası veya bir text olması gerekirken, saldıran kişi oraya sql cümleleri yazarak veritabanımızda çeşitli işlemler yapabiliyor. QueryString ile gelen veriyi işlediğimiz sayfanın başına eklememiz gereken kod aşağıdaki gibidir : ID = Trim(Request. QueryString if (not isnumeric then Response. Write "Hatalı bir ID numarası girdiniz." Response. End End if Gibi bir deyim yazmanız bu saldırıyıda bertaraf etmenize olanak sağlayacaktır. Gelelim yazının bir diğer konusu olan performans konusuna. Scriptlerde performansı sağlamanın çeşit çeşit yolu vardır. Bu yollar kullandığınız sisteme gre değişir. Ama bu yazıda başlıca ufak performans kayıplarını nlemenin yollarını anlatıcam. Asp yi ilk ğrendiğimiz zamanlarda sıkça kullandığımız olan nesne Recordset ilerki zamanlarında bize ciddi performans kayıpları yaşatacaktır. Bu yüzden Recordset yerine Execute metodunu kullanmalıyız. Bu metodu veya Recordset i kullanırken dikkat etmemiz gereken bir noktada şu ki Select diye başladığımız sql cümlelerinde gereğinden fazla alanın seçilmesi ciddi performans kayıplarına neden olacaktır. Hemen bir rnek vereyim : Set JDSQL = Server. CreateObject sql="Select from uyeler" JDSQL. Open sql, Conn,1,3 Yerine Set JDSQL = BaglantiDegiskeni. Execute Gibi bir sql cümlesi yazmamız gerekiyor. Peki bu açtığımız bağlantılar nereye gidiyor? Biz kapatana kadar açık kalıyor ve sistemin gereksiz yere yavaşlamasına neden oluyor. O yüzden sayfanın sonunda veya işlemlerin bittiği yerde açtığımız bağlantıları birer birer kapatmalıyız. Oda şyle ki : JDSQL. Close Set JDSQL = Nothing Asp programlama dilinde güvenlik ve performans konusunda başlangıç olarak bu kadar bilgi herkese yeter. İleri derecede performans kayıplarını nlemek için yapmanız gerekenleri zaten zamanla ğrenirsiniz. Yazıyı okuduğunuz için teşekkürler :) not : daha yeni kendi sitemde yazdım. taze taze hayrını grün. kodlarda veya herhangi bir yerde yazım yanlışı olabilir bunun için kusura bakmayın.