Çoğumuz yazdığımız ASP kodlarını yetkisiz kişilerden saklamak isteriz. Özellikle bir sistem üzerinde oldukça yoğun bir çalışma yaptıktan sonra ortaya çıkardığımız eserin kodlarının başkaları tarafından kullanılmasını engellemek için çeşitli güvenlik önlemleri almak isteriz. Bu yazıda güvenlik önlemlerine ek olarak elimden geldiğince ASP dosyalarımızı DLL olarak kaydetmeyi ve kodlarımızı gizlemeyi anlatmaya çalışacağım.
Kodlarımızı DLL haline getirmek için elimizde iki şeyin olması kâfi. Birincisi bir metin editörü (notepad bile yeter) ikincisi ise Visual Basic 6.0. Malzemelerimiz hazırsa tarifimize geçelim. Öncelikle basit bir ASP sayfası oluşturalım. Benim örneğim altta, siz kafanıza göre birşeyler karalayabilirsiniz.
Bu sayfamıza herhangi bir isim vererek şimdilik bir kenara kaydedelim. Bu haliyle kullanmayacağız ama yine de baştan hazırlayalım dedim. Şimdi Visual Basic programımızı DLL oluşturacak şekilde açalım. Bunun için izlememiz gereken yol şöyle:
Projemize bu şekilde ASP desteğini eklemiş olduk. Şimdi sıra geldi kodlarımızı kişiselleştirmeye. Bu aşamada istersek kodları kendi dilimize bile çevirebiliriz. (Ben biraz denedim ama sanırım pek uymadı :))
Kodlarımızı yazdıktan sonra projemize ve sınıfımıza birer isim verelim. Bu kısım önemlidir çünkü örnek sayfamızı çalıştırdığımızda oluşturduğumuz bu DLL dosyasını kullanabilmek için nesne oluştururken bu isimler kullanılır (ProjeAdı.SınıfAdı). Bu yazımda ben proje adımı "ASPden", sınıf adımı ise "DLLye" olarak belirledim. Bunların ne olacağı tamamen size kalmış. Önce projemize bir isim verelim ve tekrar Project menüsüne dönelim ve Project1 Properties menüsüne tıklayalım. (Eğer buraya gelmeden önce projenizin ismini değiştirdiyseniz sorun yok ama buna rağmen tekrar değiştirmek isterseniz bu menü "ProjenizinAdı Properties" olarak görünür.)
Açılan pencereden Project Name kutucuğuna istediğimiz ismi yazıyoruz (Ben ASPden demiştim.) ve Tamam'a tıklıyoruz. Projemizin artık bir adı var. Şimdi sıra sınıfımızı adlandırmaya geldi. Bunun için çalışma sayfamıza geri dönüyoruz ve sağ tarafta Properties - Class1 başlıklı pencereyi buluyoruz. (Eğer buraya gelmeden de sınıfınızın ismini değiştirdiyseniz ve yine de değiştirmek isterseniz bu pencerenin başlığı Properties - Sınıfınızın Adı olarak görünecektir.) Eğer bu pencereyi göremiyorsanız View menüsünden Properties Window seçeneğini tıklayın veya direkt olarak F4 tuşuna basın. Bu pencerede görüntülenen özelliklerden Name yazanın karşısına tıklayıp istediğimiz ismi yazalım. (Ben DLLye yazmıştım.) DLL dosyamız kısmen bitti ama işin en civcivli kısmına geldik: DLL dosyamıza kendi ASP kodlarımızı ekleyeceğiz.
Bunun için yazının başında hazırladığımız ASP dosyamızı açalım. Bir iki ufak değişiklikten sonra bu kodları az önce oluşturduğumuz kodlarla birleştirerek işlemimizi tamamlayacağız. Yukarıdaki kodlarda ASP'nin Response nesnesinin adını ben Cevap olarak değiştirmiştim. Bu nedenle ilk oluşturduğumuz ASP dosyamızdaki Response yazan yerleri Cevap olarak değiştireceğiz ve Deneme isimli bir fonksiyona ekleyeceğiz:
Son olarak kafalar karışmadan tüm kodları birleştirerek pişirmek için fırına verelim:
Kodlama kısmı bittiğine göre artık DLL dosyamızı oluşturabiliriz. Bunun için File menüsünden Make ASPden.dll menüsünü tıklıyoruz. (Eğer projemizi farklı isimlendirdiysek bu menü Make Proje Adı.dll olarak görünecektir.) Ben kolaylık olsun diye projemi direkt olarak C: dizininin altında oluşturdum. Kaydedilen DLL dosyasının isminin hiçbir önemi olmadığı için istediğiniz ismi vererek projenizi derleyebilirsiniz (Yine ben Sniper adıyla derledim :) ). DLL dosyamızı oluşturduğumuza göre bunu sistemimize tanıtmanın zamanı geldi. Başlat menüsünden Çalıştır'ı seçiyoruz ve açılan pencereye regsvr32 C:\Sniper.dll yazıp Enter tuşuna basıyoruz. Eğer karşımıza "DllRegisterServer / C:\Sniper.dll başarıyla gerçekleştirildi." mesajı gelmediyse bir yerlerde hata yapmış olasılığımız üzerine yazıyı en baştan tekrar okuyoruz. (İnşallah yazım hatası yapmamışımdır da sürekli aynı yeri okumak zorunda kalmazsınız :P )
Tüm işlemlerimizi tamamladık. Artık derlediğimiz dosyamızı deneyelim değil mi? Eğer yukarıdaki kodları aynen kullandıysanız aşağıdakini de aynen kopyalayıp C:\inetpub\wwwroot klasörüne "asp2dll.asp" ismiyle kaydedin ve sonucu görmek için browser'ınızın adres kısmına http://localhost/asp2dll.asp yazın:
Eğer aşağıdaki görüntüyü aldıysanız kendinizi kutlayın :)

Herhangi bir problemle karşılaştığınızda bana ulaşmak için tkinali@mynet.com adresini kullanabilirsiniz...