• Sonuç bulunamadı

Dizinin 2 bölümünde : ana objeler, request, response, cookie, form, querystring, server variables konularından bahsediliyor.

N/A
N/A
Protected

Academic year: 2022

Share "Dizinin 2 bölümünde : ana objeler, request, response, cookie, form, querystring, server variables konularından bahsediliyor."

Copied!
7
0
0

Yükleniyor.... (view fulltext now)

Tam metin

(1)

Dizinin 2 bölümünde : ana objeler, request, response, cookie, form, querystring, server variables konularından bahsediliyor.

Ana Objeler

Active Server Pages ‘in beraberinde gelen bazı server ve uygulama geliştirme objeleri vardır. Bu objeler developerları clienttan gelen requestleri, application durumunun yonetimi,cookilerin kullanılması, istemciye verilcek cevabın duzenlenmesi gibi işlerin detayları için kod yazma zahmetinden kurtatır. Bu ana objeler şunlardır:

1-Request and Response:request objesi HTTP istemi ile scripte gonderilen tum bilgilere erişimi sağlar. Bu bilgiler cookieleri,formları,URL querylerini ve http headerlarını kapsar.

Request objesine ait kolleksiyonlar:

1-clientcertificate 2-cookie 3-form 4-querystring 5-servervaribles

eğer request.form veya request.querystring gibi ifadeler yerine dogrudan request(variable) denilirse web server kolleksiyonları şu sırada arar

1. querystring

2. form

3. cookies

4. clientcertificate

5. servervariables

Bunun için çoğunlukla

Request.(AUTH_USER) yerine Request.ServerVariables(AUTH_USER) kullanılır.

1-ClientCertificate :HTTP requesti icinde gonderilen X.509 standartındaki sertifikalara ait

bilgilerdir.Eğer web browser SSL3.0/PCT1 Protocolu kullanıyorsa yani secure bir iletişim yapıyorsa web browsera sertifika yollayabilir.Eğer bir Sertifika gonderilmemişse ClientCertificate kolleksiyonundan EMPTY degeri doner.

Syntax

Request.ClientCertificate( Key[SubField] ) Bu kolleksiyona ait Keyler ise şunlardır:

Certificate ASN.1 formatındaki tum sertifika içeriğinin binary stream'ini içeren bir string

Flags ek sertifika verileri sağlayan flaglerden oluşur.

ceCertPresent—A client certificate is present.

ceUnrecognizedIssuer—Bu zincirdeki son sertifikasyon bilinmyen bir user'a ait

(2)

Not: flagleri kullanbilmeniz için Asp dosyanıza client sertifikasını include

etmelisiniz.VBScript kullanıyorsanız cervbs.inc dosyasını Jscript kullnıyorsanız cerjavas.inc dosyasını include etmelisiniz.Bu dosyalar

\Inetpub\ASPSamp\Samples klasorune yuklenmiştir.

Issuer sertifikayı yayınlayan hakkındaki bilgileri kapsayan bazı subfield değerlerinden oluşan bir string dir.Eğer Sub fileld olmadan bu değer belirtilmişse ClientCertificate kolleksiyonu virgul ile ayrılmış SubFieldlar gonderir.Örneğin ,C=US, O=Verisign, vb...

SerialNumber Client sertifikası serial numerını ASCII tipinde ve tirelerle ayrılmış hxadecimal ifadeleri kapsayan bir stringdir.Örneğin, 04-67-F3-02.

Subject Bazı subfiled değerlerini tutan

stringdir.Subfield değeri sertifikanın konusu hakkındaki bilgileri kapsar.Eğer bu değer subfieldsız belirtilmişse ClientCertificate kolleksiyonu virgul ile ayrılmış SubFieldlar gonderir. Örneğin, C=US, O=Msft, vb..

ValidFrom sertifikanın hangi tarihten itibaren geçerli oldugunu bildiren tarih.Bu tarih VBScript formatındır ve uluslararası ayarlar ile değişir.

Örneğin, U.S.'de, 9/26/96 11:59:59 PM.

ValidUntil sertifikanın hangi tarihe kadar geçerli oldugunu bildirir.

SubField

C şehir/kasaba adı

CN Skullanıcı adı (sadece Subject keyi ile kullnaılır.) GN verilen ad

I ilk oncekileri belirtir L Yöre

O şirket yada organizasyon adı OU organizasyonel birimler S Eyalet

T organizayon adı veya kişinin ünvanı Clientcertificate ile ilgili bazı ornek ASP kodları

<%

For Each strKey in Request.ClientCertificate Response.Write strkey & " = " &

Request.ClientCertificate(strkey) & "<BR>") Next

%>

<%

If Len(Request.ClientCertificate("Subject")) = 0 Response.Write("No client certificate was presented") End if

(3)

%>

<%= Request.ClientCertificate("IssuerCN") %>

<%

If (Request.ClientCertificate("Subject")="Msft") Response.Write("Good Choice!")

End if

%>

<%= Request.ClientCertificate("ValidUntil") %>

<!--#include file="cervbs.inc" -->

<%

If Request.ClientCertificate("Flags") and ceUnrecognizedIssuer then Response.Write "Unrecognized issuer"

End If

%>

2-COOKIE Syntax

Request.Cookies(cookie)[(key)|.attribute]

Örnekler

<%

For Each strKey In Request.Cookies

Response.Write strKey & " = " & Request.Cookies(strKey) & "<BR>"

If Request.Cookies(strKey).HasKeys Then For Each strSubKey In Request.Cookies(strKey)

Response.Write "->" & strKey & "(" & strSubKey & ") = " & _ Request.Cookies(strKey)(strSubKey) & "<BR>"

Next End If Next

%>

<%= Request.Cookies("myCookie") %>

3-FORM

HTTP requestinde POST ile gonderilen form verisi bilgilerini alır.

Syntax

Request.Form(element)[(index)|.Count]

Parametreler

element :form elemanının adı index

(4)

bir parametrenin birden çok değerlerinden birine erişmenizi sağlayan opsiyonel bir değer Request.Form(parameter).Count. arasında değişen integer değerleri olabilir.

100 Kb dan buyuk veriler POST edilirken Request.form kullanılmaz bunun yerine request.binaryread kullanılır.

Örnekler

<%

For i = 1 To Request.Form("FavoriteFlavor").Count

Response.Write Request.Form("FavoriteFlavor")(i) & "<BR>"

Next

%>

4-QUERYSTRING

HTTP içerisindeki query string dediğimiz link yaninda verilen ve ?(soru işareti) ile ayrilarak yazilan ifadelerdir.

Basit bir örnek verecek olursak

<a href=”queryornek.asp?msg=querystring_metodu”>querystring ornegi</a>

Syntax

Request.QueryString(variable)[(index)|.Count]

Parametreler variable

http içersinde gonderilen query string değişkeninin adı index

değişkenin bir veya daha fazla değerini alabilmenizi sağlayan opsiyonel bir parametredir. 1 ile Request.QueryString(variable).Count arasında değişen bir integer değeri alabilir.

Request.querystring(parametre) QUERY_STRING içinde bulunan bütün değişenleri tutan bir dizidir. Bu dizinin istediğiniz kaç elemanı oldugunu bulmak için Request.QueryString(parameter) .Count

kullanılır.Eğer bir değişken gönderilmemişse bu değer 0 değerini alır.

Örnek

http://localhost/asp/names.asp?Q=Fred&Q=Sally ---NAMES.ASP---

<%

For Each item In Request.QueryString("Q")

Response.Write Request.QueryString("Q")(item) & "<BR>"

Next

%>

Yada

(5)

<%

For i = 1 To Request.QueryString("Q").Count

Response.Write Request.QueryString("Q")(i) & "<BR>"

Next

%>

Yazildiğinda ekran ciktisi su şekilde olacaktir.

5-Server Variables:

istemci tarafın tarayıcısı tarafından yollanan bir http başlık bilgisi bu kolleksiyonla kullanılabilir.

Syntax

Request.ServerVariables (server değişkenleri) Server değişkenleri aşağıda verilmiştir:

ALL_HTTP :client tarafından gonderilen bütün HTTP başlıkları

ALL_RAW :tum HTTP değerlerini alır.ALL_HTTP ile arasındaki fark ALL_HTTP servera gelmeden once HTTP_ prefix e gelir.Burada başlık adı büyük harfe çevrilir.ALL_RAW da ise datalar buraya gelmediği için client taraftan gonderildigi gibi görünürler..

APPL_MD_PATH :ISAPI.DLL uygulamalarında kullanılmak uzere metabase'in path i APPL_PHYSICAL_PATH : IIS APPL_MD_PATH 'i fiziksel path e çevirmiş halidir.

AUTH_PASSWORD: client'ın authentication dialogunda belirttiği değerdir. Basic authentication kullanıldığı zaman geçerlidir

AUTH_TYPE :korumalı bir scripte erişmek isteyen userları değerlendirmak için serverin kullandığı authentication metodudur.

AUTH_USER :doğrulanmış ancak işlenmemiş kullanıcı adı.

CERT_COOKIE :client sertifika'e ait Unique ID

CERT_FLAGS :client sertifika sı varsa 1 değeri ni alır yoksa 0 değerini alır.

(6)

CERT_ISSUER :client sertifika yayınlayıcısına ait bilgiler(O=MS, OU=IAS, CN=user name, C=USA).

CERT_KEYSIZE :SSL bağlantısının kaç bit üzerinden yapılığını belirtir.

CERT_SECRETKEYSIZE : server certificate private key'indeki bit sayısı. 1024 gibi CERT_SERIALNUMBER:client sertifika 'sının seri numarası

CERT_SERVER_ISSUER :server sertifika'sının yayınlayıcısı CERT_SERVER_SUBJECT : server sertifika sının konusu CERT_SUBJECT :client sertifika sının konusu

CONTENT_LENGTH:client taraftan gelen toplam bilginin uzunluğu

CONTENT_TYPE :client tan gelen verilerin gonderiliş şekli örneğin GEt,POST veya PUT gibi GATEWAY_INTERFACE:serverin kullandığı CGI sartnamesi. CGI/revision formatındadır

HTTP_<HeaderName> :HeaderName de saklanan başlık değeri.Başlık oluşturulurken kullanılan _(alt çizgi) server tarafından -(tire) olarak algılanır.

HTTP_ACCEPT :Accept başlığı

HTTP_ACCEPT_LANGUAGE: contenti yani clienttan gelen veriyi gösterebilmek için kullanılan dili ifade eden string bir değer

HTTP_USER_AGENT :istemde bulunan browserı belirten bir string değerdir.

HTTP_COOKIE :istemle birlikte gelen bir cookie stringi.

HTTP_REFERER :bir yonlendirme olduğu zaman esas isteme ait url yi tutan bir string değeri HTTPS :ON ise SSL aglantısı uzerinden istemler gerçekleşiyor dur OFF ise non-secure bir iletişim yapılıyor demektir.

HTTPS_KEYSIZE :SSL bağlantısının kaç bit üzerinden yapıldığını belirtir.

HTTPS_SECRETKEYSIZE: server certificate private key deki bit sayısı HTTPS_SERVER_ISSUER :server sertifika'sının yayınlayıcısı

HTTPS_SERVER_SUBJECT :server sertifika sının konusu INSTANCE_ID :IIS icin kullanılan bir ID

INSTANCE_META_PATH:istemden sorumlu ISS icin metabase path'i LOCAL_ADDR :istemi cevaplandıracak serverin adresi.

LOGON_USER :userin hangi Windows accountunu kullandığını belirtir.

(7)

PATH_INFO :PATH_INFO ve Virtual pathi kullanarak scriptlere erişebilirsiniz.Bu bilgi bir URL ile gelirse CGI script ine gonderilmeden once server tarafından desifre edilir.

PATH_TRANSLATED : PATH_INFO nun pathi alıp virtualdan fiziksel yola cevirilme işlemlerinin yapılmış hali olan dir..

QUERY_STRING :HTTP isteminde ? den sonra gelen değişkendir.

REMOTE_ADDR :istemi yapan makinanın adresi REMOTE_HOST :istemi yapan host makina

REMOTE_USER :istemi yapan makinaya login olmuş kullanıcının accountundaki username REQUEST_METHOD: istem yapılırken kullanılan metod. GET, HEAD, POST gibi.

SCRIPT_NAME :calışan scriptin virtual pathi

SERVER_NAME :The serverin host name, DNS alias veya IP address SERVER_PORT :istemin yapıldığı port numarası

SERVER_PORT_SECURE :Secure bağlantı varsa 1 yoksa 0 değerini alır

SERVER_PROTOCOL :The name and revision of the request information protocol. The format is protocol/revision.

SERVER_SOFTWARE: istemlere cevapveren ve gatewayin uzerinde bulunduğu serverin adı ve kullandıgı sunucu yazılımı.name/version formatındadır.

URL :URL adresi

Bahriye BAŞTÜRK , ASP

Referanslar

Benzer Belgeler

Management Studio ile veri tabanının T-SQL script’ini oluşturmak için veri tabanı üzerinde sağ klik yapıldıktan sonra açılan menüden Tasks\Generate Scripts komutu

öğelere yer verilmeyen dindarlık. 3) Laik Dindarlık: Dini sadece Allah ile kul arasında kutsal bir bağ olarak gören ve dinî inançlarını günlük hayatına yansıtmayan

B ir köylüye tesadüf eder; o köylünün saf kalbinin, şuurlu şuursuz, fakat her­ halde derin aklı seliminin, temiz ruhu­ nun tevlit ettiği doğru sözler onda,

Faruk KETEN 10.) Yükleme esnasında MySQL dosyaları yüklendikten sonra sistem MySQL Root şifresini atamanızı ister. Şifreyi yazarak Enter’e basın. Sonraki ekranda tekrar

Geliştirilmiş bir Potansiyel Olarak İstenmeyen Program dizisi bildirin - ayrıntılı bir casus yazılım (spyware) paketi tespit etmek için işaretleyin: doğrudan

İnstall diyerek kurulum adımlarına başlıyoruz.İlk kurulum olduğu için primary bu sunucumuz olacak , olduğu gibi devam edip ilerliyoruz.Secondary site ve cas kurulumunu başka

Oysa Ķıśaśi’l-Enbiyā ’nın TDK ve Bursa nüshaları Tarama Sözlüğü ’nde ve şu ana kadar yayımlanmış Eski Anadolu Türkçesi metin ve sözlüklerinde yer almayan,

In this study, we identify optimal transmission mechanisms for a streaming video ap- plication in a peer-to-peer network structure as a function of the number of active users, a