Alexa, verilerimi neden siliyor ?
01/04/2009 05:18 pm | PHP, İnternet - Yazan : Eyüp ÇitçiGeçenlerde bir projede enteresan bir hata buldum. Bu hata yüzünden bir sitedeki veriler 3-4 defa silindi. Sanki birisi özellikle sisteme girip sadece bir tablodaki verileri silmeye şartlanmış gibiydi. Apache geçmiş kayıtlarını araştırdıktan sonra bu şartlanmış kişinin Alexa olduğunu gördüm.Alexa’nın botları ne zaman siteye girse, belirli bir tablodaki veriler siliniyordu. Peki alexa benim verilerimi niye siliyordu ?
Cevap aslında çok basit. Web sitesinde buna benzer ” http://www.example.com/delete.php?delId=1″ adresler mevcut. Alexa gelip bunları indexlemek istediğinde mecburiyetten çalıştırıyordu. Tabiki bu linki çalıştırmak için şifre/kullanıcı adı kombinasyonundan geçip oturum açması gerekir. Peki alexa bu güce nasıl ulaşıyordu ?
Normalde session kontrolü yaparken genelde bu tarz bir kod kullanılır:
session_start();
if (! $_SESSION['oturumAcilmis'] ) {
header(”Redirect:url”)
}
Bu noktadan sonra kodun çalışmasını durmasını bekleriz ve kullanıcının başka bir sayfaya yönlenmesini isteriz. Kaçırılan nokta şudur ki Alexa bildiğimiz normal bir kullanıcıya hiç benzemiyor. Dolayısıyla kodun çalışması Alexa için durmuyor. Bu yüzden oturum kontrollerini yazarken biraz daha paranoyak olmak gerekir.
session_start();
if (! $_SESSION['oturumAcilmis'] ) {
header(”Redirect:url”);
exit();
}
Böyle bir durumda kodun çalışması kendiliğinden duracağından, oturum açmamış alexa için içerik gösterilmeyecektir.
Şunu da belirtmeden bitiremeyeceğim. Bu güvenlik açığı var mı, evet var sonuna kadar programcının hatası(!). Geçmiş kayıtlara baktığımda 10′larca arama motorunun bu silme işlemi gerçekleştirmek istediğini gördüm. Fakat oturum açmadıklarından edebini bilip başka sayfalara yönlendirilmişti. Sadece Alexa’nın laftan anlamak istememesi düşündürücü. Bunu da biraz araştırınca aslında Alexa’nın pek saygılı bir arama motoru olmadığını gördüm. Neyse bu da “Alexanın edepsizlikleri” diye başka yazı konusu..

03/27/2009 at 15:45
Alexa’nın HTTP user agent’ini kullanarak ta bir başkası bu tarz attraksiyonlar yapabilir. Bu noktaya da dikkat etmelisiniz.
12/13/2009 at 17:40
Arda’ya ilaveten,
nasılki kendi UserAgent bilgilerinizi googlebot ayaparak dandik scriptlerdeki admin panellerine ulaşabileceğiniz gibi. yada saklamaya çalıştıkları bilgileri görebileceğiniz gibi v.s…