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
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ı
%> |
|
|
%> |
|
%> |
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
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
<% 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.
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.
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

Hiç yorum yok:
Yorum Gönder