Archive for October 2007

Oct 16

Güvenlik…

No comment - Post a comment

Anne exploit’i :P

En çok rastlanan güvenlik açıklarına bir göz atalım:

  1. SQL Injection
    SQL cümlesi içerisine parametre olarak gönderilen değişkenin saldırgan tarafından değiştirilerek gönderilmesiyle oluşan açıktır.
  2. Session Fixation
    O an siteye giriş yapmış ziyaretçinin session id’sini bir şekilde alarak ziyaretçinin aktif session’ından yararlanma felsefesine dayalı bir güvenlik açığıdır.
  3. Session Poisoning
    Programcının gönderilen parametreleri kontrolsüz bir şekilde session değişkenlerine ataması nedeniyle oluşan açıktır.
  4. XSS (Cross Site Scripting)
    Saldırganın sayfaya bir açıktan yararlanarak javascript, css, html kodu yazabilmesi nedeniyle oluşan açıktır.
  5. XSRF (Cross Site Request Forgery)
    Saldırganın o an siteye giriş yapmış ziyaretçiye farkında olmadan istediği aksiyonu yaptırması ile ilgili bir güvenlik açığıdır.
  6. RFI (Remote File Inclusion) ve LFI (Local File Inclusion)
    Programcının gönderilen parametreleri kontrolsüz bir şekilde çalışan koda “include” etmesi nedeniyle oluşan bir güvenlik açığıdır.
  7. Referrer Spoofing
    HTTP_REFERER ziyaretçinin bir önce ziyaret ettiği sayfayı tutan bir environment değişkenidir. Ancak bu değişken istemci tarafından gönderildiği için bu değişkene dayanarak yapılan güvenlik kontrolleri kolayca aşılabilir.

Performansın sayfa ziyaret istatistiklerine etkisi ile ilgili bir yazıma gelen bir yorum ne zamandır aklımda olan web teknolojileri üzerine genel bir bilgilendirme yazısını yazma fikrini getirdi aklıma pazar pazar… Zaten sıkılıyordum :)

Konuya tamamen yeni olan kişiler için derinlemesine fakat mümkün olduğunca kısa bir şekilde anlatmaya çalışacağım…

Bu yazıda şunlar var:

  • Tanımlar
    Web teknolojileri ile ilgili tanımlar. Kulak aşinalığı olsun diye…
  • İstemci Tarafı Teknolojiler
    HTML, CSS, JavaScript, DHTML, Flash nedir
  • Sunucu Tarafı Teknolojiler
    PHP, ASP, JSP, ColdFusion, CGI, Apache, IIS, MySQL, Oracle, PostgreSQL

Bu yazı kimler için?

Eğer web hakkında kulaktan dolma birşeyler bulduysanız ama toparlayamadıysanız, bir sürü terim duyuyor ve “bunlar da ne ola” diyorsanız kendi kendinize, bu doküman sizin için diyebilirim.

Ayrıca birçok geliştiricinin, hatta çok tecrübeli olanların bile, işin arkaplanını bilmedikleri için bariz hatalar yaptıklarına sürekli şahit oluyorum. Bu uzun sıkıcı yazıyı “aman biliyorum ben bunları zaten” demeden okuma sabrını gösterebilirseniz 1-2 ipucu da yakalayabilirsiniz belki…

» Read more after the jump →

Oct 05

Virütik Oyun

No comment - Post a comment

Viral pazarlama 1996′da netleştirilen bir konsept ve en yaygın uygulaması da internet üzerinde görülüyor. Aslında web2.0′ı başarıya götüren en etkili yöntemlerden biri. API’ler, widget’lar, Facebook Application’ları aslında birer viral pazarlama stratejisi diyebiliriz.

Dün katıldığım bir eğitimde Starwars’ın 1,2 ve 3. bölümleri yayına sokulmadan önce nasıl 1970′lerde çıkan 4,5 ve 6. bölümlerin tekrar hatırlatıldığı ve fan gruplarının ateşlendiğinden bahsediliyordu. Fan grupları ateşlendikten sonra insanlar heyecan içerisinde yeni 3 bölümü beklemeye başladılar. Fan siteleri viral pazarlama yöntemi olarak kullanılmıştı.

FanKit ScreenShotBugün StarCraft II‘nin RSS beslemesinde fan sitesi yapmak isteyenler için “fansite kit” görünce ilk önce “Türkçe StarCraft sitesi yapmak” geldi aklıma…

Keyifli olur hakkaten, iş yoğunluğu arasında keyif için site yapmanın kendime çok şey kattığına inanırım. Keyif için site yaptığınızda yaklaşımınız çok daha farklıdır çünkü…

… sonra bir anda viral pazarlama stratejisinin beni nasıl içine çekiverdiğini hissettim.

Türkçe bir StarCraft II sitesi yapacağım, sonra kendi yaptığım bu siteyi insanların kullanması için haliyle birçok kanaldan duyurmaya çalışacağım ve aslında StarCraft’ın çok etkili bir reklamını yapmış olacağım… Çok etkili diyorum çünkü reklamın inandırıcılığı azdır. Yani, bir arkadaşınızdan methini duyduğunuz bir cep telefonunu sabah akşam reklamı yapılan bir telefona tercih edersiniz.

Tabii bundan olumsuz bir anlam çıkmasın, bu şekilde yazınca sanki Blizzard fan sitesi yapanların sırtından geçiniyormuş izlenimi verebilir. Ancak görselleri orijinal StarCraft ekibi tarafından sağlanan, site yapma ve başarıya ulaştırma ipuçları da yer alan bir dokümana sahip “fansite kit” sayesinde amatör bir web tasarımcısı, başarılı ve belki üzerinden reklam geliri elde edebileceği bir site ortaya çıkarabilir…

Viral pazarlamanın, API’lerin, widget’ların etkili olmasının nedeni zaten bu: Karşılıklı kazanç…

Projemiz hızlı çalışsın diye muhtelif performans optimizasyonları yapıyoruz. PHP, apache, MySQL ve sunucuya ince ayarlar çekip optimizasyonun yeterli ya da ekonomik olmadığı durumlarda donanım güçlendiriyoruz.

Optimizasyonun fazlası gereksiz pahalı oluyor, çünkü optimizasyon için ayırdığınız vakit aslında bir maliyet (personelin saatlik ücreti üzerinden düşünebiliriz). Belli bir temel optimizasyondan sonraki ince ayar yerine donanıma yatırım yapmak daha ekonomik olabilir.

Ne Kadar Hızlı?

Peki ne kadar hızlı? “Hızlı”nın sonu yok aslında… 10Mbps yerine 20 Mbps, 4GB ram yerine 16GB ram, quadcore bir sürü cpu, sunucu “çiftliği”… ve hatta Yahoo’nun site hızıyla ilgili 13 prensibinden bir tanesi yerel sunuculardan bahsediyor. Yani her şehre bir sunucu koyarsanız çok daha hızlı sunabilirsiniz projenizi.

Yahoo’nun diğer bir prensibi web sunucusuna yapılan istemleri (request) sayıyor. Javascript, CSS ve imajlar gibi statik öğelerin yüksek sayıda olması demek, tarayıcınızın web sunucusuna bir sürü istek yapması demek. Ancak bu statik içeriklerin aslında “cache”de tutulduğu düşünülür ve KeepAlive’ın doğru düzgün ayarlandığı hesaba katılırsa atılan istem sayısının performansa etkisi çok da abartılı değil… Bu da istem sayısını düşürmeye yönelik önlemlere ne kadar vakit ayırmak gerektiği konusunda ikilemde bırakıyor insanı…

Bütün bunların geri dönüşü ne kadar etkiliyor peki?

FotoKritik

Bugün FotoKritik’e ek bir sunucu daha ekledik. Son zamanlarda 1 sn’nin üzerine çıkmaya başlayan php işlem hızı (exec time), tekrar 0.05 mertebelerine düştü.

Anlık ziyaretçi sayılarını karşılaştırdığımızda düne göre 1.5 ~ 2 kat arasında daha çok ziyaretçi gözlemliyoruz. Bunun sayfa gösterimini etkisini önümüdeki günlerde göreceğiz ve önemli bir yükseliş olacağı kesin.

Aslında sitenizin performans nedeniyle ziyaretçi kaybettiğinizi istatistiklerden de görebilirsiniz. Tekil kullanıcı sayınız artıyor ancak sayfa gösterimleriniz düşüyorsa, ya da tekil kullanıcıdaki değişimle kıyaslandığında sayfa gösterimlerinizdeki değişim eksi yönde açılıyorsa performans nedeniyle ziyaretçi kaybettiğiniz sonucuna varabilirsiniz.

Tabii ki ziyaretçi ve gösterim sayılarını etkileyen bir sürü faktör var, bunların içinde gündemden tutun tatillere, benzer içerikteki rakip sitelerin durumundan Türkiye’nin yurtdışı çıkışlarına kadar bir sürü değişken var. Bu değişkenleri takip edip istatistikleri yorumlamak da tabii ki ilgili projenin ekibine kalıyor…