![]() |
| |||||||
| Kayıt ol | Forum Kuralları | Yardım | Üye Listesi | Takvim | Arama | Bugünün Mesajları | Forumları Okundu Kabul Et |
| Duyurular |
![]() |
| | LinkBack | Konu Seçenekleri | Gösterim Modu |
| ||||
| Ce: Asp Nedir ve Temel Dersler Metin Dosyası Oluşturma (CreateTextFile) Aslında biraz önce, ASP nesnelerinin neler yapabileceğine örnek olarak yazıp [Sadece kayıtlı Üyelerimiz Linkleri görebilir. ] adıyla kaydettiğimiz program, bir metin dosyasını yazdırma işlemiydi. Oradaki kodlara yeniden göz atarsanız, CreateTextFile (metin dosyası oluştur) metodunu yardıma çağırıyor ve bu metoda argüman olarak yeni metin dosyasının yolunu ve adını veriyorduk. Bu metod TextStream nesnesinindir; ve otomatik olarak bu nesnenin diğer metodlarını kullanmamızı sağlar. kullandığımız metodlar ise WriteLine (satır yaz: bir String'i sonuna yeni satır karakteri koyarak dosyaya yazar) ve Close (kapat: açılan metin dosyasını kapatır). TextStream'in burada kullandığımız ikisinin dışında iki metodu daha vardır: Write (yaz): Bir String'i dosyaya yazdırır; satır sonuna yeni batır karakteri (Return kodu) koymaz. WriteBlankLines (boş satır yaz): Bir metin dosyasına argüman olarak vereceğiniz sayıda boş satır yazdırır.
__________________ ATE$LE YAKLA$MAYIN! TEHLİKELİ!!! |
| ||||
| Ce: Asp Nedir ve Temel Dersler Varolan Metin Dosyasına Ek Yapma (OpenTextFile) Metin yazdırma işlerinde sık sık uygulayacağımız bir senaryo, mevcut bir metin dosyasına ek yapmak olacaktır. Örneğin bütün ziyaretçilerimizin sitemizdeki konuk defterine yazdıklarını, bir metin dosyasında toplamak isteyebiliriz. Bunu OpenTextFile metodu ile yapacağız. Bu metod, tahmin edeceğiniz gibi, açılacak dosyanın yolunu ve adını isteyecektir. Örneğin, dosya_yaz.asp'nin ilgili satırı şöyle olacak: Kod: Set yaz = YaziFSO.OpenTextFile("c:\yazi_deneme.txt",8,0) Burada dosya yolunu ve adını veren birinci argümana ek olarak iki yeni argüman görüyorsunuz: "8,0" şeklinde. Bunlardan birinicisi girdi/çıktı durumu (I/O Mode), ikincisi ise biçim (Format) ile ilgilidir. I/O Mode parametreleri şunlardır: 1: okumak için aç 8: eklemek için açAçılacak dosyanın biçimini belirttiğimiz son argüman ise şu değerlerden birini alabilir: 0: ASCII dosyası olarak aç -1: Unicode dosyası olarak aç (Örneğin içinde Türkçe karakterler varsa) -2: Sistemin varsayılan dosya türü olarak açBuna göre, bir dosyayı salt okumak için açmak amacıyla "1,0" argümanlarını kullanmamız gerekir. Diyelim ki bir dosyayı açtık. İçindekileri nasıl okuyabiliriz? Bir döngüyle. İşte örneği: Kod: <% Option Explicit %><HTML><HEAD><TITLE>ASP ILE DOSYADAN METİN OKUMA</TITLE><META http-equiv="content-type" content="text/html; charset=ISO-8859-9"><META http-equiv="Content-Type" content="text/html; charset=windows-1254"></HEAD><BODY><%Dim DosyaSistemi, MetinDosyasi, SatirSet DosyaSistemi = CreateObject("Scripting.FileSystemObject")Set MetinDosyasi = DosyaSistemi.OpenTextFile("c:\yazi_deneme.txt",1, 0)DoSatir = MetinDosyasi.ReadLine%><%=Satir%><%Loop Until MetinDosyasi.AtEndOfStreamMetinDosyasi.Close%></BODY></HTML> Burada kullandığımız metod dikkatinizi çekmiş olmalı: ReadLine. Bu, açılan metin dosyasından bir satır okutmamızı sağlar. İkinci ve son satırları okutmamızı ise Do..Loop kontrolü sağlıyor. Bu döngü ne kadar sürüyor? MetinDosyası nesnesi, AtEndOfStream (akımın sonunda) oluncaya kadar. Bu, dosyanın sonuna geldiğimiz anda ortaya çıkan bir durum; bu durumla karşılaştığı anda Do..Loop, yaptığı işi durdurup, bir sonraki komuta geçecektir. Burada kullandığımız ReadLine metoduna ek olarak yararlanabileceğimiz diğer metodlar ise şunlardır: Read (oku): Bir sayı örgümanı ile çalışır ve verdiğiniz sayı kadar karakter okur. ReadLine (satır oku): Bir satır okur ve String olarak verir. ReadAll (tümünü oku): Bütün satırları okur ve tek String olarak verir. Skip (atla): Bir sayı argümanı ile çalışır ve verdiğiniz sayı kadar karakteri atlar. SkipLine (satır atla): Bir sonraki satıra atlar. Bu metodlarla sağladığımız okuma işinin kontrolü amacıyla şu özellikleri de kullanabiliriz: AtEndOfStream (akımın sonunda): Okutulan dosyanın sonuna gelinmesi halinde True (doğru) olur. AtEndOfLine (satırın sonunda): Okutulan satırın sonuna gelinmesi halinde True (doğru) olur.
__________________ ATE$LE YAKLA$MAYIN! TEHLİKELİ!!! |
| ||||
| Ce: Asp Nedir ve Temel Dersler Sunucu (Server) Nesneleri Buraya kadar ele aldığımız nesneler bir anlamda bizim sadece tek tek sayfalarda yararlanacağımız araçları sağlıyor. Oysa ASP'yi diğer CGI teknolojilerinden ayıran başlıca özelliklerden biri tek tek Web sayfalarını sanki bir bilgisayar programının çeşitli pencereleri, diyalog kutuları, mesaj kutuları, girdi kutuları gibi, birarada bir "uygulama programı" olarak bağlayabilmesidir. Başka bir deyişle bize, ziyaretçinin sitemize bağlandığı ve ana sayfamızı açtığı andan itibaren sitemizin bir program bütünlüğünde çalışmasını sağlayacak araçlar gerekir. Bunu ancak Web Server'ın yardımıyla yapabiliriz. ASP sayfalarımızda kullanacağımız ikinci grup nesne, Sunucu Nesneleri'dir. Bu grupta tabiî önce Sunucu'nun kendisi yer alır; sonra ziyaretçi ile kurduğumuz ilişki gelir. Ziyaretçi ile ilişkimizi iki yönlü trafiğe benzetebilirsiniz: ondan bize gelen talepler, bizim ona karşılıklarımız. Ziyaretçiden bize gelen trafiğe neden "Talep" diyoruz? Ziyaretçi, Browser'ının URL hanesine yazdığı her adresle, veya formlardaki bir düğmeyi veya sayfalarımızdaki herhangi bir köprüyü tıklamakla, Server'a "Bana şunu göndersene!" demiş olur. Bu taleptir. Ziyaretçi taleplerinin tümü Talep Nesnesi (Request Object) olarak bir arada ele alınabilir. Server'ın bu taleplere verdiği karşılıklar, yani ziyaretçinin Browser'ına gönderdiği sayfalar, resimler, sesler, videolar ise karşılıktır ve ASP açısından Karşılık Nesnesi'ni (Response Object) oluşturur. Bu bölümde bu nesneleri daha yakından tanıyacağız.
__________________ ATE$LE YAKLA$MAYIN! TEHLİKELİ!!! |
| ||||
| Ce: Asp Nedir ve Temel Dersler Server Nesnesi Web Server, ASP için bir nesnedir, ASP'nin bir çok işini bu nesnenin özellikleri ve metodları halleder. Server nesnesinin bir özelliği (ScriptTimeout) ve dört metodu (CreateObject, HTMLEncode, URLEncode, MapPath) vardır. Web Server çalıştığı bilgisayarın sizin siteniz adına yönetiminden sorumludur; dolayısıyla bu kadar az özellik ve metodu var diye bu nesneden çok yararlanmayacağımızı sanmayın. ActiveX ve COM bileşenlerini çalıştırmak Server'ın görevidir. ScriptTimeout Özelliği: Diyelim ki bir ASP Script'i ya bizim, ya ziyaretçinin, ya da Server'ın bir hatası üzünden sonsuz döngüye girdi! Döngünün durması için gerekli şart asla yerine gelmiyor ve Script bir türlü yapacağı işi yapıp, sonlandırmıyor. Bu durumlarda ziyaretçinin ve tabiî Server'ın sonsuza kadar beklemesi mümkün değil! Programın bir şekilde durdurulması gerekir. Bunu hemen hemen bütün Web server programlarının Script Timeout (Script süre sınırı) diyalog kutusuna bir değer girilerek yapılır. Öreğin MS-Internet Information Server için varsayılan Script Timeout süresi 90 saniyedir. Yani ISS, herhangi bir Script'in çalışıp-durmasını 90 saniye bekler; bu sürenin sonunda Script'in çalışması tamamlanmazsa ziyaretçiye arzu ettiği sayfanın veya unsurun bulunamadığını bildirir. Bu süreyi (Server'ın varsayılan değerinin altında) kısaltmak değilse bile uzatmak elimizdedir. Bunu ScriptTimeout özelliğini kullanarak yaparız. ASP sayfasının herhangi bir yerine örneğin şu kodu koymak yeter: Kod: <% Server.ScriptTimeout = 100 %> Bu örneğe göre Server'ın varsayılan Script Timeout süresi 90 saniye ise 100 saniyeye çıkmış olur. Böyle bir şeyi neden yapmak isteyebiliriz? Script'iniz çok karmaşık veya başka bir Server'daki veritabanından veri çekiyor, olabilir. Gerçi bu anlamda 90 saniye bilgisayar milleti için bir asır anlamına gelir, ama yine de durdurulmasaydı işini başarıyla tamamlayacak bir Script, bu sürenin kısalığı yüzünden Server tarafından durdurulabilir. ASP sayfalarınız çok karmaşıksa ve sürekli Timeout hatası veriyorsa, hata aramadan önce bu süreyi uzatabilirsiniz. CreateObject Metodu: İlk ASP kodunu yazdığımız andan beri bu metodu kullandığımızı görüyorsunuz. CreateObject (nesne oluştur) olmasa idi, dört mevsim birbirini izleyebilir, Dünya Güneş'in etrafında dönebilir miydi? Hiç sanmam. Fakat lütfen o CreateObject ile bu CreateObject'i birbirine karıştırmayın. Yukarıda kullandıklarımız Scripting nesnesinin bir metodu idi; bu Server nesnesine aittir. Diyelim ki sayfanızda reklam amaçlı banner grafiklerini belirli zaman aralığı ile veya ziyaretçiye gönderdiğiniz Cookie (çerez) bilgilerine göre değiştirmek istiyorsunuz. Bunun için diyelim ki MS-Web Server Programının AdRotator bileşininden yararlanacaksınız; şöyle bir kod işinizi görebilir: Kod: <% Set Reklam = Server.CreateObject ("MSWS.AdRotator")%><%= Reklam.GetAdvertisement("/reklamlar/buyukbanka.txt")%> Burada GetAdvertisement, Server'ın AdRotator bileşininin bir metodudur. Server'ın CreateObject metodundan, veritabanına ulaşırken de yararlanacağız. MapPath (Yolu belirle) Metodu: Web Server açısından "kök dizin" (root directory) Server'ın bulunduğu bilgisayarın sabit diskinde, herhangi bir klasör olabilir. Örneğin IIS için bu varsayılan değer olarak "C:\inetbup\wwwroot" klasörüdür. Özellikle ASP ile "program niteliğinde siteler" yapmaya başladığımızda, sitenin ilgili bütün dosyalarının bulunduğu bir dizin için yol belirlemek isteyebiliriz. Bunu Server nesnesinin MapPath (Yolu belirle) metodu ile yapabiliriz: Kod: WebDizini = Server.MapPath("/benim_site") Bu komutla WebDizini değişkenin değeri muhtemelen şöyle olacaktır: "C:\inetbup\wwwroot\benim_site\" Fakat bu metodun sadece böyle duragan biçimde kullanılması gerekmez; bazen sayfalarımızda ziyaretçi ile etkileşmenin sonucu olarak varsayılan Web dizinimizi değiştirmek isteyebiliriz. Sözgelimi biri Türkçe, diğeri İngilizce iki sitemiz varsa, ve ana sayfamızda ziyaretçi Türkçe'yi seçtiyse, o noktadan itibaren Web uygulamamız için Web kök-dizini, "/turkish/" olacak ve mesela resimlerimiz için verdiğimiz "/resimler/" dizini kök dizinde değil, "/turkish/resimler/" klasöründe aranacaktır. Web yolunu dinamik olarak, yani ziyaretçinin tercihine bağlı şekilde değiştirebilmek için, önce ziyaretçiden gelecek bilgileri nasıl kullanacağımıza, yani Request (talep) nesnesine değinmemiz gerekir. HTMLEncode, URLEncode: İçinde HTML açısından kod parçası veya özel işaret sayılan karakterler bulunan metinleri sayfamıza içerik olarak göndereceğimiz zaman Server'ın işaretleri aynen metin gibi göndermesini sağlamak için, örneğin: Kod: Server.HTMLEncode("Değisken1 < Değisken2") yazarsak, ASP bu metni HTML kodu olarak yorumlamaz, metin olarak algılar. Internet'te bazen özellikle sayfa adresleri belirtilirken bazı değerlerin "URL Kodu" dediğimiz şekilde kodlanmış olarak gönderilmesi gerekir. Bu kodlama türünde boşlukların yerine + işareti konmuş olması şarttır. Bu tür bilgiler göndereceğimiz zaman: Kod: Server.URLEncode("kelime 1 kelime2 kelime3") şeklindeki bir kod Bunu hemen şu şekle sokacaktır: kelime1+kelime2+kelime3
__________________ ATE$LE YAKLA$MAYIN! TEHLİKELİ!!! |
| ||||
| Ce: Asp Nedir ve Temel Dersler Talep (Request) Nesnesi Web Server çok akıllı bir programdır; bir Web ziyaretçisi herhangi bir talepte bulunduğu, yani bir sayfanın gönderilmesini istediği anda, bu talebi, bir nesne halinde ele alır; kolleksiyonlar oluşturur. Bu kolleksiyonlar, HTTP protokolü ile iletişimin sonucu olarak ziyaretçinin Browser'ından ve Internet'e giriş noktası olan ISS'in bilgisayarından başlayan ve Web Server'dan derlenen bir dizi bilgidir. Bir anlamda, Request nesnesi, Web programımızın Girdi (Input) bölümünü oluşturur. Request nesnesi kendi içinde dört ana nesne barındırır QueryString ve Form Web ziyaretçisinin bilgisayarından kalkıp Server'a gelen herşey, QueryString kolleksiyonunu oluşturur. Bu ziyaretçinin Browser'ın URL adresi hanesine yazdığı bir basit HTML sayfası yolu ve adı olabilir; bir Form'un Gönder düğmesini tıkladığında gelen bilgiler olabilir. Bu bilgilerin şu özelliklerini kullanabiliriz: Content_Length: Bir Form'dan gelen bilgilerin tümümün byte olarak boyutudur. Remote_Host: Ziyaretçinin IP adresini verir; ancak Internet'e çevirmeli ağ ile bağlanan ziyaretçilerimiz her seferinde farklı bir IP bildirebilirler. Bu yüzden bu bilgiyi ziyaretçinin kimliği sayamayız. Request_Method: Form'da kullandığımız GET veya POST metodunu bildirir. İki yöntemle gelen bilgi farklıdır. Form'un oluşturduğu bilgileri GET yöntemi ile alırsak bu, çevre değişkenlerinden QUERY_STRING değişkeninin içine yazılır. Başka bir ifade ile Form'daki bütün değişkenlerin adları ve bu değişkenin içerdiği değer yumak yapılır (bu yumağın niteliğine ve nasıl çözeceğimize geleceğiz!) ve Server'da QUERY_STRING değişkeninin değeri olarak yazılır. Form'un bilgilerini POST yoluyla alıyorsak bunlar Request nesnesinin Form kolleksiyonunun içinde Form'un değişken adları ve ziyaretçinin bu değişkenler için sağladığı değerler olarak ayrı ayrı yazılır. GET ile sınırlı, POST ile sınırsız bilgi alabiliriz. Script_Name: O anda çalıştırılmakta olan ASP sayfasının adını verir.
__________________ ATE$LE YAKLA$MAYIN! TEHLİKELİ!!! |
| ||||
| Ce: Asp Nedir ve Temel Dersler ServerVariables (Server Değişkenleri) Request nesnesinin bir diğer kolleksiyonu, bizim kendi Web Server'ımızın o anda çalışmakta olan ASP sayfası için oluşturduğu ortamın değişkenleridir. Bunların arasındaziyaretçinin Browser'ına ilişkin bilgiler de vardır. Önce þu kısa ASP sayfasını çalıştırarak kendi Server'ımızın şu andaki değişkenlerini görelim; sonra bunları ayrıntılı ele alalım [Sadece kayıtlı Üyelerimiz Linkleri görebilir. ]): Kod: <HTML><HEAD><TITLE>HTTP ServerDegişkenleri Kolleksiyonu</TITLE><meta http-equiv="content-type" content="text/html; charset=ISO-8859-9"><meta http-equiv="Content-Type" content="text/html; charset=windows-1254"></HEAD><BODY BGCOLOR=white><CENTER><H2>HTTP Server Değişkenleri Kolleksiyonu</H2></CENTER><TABLE BORDER=1><TR><TD><B>Değişkenin adı</B></TD> <TD><B>Değeri</B></TD></TR><% For Each key in Request.ServerVariables %><TR><TD><% = key %></TD><TD><%If Request.ServerVariables(key) = "" ThenResponse.Write " " Else Response.Write Request.ServerVariables(key)End IfResponse.Write "</TD>"%></TR><% Next %></TABLE><p>Sizin Host'unuzun adı:<B> <%=Request.ServerVariables("HTTP_HOST")%></B></BODY></HTML> Değişkenin adı Değeri ALL_HTTP:HTTP Header içinde yer alan bütün değişkenler ve değerleri. Header adlarının önünde "HTTP_" öneki vardır. ALL_RAW HTTP:Header içinde yer alan bütün değişkenler ve değerleri. Header adları ve değerleri istemci Browser'ın verdiği şekilde gösterilir. APPL_MD_PATH:Web Server'ın ISAPI.DLL dosyası için varsaydığı kök dizin APPL_PHYSICAL_PATH:Web Server'ın varsaydığı kök dizinin gerçek yolu AUTH_PASSWORD:Kullanıcı Web Server'a kullanıcı adı/parola yöntemiyle bağlanabiliyorsa, kullanılan parola AUTH_TYPE:Kullanıcı Web Server'a kullanıcı adı/parola yöntemiyle bağlanabiliyorsa, kullanılan yetkilendirme yöntemi AUTH_USER:Kullanıcı Web Server'a kullanıcı adı/parola yöntemiyle bağlanabiliyorsa, kullanıcı adı CERT_COOKIE:Kullanıcı siteye bağlanmak için yetkilendirme sertifikası kullanıyorsa kendisine verilen kimlik (ID) CERT_FLAGS:Sertifikanın varlığını gösteren bit değeri CERT_ISSUER:Sertifika varsa veren kurum CERT_KEYSIZE:Secure Socket Layers kullanılıyorsa, bağlantı için anahtar değeri CERT_SECRETKEYSIZE:Özel anahtar değeri CERT_SERIALNUMBER:Sertifika seri no. CERT_SERVER_ISSUER:Sertifikayı veren merci CERT_SERVER_SUBJECT:Server Sertifikasının "konu" alanı değeri CERT_SUBJECT:İstemci Sertifikasının konu alanı değeri CONTENT_LENGTH:İstemcinin gönderdiği bilgi yumağının boyutu CONTENT_TYPE:Ziyaretçiden gelen bilgilerin GET veya POST metoduna göre edindiği tür GATEWAY_INTERFACE:Web Server'ın ziyaretçi ile etkileşim arayüzünün adı ve sürümü. Genellikle: CGI/1.1 HTTPS:Ziyaretçi ile bağlantı güvenli ise ON, değilse OFF HTTPS_KEYSIZE: Secure Sockets Layer için bağlantı anahtar sayısı HTTPS_SECRETKEYSIZE:Özel Server sertifikasının gizli anahtar sayısı HTTPS_SERVER_ISSUER:Özel Server sertifikasının veren merci HTTPS_SERVER_SUBJECT:Özel Server sertifikasının konusu INSTANCE_ID:Web Server'ın aynı anda kaç kere çalışmakta olduğu INSTANCE_META_PATH:Şu anda çalışmakta olan Web Server'ın Meta yolu LOCAL_ADDR:İstemcinin IP numarası LOGON_USER:İstemci Windows NT sisteminde ise oturum açma adı PATH_INFO:Çalışmakta olan ASP'nin göreli yolu ve adı PATH_TRANSLATED:Çalışmakta olan ASP'nin gerçek yolu ve adı QUERY_STRING:İstemcinin gönderdiği bilgi kümesi REMOTE_ADDR:İstemcinin Host'unun (ISS'inin) IP'si REMOTE_HOST:İstemcinin Host'unun (ISS'inin) adı REMOTE_USER:İstemcinin gerçek adı REQUEST_METHOD:İstemciden bilgi isteme yöntemi (GET veya POST) SCRIPT_NAME:Çalışmakta olan ASP'nin adı SERVER_NAME:Sunucu'nun adı SERVER_PORT:Sunucuya bağlantının geldiği TCP kapı numarası SERVER_PORT_SECURE:TCP kapısı güvenli ise 1, değilse 0 SERVER_PROTOCOL:Server'ın çalıştırdığı HTTP'nin sürümü SERVER_SOFTWARE:Server programının adı ve sürümü URL:Şu anda geçerli URL
__________________ ATE$LE YAKLA$MAYIN! TEHLİKELİ!!! |
| ||||
| Ce: Asp Nedir ve Temel Dersler Cookie (Çerez) Daha önce ne kadar çok olursa olsun tek-tek Web sayfalarından oluşan siteler yaptıysanız bile, Cookie (Çerez) ile ilginiz olmamış olabilir. Ya da sadece Internet ziyaretçisi olarak başkalarının size gönderdiiği Cookie'lere sinirlenmekle yetinmiş olabilirsiniz. Fakat şimdi ASP ile Web Programı oluşturmaya hazırlanan kişi olarak Cookie'lerle daha yakından ilgilenmeniz gerekiyor. Çünkü artık siz de başkalarına çerez göndereceksiniz! Tabiî bunun için önce "Cookie neden gereklidir?" sorusunu yanıtlamak gerekir. HTTP ile yapılan iletişim, belirgin olmayan durum bağlantısına dayanır: yani ne istemci sunucunun, ne de sunucu istemcinin o anda hatta (on-line) olduğunu bilmek zorunda değildir; birbirlerinden istedikleri ve gönderdikleri şeyleri karşı tarafından almaya hazır olduğunu bilmeden gönderirler. Oysa sözgelimi elektronik alışveriş gibi ziyaretçinin bir yerlere birşeyler kaydettiği, geçici değişkenler oluşturduğu durumlarda sitemizde kimin ne yaptığıını bilmek zorundayız. Ziyeretçinin bir sayfada yaptığı tercihler diğer sayfalarda ona sunacağımız içeriği etkileyebilir, belirleyebilir. Oysa aynı ziyaretçi bir sayfadan diğerine geçerken Server ile ilişkisini kaybedebilir. Bunun için ziyaretçinin Internet'ten kopması gerekmez; sadece TCP/IP protokolü gereği bizimle bağlantısı kesilebilir. Bunu ziyaretçi farketmeyebilir; ama Server etmek zorundadır. Heryeni ilişkiye yeni bir "application" (uygulama programı) başlatamayız; ziyaretçinin bir önceki sayfada yaptığı tercihlerin devam etmesi gerekir. Bu devamlılığı ziyaretçiyi işaretleyerek yaparız; bu işareti de Cookie sağlar. ASP tekniğiyle tasarladığımız sitede, ziyaretçilerimize Cookie göndermek zorunluktur diyebiliriz. ASP açısından Cookie'ler bir nesne oluştururlar. Aslında, Cookie'ler ASP için iki ayrı grup Cookie nesnesi oluştururlar: verilenler, ve hakkında bilgi alınan varolan Cookie'ler. Birinci grup Request (talep) nesneleri, ikinci grup ise Response (karşılık) neslereni içinde ele alınabilir. Cookie konusunun devamını Response nesnelerine değindiğimiz yere bırakalım.
__________________ ATE$LE YAKLA$MAYIN! TEHLİKELİ!!! |
| ||||
| Ce: Asp Nedir ve Temel Dersler Sertifika Nesnesi Sertifika, HTTP bağlantısında "Ben filancayım!" diyen istemcinin, gerçekten filanca olup olmadığını gösterir. Bir yazılımdan ibaret olan sertifikaları yetkili bir kurum veya şirket verir; bir seri numarası olur. Şifreleme teknikleri gelişmiş olduğu için taklit edilmesi zordur. Sertifika uygulaması için Web Server'ın Secure Socket Layers denen güvenli HTTP protokolünü kullanması gerekir. Bu durumda Server'ın URL'i, http:// diye değil https:// diye yazılır. ASP açısından sertifika ile ilgili her türlü bilgi ClientCertificate kolleksiyonunda durur. Sözgelimi, bir ziyaretçinin gerçekten sitenize girmeye yetkili olup olmadığını anlamak için: Kod: <%SertifikaNo = Request.ClientCertificate(SerialNumber) %> gibi bir kodla istemcinin Sertifika seri numarasını SertifikaNo değişkenine atayabilir ve daha sonra bu değişkenin değerini elinizdeki bir liste ile karşılaştırabilirsiniz
__________________ ATE$LE YAKLA$MAYIN! TEHLİKELİ!!! |
| ||||
| Ce: Asp Nedir ve Temel Dersler Karşılık (Response) Nesnesi Ve geldik Web Server'in Çıktı (Output) sağladığı istemciye giden karşılıkların oluşturduğu nesneye. Server'dan Browser'a giden herşey karşılıktır. Bu bir ASP veya HTML sayfası olabilir, sayfanın içindeki GIF, JPG veya PNG grafiği, bir Flash, video veya ses dosyası olabilir. Böylesine zengin içeriği olmakla birlikte Response nesnesinin sadece bir kolleksiyonu vardır: Cookie'ler. Buna karşılık Response nesnesinin kullanabileceğimiz çok sayıda özelliği ve metodu bulunur. Önce Cookie kolleksiyonunu ele alalım; sonra önemli Response nesnesi özellikleri ve metodları üzerinde duralım. Cookie'ler Request nesnesinin Cookie kolleksiyonuna değinirken, ziyaretçilerimizi Browser'larına Cookie göndererek tabir yerinde ise işaretleriz, demiştik. Bu işaretleme, söz gelimi, ziyaretçinin bir Form'a yazdığı adı ve soyadı ile elektronik posta adresini Cookie olarak onun bilgisayarına kaydetmek şeklinde olur. Bir kişi sayfamızı talep ettiği anda, ASP programımız bu kişinin bilgisayarında daha önce koyduğumuz Cookie'yi arar ve bulur; Cookie'den bu kişinin adını öğrenir ve mesela sayfamız "Sayın Filanca, sitemize hoş geldiniz!" başlığını görüntüler. Cookie'ler sadece böyle fiyaka amaçlı olarak kullanılmaz; ziyaretçinin daha önce sitemizde ziyaret ettiği sayfaları veya elektronik ticaret sitemizden satın aldığı kitap türlerini Cookie'ye kaydedebiliriz. Ziyaretçinin ikinci ziyaretinde ona önce bu sayfaların veya kitapların köprülerini sunabiliriz. Bir Cookie'nin adı ve anahtarları (key) ile bu anahtarlara karşılık değerler olur. Örneğin: Kod: <% Response.Cookie("Bizim_Cerez")("Adi_Soyadi")= "Necip Fazıl" %> Bu, ziyaretçinin Browser'ına (yani sabit diskine) "Bizim_Cerez" isimli bir Cookie gönderir; bu Cookie'nin "Adi_Soyadi" adlı bir anahtarı vardır; bu anahtarın değeri ise "Necip Fazıl" olur. Cookie kolleksiyonunun iki özelliği bulunur: Expires (zaman aşamı süresi): Bir cookie'nin artık geçersiz olduğu tarihi gösterir.: Kod: <% Response.Cookie("Bizim_Cerez").CookieExpires = "August 7, 2000" %> Bu Cookie, 7 Ağustos 2000 tarihinden sonra kullanılmaz olacak demektir. HasKeys: Cookie'nin String mi içerdiği yoksa anahtarları ve değerleri mi bulunduğunu belirtir, "HasKeys = False" birinci, "HasKeys = True" ise ikinci durumu belirtir. Bir Cookie'de birden fazla anahtar ve değer bulunuyorsa, tümünü bir ASP kodu içinde yazmak, Cookie'nin gönderilmesini kolaylaştırır.
__________________ ATE$LE YAKLA$MAYIN! TEHLİKELİ!!! |
![]() |
|
| Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir) | |
| Konu Seçenekleri | |
| Gösterim Modu | |
| |