İçeriğe atla

Internet - 4. sayfa

WordPress Başlangıç Tutorial

WordPress ve Blog Kardeşliği Kutusu yazısı ile ilgili Mert Mavis hocamın yorumunu okuyunca konuyu biraz daha detaylandırmak ve WordPress ile ilgili şu ana kadar yaşadığım deneyimimi açmak istedim.

Başlamadan evvel kurulum v.s. konulara şu anda girmek istemediğim için, WordPress kurulumunu yaptığınızı, hali hazırda yazı yayınlayabildiğinizi varsayıyorum. WordPressin kaynak koduyla uğraşmak istemeyen bizler için (bloggerlar) önemli olan kısım dizin organizasyonu, dolayısıyla ben de oradan başlamak istiyorum.

WordPress sitesinden download ettiğiniz dosyayı açtığınız zaman 4 tane dizin ile karşılaşıyorsunuz:

  • wp-admin : Yönetim panelinizin olduğu kısım (bu dizinin güvenliği ile ilgili yazdığım yazı için tıklayınız)
  • wp-images: WordPress’in kontrol panel dahil, kendi yapısında kullandığı resimlerin tutulduğu kısım
  • wp-includes: WordPress’in kalbi denilebilecek, fonksiyonların bulunduğu kısım
  • wp-content: Bizimle ilgili kısım bu dizin, blog’unuzun görünümünü değiştirmek için kullandığınız temalar, farklı işlevsellik eklemek için kullanacağınız plug-inler bu dizinde tutuluyor.

Eğer sitenizin teması ve diğer ayarlarıyla ilgili iki de bir FTP client ile ilgili dosyaları düzenleyip tekrar kaydetmek istemiyorsanız, wp-content dizinin FTP client ile veya sshtan bağlandığınızda ‘chmod’ ile yazıma açık hale getirin. Bu kısım ile ilgili WordPress’in sitesindeki bu yazıya bakabilirsiniz.

wp-content dizinini yazıma açık hale getirdikten sonra artık FTP kısmını unutabilirsiniz çünkü wordpress’in arayüzünden bu dosyaları güncelleme imkanınız var. Değişiklik yapmak için WordPresste iki tane editor geliyor.

  • Theme Editor: Presentation->Theme Editor
  • Plugin Editor: Plugins -> Plugin Editor

Yeni bir tema veya plugin eklemek için yapmanız gereken, download ettiğiniz dosyanın içeriğini wp-content/themes veya wp-content/plugins dizinleri altına FTP client ile aktarmak. Bundan sonra tema için Presentation, plugin için Plugins kısmından yeni aktardığınız temayı/plugini ‘active‘ diyerek aktif hale getiriyorsunuz.

Temanızı türkçeleştirmek için, Themes Editor’u kullanabilirsiniz. Themes Editor’unde temel olarak değiştirmeniz gerekecek dosyalar:

  • Archive Template: Tanımladığınız Kategorilere tıklandığı zaman çıkan sayfayı değiştirmek için
  • Archives: Sağ tarafta blok görünümünde olan Arşiv kısmı
  • Comments Template:Yazılarınıza yapılan yorumların görüntülenmesi için
  • Footer Template:Blogunuzun en alt kısmının, yazılarınızın bittiği kısım için
  • Main Template: Ana sayfada mesajların yayınlandığı kısım
  • Links: Sağ tarafta beliren Links bloğu için
  • Sidebar Template: Sağ tarafta çıkan Archives, Categories, Links gibi kısımların tamamının gösterimi için

Bundan evvelki yazıda, sağ tarafa Blog Kardeşliği kutusunu eklemek istediğimiz için, Sidebar Template dosyasında değişiklik yapmıştık.

Kapanış yaparken, WordPress türkçe desteği istiyorsanız bu sayfaya bakmanızı öneririm.

WordPress ve Blog Kardeşliği Kutusu

Blog Kardeşliği gerçekten çok güzel bir çalışma. Canım sıkıldığı zaman, Blog Kardeşliği ana sayfasında yayınlanan “rastgele 30” kısmından birilerinin blogunu okuyorum, her blogta ilginç birşeyler var. ABD’de bir eyalette okuyan bir öğrencinin blogundan tutun bir ev hanımının yaptığı yemeklerin tariflerini yayınladığı bloga kadar çok geniş yelpazede kayıt var, hal böyle olunca da çok renkli bir çalışma çıkıyor ortaya.

Benim sayfamda da dikkat ettiyseniz “Blog Kardeşliği” diye bir kutu var, hazır templateler kullandığımız için eklemek biraz çetrefilli oluyor. Biraz evvel WordPress için eklediğim için sıcağı sıcağına nasıl eklediğimi not ediyim istedim.

  1. Admin sayfasını açıyorsunuz.
  2. Presentation tabında Theme Editor bulunuyor. Eğer
    blog ana dizini/wp-content/themes/seçili temanız
    dizini yazmaya açıksa, Theme Editor’de seçtiğiniz dosyalar için Update dediğiniz zaman direk yazılıyor. Yazıma açmak için, kullandığınız FTP yazılımınız v.s. ile bu dizindeki dosyaları seçip 666 vermeniz gerekiyor. Sondaki ‘6’ public (herkes) e yazım hakkı vermenizi sağlıyor, böylelikle Apache’nin çalıştırıldığı kullanıcının bu dosyaları değiştirmesini sağlıyorsunuz.
  3. Bu işlemi yaptıysanız, Theme Editor’de ‘Sidebar Template‘ açmanız gerekiyor. Bu dosyaya eklediğiniz kodlar blogunuzun sağ tarafinda çıkıyor (bkz. benim blog). Oraya size verilen kodu kopyala-yapıştır ile ekliyorsunuz.

Garanti bankası Sahtekarlığında yeni moda

Garanti bankası internet güvenliğine en çok yatırım yapan ve önem veren bankalardan birisi. Güvenlik yönünden kendi sistemlerinde hackerlara ve zararlı ataklara karşı birçok önlem alıyorlar fakat aynı durumu müşterilerinin güvenliği için yaptıklarını söylemek mümkün değil. Adsl’in yaygınlaşması ile bilgisayar ve internet dünyası ile yeni tanışan birçok insan sanal dünyaya katılmış oldu. Bu katılımla birlikte internete Türkiye’den katılan güruhun eğitim ortalaması oldukça düşmüş durumda. Bilgisayar eğitimi yönünden biraz geri olmamızın yanında, güvenlik konuları başını alıp gittiği için durumlar olduğundan daha da kötü gözüküyor. Birçok kullanıcı sanal dünyaya gözünü maalesef windows ile açıyor, dolayısıyla güvenlik duvarı (firewall), antivirüs, antispyware gibi güvenlik yazılımları ile ilgili katetmek zorunda oldukları zorlu bir yol var. Bu aşamada linux sürümlerinden birisiyle başlamış olma avantajını yakalamış olsalar, en azından virüsler, spywareler,adawareler, keylogger, internet explorer’ın açıklarından bilgisayarlara bulaşan zararlı yazılımlar v.s. gibi dertlerle boğuşmak zorunda olmayacaklar. Tabi linux’un kendine has zorlukları var ama windowsla başlayıp diğer konularda harcıyacağınız zaman ve emek yerine bunları öğrenmeniz daha faydalı olur diye düşünüyorum. Linuxunda güvenlik sıkıntıları var doğal olarak ama çoğu sürümde vazgeçilmez olan iptables v.b. güvenlik yazılımları ile daha güvenli bir adım atmış oluyorsunuz. Zaten evlerimizde kullandığımız adsl modemlerin çoğunda donanım seviyesinde firewall olduğu için buna da pek ihtiyaç kalmıyor. Saded olarak linux ile sanal dünyaya ‘Hello World’ deseniz, biraz zorlu ama daha zevkli ve faydalı bir başlangıç olur.

Bilgisayarımızın güvenliğine değindikten sonra, Garanti bankası ile ilgili konuya devam edebiliriz. Geçtiğimiz aylarda birçoğumuzun mail adresine gelen Garanti Bankası phishing mailleri, birçok kişinin garanti’nin web sitesine giriyorum diye başkalarının hazırladığı sayfalara girerek birçok müşterinin kullanıcı adı ve parolasını kaptırmasına neden oldu. Bunun ile ilgili Garanti Bankası ilk başta bir şaşkınlık yaşamanın ardından, public black listlere bu kişilerin email gönderdikleri mail adreslerini, yönlendirmeye çalıştıkları web sitelerini bildirdi. Şu an için bu durum biraz olsun durulmuş gözüküyor.

Müşterilerin şifrelerini kaptırmalarından sonraki güvenlik problemi ise Garantinin hizmeti çok kolaylaştırdığına inandığı CepBank servisi. CepBank’tan dolayı mağdur olan bir kişinin attığı email birçok mail grubunda dolaştı ve herkesin neredeyse haberi oldu. Bir müşteri şifresini bir şekilde kaptırıyor, adamlar onun hesabından telefona havale ederek hesabındaki paraları çalıyorlar. Tabi burda hırsızın amatörlüğü çok bariz ortada, alenen telefon numarası sistemde geçiyor ve tespit edildiği andan sonra peşine düşülüyor.

Benim bu konuyu açmama neden olay yeni bir moda, biraz daha iyi düşünülmüş, sahtekarlık oranı daha yüksek bir durum. Hem benim hem de birkaç yakın arkadaşımın başına gelen durumu kısaca izah ediyim. MSN listenizde bulunan arkadaşlarınızdan (çok samimi olmadığınız işten arkadaşlarınız) birisinin msn’ini çalıyorlar. Bunda çok muhteşem bir olay yok, MSN güvenliği ile ilgili daha sonra küçük bir not yazmayı düşünüyorum onun için detaya girmiyorum. Bu kişi çaldığı listedeki herkese ‘selam’ yazarak konuya giriyor. Genelde kişiler nickname olarak isimlerini kullandıkları için, hitap etmekte zorlanmıyor. Siz de çok samimi olmadığınız için garipsemiyorsunuz. Bu kişi size selam verdikten sonra Garanti internet hesabınız olup olmadığını soruyor. Eğer hesabınız varsa, sizden bişey rica edeceğini söylüyor. Bu kişinin sizinle ilgili olan kısmı şu, sizin cep telefonunuz. Çünkü başka birisinin şifresini hali hazırda çalmış oluyorlar ve bu parayı çekebilmek için kendilerinin olmayan bir cep telefonuna ihtiyaç duyuyorlar. Eğer sizin İnternet bankacılığı hesabınız varsa, size çok acil bir para transferi yapmaları gerektiğini söylüyorlar. Bu durumda önce parayı sizin internet bankacılığı hesabınıza yolluyor (başkasından çaldığı parayı) sizin hesabınıza para geldiği için güven yönünden bir sıkıntı duymuyorsunuz. Ondan sonra size gelen parayı CepBank hesabı ile ilgili yine size ait cep telefonunuza yollamanızı istiyor. İşlem tamamlandıktan sonra Garanti tarafından cep telefonunuza gelen şifreyi de o kişiye söylüyorsunuz. Böylelikle parası çalınan kişi şikayet ettiği zaman ilk durumda siz suçlu oluyorsunuz. Bir nevi kara para aklama operasyonu. Aşağıya bugün geçen msn yazışmasının önemli bir kısmını görüştüğüm kişiyi değiştirerek ekliyorum. Uyanık olmakta ve MSN’den tanıdığınız biri olsa bile teyid etmekte fayda var.

xxxx mehmet : slm

mehmet xxxx : slm

xxxx mehmet : nasılsın

mehmet xxxx : sagol hocam sen nasilsin? nasil keyifler?

xxxx mehmet : ıyı cok sukur aynı devam

mehmet xxxx :

xxxx mehmet :mehmet bana garantının ınt bankacılgı lazım

mehmet xxxx : hayirdir,ne oldu?

xxxx mehmet : bır işlem için lazımxxxx mehmet : varmı sende

mehmet xxxx : var (not: yok aslında)

xxxx mehmet : cepbank kullanmasını bılıyormusun

mehmet xxxx : tam bilmiyorum nasil?

xxxx mehmet ya sen ac ben tarıf edeyımsanaxxxx mehmet sonra sana bır havele gonderecem onu bır arkadasa ulastırmmaız lazım cepbankla

Şifremi Unuttum – Forgot Password

Internette hergün birçok siteye kayıt olup şifreler oluşturuyoruz. Bazı siteler en az şu kadar karakter olsun, şifrenizin içinde sayı olsun,harf olsun v.s. şeklinde şifre politikaları uyguluyorlar. Bilgisayar başında çok zaman geçiren birçok kişi hafıza kullanımında tembelleştiği için unutmalar kaçınılmaz oluyor. Unutulan şifreler için de en iyi dost sitelerdeki “Şifremi Unuttum veya “Forgot Password linkleri oluyor. Benim anlatmak istediğim nokta buradan sonra başlıyor. Kayıt olduğunuz sitelerin güvenliğe ne kadar önem verdiğini, size ve sizinle ilgili bilgilere ne kadar sadık kalabileceklerini göstereceği küçük bir ipucunu yakalayabilirsiniz.

Kişisel sitelerin haricinde; forumların, mailing listelerin, satış sitelerinin v.b. sitelerin veritabanına (database) göz atan, erişim hakkı olan birden çok kişi vardır. Bu kaçınılmaz, çünkü site için birden fazla kişi kod yazmaktadır ve ihtiyaç halinde veritabanında değişiklik yapılması gerekirse diye herkese şifreler verilmiştir. Siz siteye üye olurken, e-mail veya başka yerlerde ortak kullandığınız şifrenizi verdiyseniz bu noktada şifrenizin şifrelenerek (encrypted) tutulması daha da ehemmiyet kazanıyor. Örneğin siteye aliveli@deli.com e-mail adresi ile üye oldunuz ve hafızanıza pek güvenmediğiniz için internetteki bütün üyeliklerde aynı şifreyi kullanıyorsunuz. Eğer site sahipleri sizin verdiniz şifreyi şifreleyip (encrypted) veritabanına kaydetmediyse, veritabanına erişimi alan kötü niyetli bir kişi sizin e-mail adresinize rahatlıkla erişti demektir. Bunu anlamak için de uygulanabilecek tek metod “Şifremi Unuttum / “Forgot Password seçeneğini kullanmanız. Eğer site size siteye kayıd olurken verdğiniz şifrenin aynısını yolluyorsa şifreniz şifrelenmeden (encrypted) tutulmuş demektir. Eğer o sitenin veritabanı hackerlar tarafında ele geçirilirse (bundan önce yaşanmış örneği çoktur) site üyelerinin banka hesaplarına kadar erişilmesi mümkün olabilmektedir.

Bu tür sitelerle ilgili

• Şifrenizi değiştirmek (Başka bir table da şifre geçmişinizi tutmadıklarını umud ederek)
• Adminleriyle irtibat kurmak
• Mailing listlerde v.s. yerlerde bunu duyararak baskı yapmak

internet üzerindeki kişisel güvenliğiniz yönünden önemli bir noktayı oluşturmaktadır.

Ajax – Sırlar dünyasına açılan pencere

Baslik çok iddiali oldu. Ama Ajax’in lanse edilis tarzi çok iddiali oldu, yepyeni bir kavram olarak nitelendirildi, hatta bazilari Internet v2.1-2.2 gibi versiyon yakistarmalari bile yapti. Çalistigim projede konu dönüp dolasip Ajax’a dayandigi için, oturup düsünmem ve kod yazmam gerekti. Bundan birkaç ay evvel, bu kavram ünlenmeye basladigi zaman bir yazi olarak ekleyip temel kavramlari yazmistim. Ajax’in ünlenmesinde ve yayginlasmasinda en büyük etken Google. Gmail, google map, google suggest v.b. birçok web yaziliminda google artik Ajax kullaniyor ve bu konuda yatirimdan hiç çekinmiyor. Ajax kullanimina baska bir örnek olarak, Yahoo’dan bir örnek verebiliriz. Eger Internet Explorer veya Mozilla (Opera desteklemiyor) ile yahoo mailinizden mail göndermek isterseniz, To: veya Cc: kisminda bir harf yazdiginiz zaman arka tarafta adres defterinizde arama yapildigini ve size girdiginiz harfi içeren sonuçlarin gösterildigini görebilirsiniz.

Ajax ile saglanmak istenen nihai hedef, internet uygulamalarinin masaüstü yazilimlari gibi interaktif olmasi, ziyaretçiye devamli refresh edilen bir ziyaret yasatmak yerine, sabit duran bir sayfa araciligiyla kullanicinin isteklerini yerine getirilmesi. Bunun saglanmasi için web programcilari tarafindan yapilan çok fazla is yok aslinda, sahnenin arkasinda browserlar var. Ziyaretçinin veri almak, bu veriyi yorumlamak, geriye vermek veya kaydetmek v.s. bütün aktivitiler için yapilan çalisma browser tarafindan ilgili siteye tekrar veri gönderilmesinde yatiyor. Örnegin sitenizde bulunan bir text box’a veri almak, ziyaretçi diger bir text box’a geçtigi zaman da ona cevap vermek istiyorsaniz onBlur() eventini kullanarak, Javascript tarafinda ilgili text box’a girilen verinin sunucuya gönderilmesini, sunucudan cevap geldigi zamanda sayfa içerisinde belirlediginiz noktalarda bu verinin gösterilmesini saglayabilirsiniz. Bunun için yapmaniz gereken

  • Ziyaretçi tarafinda javascript ile ziyaretçiden istenilen veriyi almak ve bu veriyi XMLHttpRequest’i kullanarak sunucuya ulastirmak. Çok yuvarlak bir anlatim oldu, örnekte daha detayli görebilirsiniz. Ajax’ta kullanici tarafinda (Javascript-CSS) çok önemli.
  • Sunucu tarafinda, ziyaretçi tarafina göndereceginiz verinin hazirlanmasi. Burada isterseniz XML, isterseniz HTML kullanabilirsiniz. Bunun yaninda kendi formatlama biçiminizi de kullanabilirsiniz. Örnegin veritabaninizda iki tane kolon varsa ve siz bunlar üzerinde sorgulama yapiyorsaniz,
    select id, sehir from sehirler where id<30;
    Javascript tarafina veriyi,
    01,Adana;02,Adiyaman;03,Afyon;04,Agri;05,Amasya
    seklinde verebilirsiniz. Javascript tarafinda gelen bu veriyi önce ‘;’ ile ayirarak, daha sonra da ‘,’ vererek kullanabilirsiniz. Sunucu tarafindan döneceginiz sonuç tamamen sizin Javascript tarafinda ne kadar is yapmak istediginize bagli.

Webte buldugum baska bir örnegi burada türkçe kaynak olmasi yönünden kisaca ele almak istiyorum.
Öncelikle kullanici tarafinda interaktif olmasi istediginiz kismi olusturmaniz gerekiyor. Burada yapmak istedigimiz kullanici Plaka Kodu olarak bir sehir kodu girdigi zaman bu veriyi sunucu tarafina iletmek, sunucu tarafindan gelen cevabi Sehir kisminda göstermek.

Plaka Kodu:

Sehir:

Formda dikkat ederseniz, Plaka Kodu’na bagli bir listener var. onblur listener’i ile kullanicinin bu textbox’un içine veri girdigini ve baska bir yere tikladigini algilayabiliyoruz ve sehir() fonksiyonunu çagiriyoruz. sehir() fonksiyonu’nu javascript kisminda yazmamiz gerekiyor.
url degiskeni ile veriyi sunucu tarafinda hangi adrese gönderecegimizi belirtmemiz gerekiyor. http.open() fonksiyonunda görüldügü gibi ilk kisim veriyi hangi metod ile göndereceginizi belirttiginiz kisim. Burada sunucudan cevap alabileceginize inandiginiz bütün HTTP metodlarini kullanabilirsiniz, GET, POST, HEAD v.s. Biz GET metodunu seçtigimiz için, GET metodu ile birlikte yollayacagimiz url ve plaka_kodu’ nu ekliyoruz. Onun altindaki satirda, sunucudan olumlu veya olumsuz cevap geldigi zaman, hangi fonksiyon ile karsilayacagimizi belirtiyoruz. Burada sunucudan cevap geldigi zaman handleHttpResponse() fonksiyonu devreye girecek örnegin. http.send(null) satiri ile de veriyi yolluyoruz.

sehir.php

Görüldügü gibi normalde yaptigimiz form yollamaktan neredeyse hiçbir farki yok. Yalniz burada sehir() fonksiyonu ziyaretçiden bir giris oldugu zaman çalistirilacak fonksiyon, bun fonksiyondan evvel fonksiyon içinde kullandigimiz http degiskenini browser tarafinda sayfa yüklenirken olusturmamiz gerekiyor. Bunu yapmak için

get http object

Bu kisimda dikkatli olmaniz gerekiyor, çünkü yazdiginiz kodlar eski browserlarda ve XMLHttpRequest() tam olarak desetklemeyen bazi yeni browserlarda çalistirilmayacak (örn:Opera). Bu kismi da yazdiktan sonra yapmaniz gereken tek kisim, sunucudan cevap geldigi zaman onu sunucuya nasil göstereceginiz. Bunun için dikkat ederseniz, handleHttpResponse() fonksiyonunu kullanacagimizi belirtmistik. Bu fonksiyonu yazmamiz gerekiyor:

handleHttpResponse

Burada http.readyState degiskenin durumunu kontrol etmemiz gerekiyor. Bu degiskenin alabilacegi degerler ve anlamlari su sekilde:
0 = uninitialized
1 = loading
2 = loaded
3 = interactive
4 = complete

Burada bizim için önemli olan deger 4, eger durum 4 ise, sunucu tarafindan verinin bize ulastigini anliyoruz. responseText degiskeni sunucu tarafindan dönen cevaba karsilik geliyor. Bundan sonra yapmamiz gereken tek sey, gelen degeri form içinde Sehir id’sine karsilik gelen yere basmak.

Sunucu tarafinda php kullaniyorsaniz basit olarak sunu yazmaniz yeterli:
ajax
Hepsi bu kadar. Örnegi buradan download edebilirsiniz.

Linux Bash’de While Loop ile SSH Bağlantısını Açık Tutmak

SSH bağlantılarının zaman aşımına uğraması ve ikide bir kesilmesi çok rahatsız edici bir durum. Normalde sunucu tarafında /etc/ssh/sshd_config dosyasına

KeepAlive yes
ClientAliveInterval 60

satırlarını eklediğiniz zaman kurulan bağlantıda server tarafından keep alive paketleri yollanarak bağlantının devamlılığı sağlanması gerekiyor ama sizin bulunduğunuz tarafta firewall varsa bağlantı içinde gerçek veri transferi (DATA paketleri) olmadığı için diğer tarafa RST yollayıp bağlantıyı kesmesine sebep olacaktır.

Bununla ilgili çok güzel bir tip buldum,konsolda

sh -c ‘while date ; do sleep 10 ; done’ &

Bu örnek başka türlü nasıl kullanılabilir? Örneğin bir dizinde değişen son 10 dosyanın her 10 saniyede bir listelenmesi
sh -c ‘while date ; do sleep 10; ls -lrth | tail -10; done’ &

bunu yazıyorsunuz. Bu komutla her 10 saniyede bir konsolo sistem tarihini yazmasını istiyorsunuz, data akışı devam ettiği için bağlantı kesilmiyor.

robots.txt ve güvenlik

Word Press admin giriş sayfasının gösterimi ile ilgili yazdığım yazı ile ilgili Erçin Eker hocamın yorumunu okuyunca aklıma robots.txt dosyası ile ilgili başka bir konu geldi.

robots.txt dosyalarının çıkış noktası ve kullanımı aslında ihtiyacı karşılar nitelikte fakat akla gelmeyen başka bir konu var. robots.txt dosyaları web sunucusu üzerinde “public read” hakkı ile tutulmak zorunda böylelikle arama motorları bu dosyalara erişip, ilgili dizinlerin site yöneticisi indexletmek istemediğini anlayabiliyor.

Örnek bir robots.txt dosyası
User-agent: *
Disallow: /admin/
Disallow: /management/

şeklinde kayıtlarla sitenin root dizininde bulunuyor.

Güvenlik yönünden sıkıntı ise, bu dosyaya herkesin erişebilir durumda olması. Site ve sunucularımıza yapılan ataklardan dolayı “web hacking” in ne olduğunu ve nelere malolabileceği hakkında herkesin az çok fikri var. Web hacking konusunda en can alıcı nokta, hedef sunucunun hangi dizinlerinde ne gibi hassas uygulamalar çalıştığını tespit etmektir. Bu amaçla son zamanlarda çok moda olan arama motorlarının sağladığı apileri kullanarak, hedef site ile indexteki bilginin kullanılması, onun yetersiz kaldığı durumlarda özel yazılımlarla siteyi taramak, default dizinler duruyor mu, genel olarak kullanılan dizin isimlerini kullanarak o dizinler var mı yok mu şeklinde tarama yapılıyor. Bunların hepsi sunucu üzerinde hangi dizinler varın cevabını bulmak için. “robots.txt” dosyasına gelirsek, site yöneticisi kendi eliyle hangi dizinde hangi uygulamaların olduğunu yazıyor ve bunu herkesce okunabilir şekilde yerleştiriyor.

Hoş bir örnek olabilir diye düşündüğüm mozilla.org’un robots.txt dosyasını kopyalıyorum:
User-agent: *
Disallow: /webtools
Disallow: /webalizer

Burada “webalizer” dizinini arama motorlarından sakladıklarını görüyoruz ama siz browserdan http://www.mozilla.org/webalizer dediğiniz vakit mozilla.org sitesinin günlük istatistiği ne kadarmış görebiliyorsunuz.

robots.txt dosyasın içinde bulunan satırlar sitenize saldırmak isteyenler için güzel bir başlangıç olabilir.

Çözüm olarak robots.txt dosyası kullanmak yerine sitenizin root dizinine “.htaccess” dosyasını yerleştirmek
ve bunun içinde hangi dizinlere erişim verceğinizi belirtip, kalanını tamamen kapatmak daha sağlıklı bir yaklaşım olur.

örnek birkaç robots.txt dosyası:
http://www.microsoft.com/robots.txt
http://www.ibm.com/robots.txt
http://www.apache.org/robots.txt
http://www.redhat.com/robots.txt
http://www.linux.org.tr/robots.txt

Word Press Admin Bölümü ve .htaccess

Word Press blog yazılımı olarak beklentilerimin tamamını karşılamasa da yuvarlanıp gidiyoruz işte. Bu aralar arama motorları ile işim gereği biraz daha fazla uğraşmam gerektiği için google, yahoo ve bilumum arama motorlarında blogumla ilgili nelerin indexlendiğini takip ediyorum. Siz de takip etmek isterseniz yapmanız gereken:

site:www.siteadi.com şeklinde arama yapmanız. “site” operatörünün güzel tarafı, google ve yahoo’nun resim indexlerinde de sonuçları görebilmeniz. Bu operatörü kullanarak sitenizin arama motorlarındaki hayali resmini görebiliyorsunuz.

Benim sayfam için yahoo’da yaptığım aramada ilk çıkan sonuç ne hikmetse word press’in admin giriş sayfası oluyor. Tabi admin sayfasının alenen açık olması çok hoş bir durum değil. Bunu engellemek için aldığım önlemi yazmayı düşündüm, böylelikle siz de kendi blogunuzda uygulayabilirsiniz.

apache’nin kimlik denetimi ve yetkilendirme için kullandığı .htaccess ve .htpasswd ikilisini kullanarak wp-admin dizinine erişimi şifreli hale getiriyoruz.

Bunun için .htaccess dosyasını word press admin dizinin altına yerleştirmeniz gerekiyor:
blog ana dizini/wp-admin/.htaccess

“.htpasswd” dosyası erişiminiz olan başka bir dizinde bulunabilir. Benim örneğimde, “.htpasswd” dosyası “.htaccess” ile aynı dizinde bulunuyor.

.htaccess içeriği:
AuthType Basic
AuthName “Sifre Gerekiyor”
AuthUserFile “/home/public_html/blog/wp-admin/.htpasswd”
require valid-user

.htpasswd dosyası için shell den:
# htpasswd -c .htpasswd kullanici_adi

şeklinde yazmanız yeterli. Sonrasında bu kullanıcı için şifre belirliyorsunuz, kullanıcı adı ve şifre ikilisi .htpasswd dosyasına yazılıyor.

Örnek .htpasswd :
ali:zOSE9NzIxzoYo
veli:bcrFMwAnWVM2A

Bu kadar yapmanız yeterli, artık wp-admin dizinine bağlanmak istediğinizde apache kullanıcı adı ve şifre girmenizi isteyecek.

Daha detaylı bilgi için apache’nin tutorial’ına bakabilirsiniz.

Google vs Yahoo – 2.bölüm

Yahoo’nun indexini google’ın 2.5 katına çıkarttığını söylemesi üzerine gerilen ortamda son noktayı google koymuş gözüküyor. Evvelsi gün,google’ın sayfasında dikkat ettiyseniz google logosunun kenarlarında pastalar vardı, google kuruluşunun 7. yılını kutluyordu. O gün google’dan arama motoru indexleri ile ilgili açıklama geldi. “Index olarak ortalıkta adı geçen bütün arama motorlarından tekrarlı olmayan sayfa bazında en az 3 kat daha fazla indexe fazla sahip olduklarını duyurdular.

Bunun ile birlikte market çalışmalarında farklı bir yöne yöneldiklerini de ifade ediyorlar. Yeni yaklaşımlarında artık arama motorlarının ne kadar sayfa indexlediği değil, kullanıcılar arama yaptığı zaman çıkan sonuçların ne kadar tatmin edici olduğunun önemli olduğunu savunuyorlar. Bunun manası ne oluyor? Arama motorlarının aptal birer veritabanı olmayacağını, yapay zekası olan, kullanıcıların istediklerine yakın sonuçlar çıkartmaya çalışan uygulamalar olacağını ifade ediyorlar. Zaten google’ın devamlı “data mining üzerine çalışan akademisyenler alması, bu alanda üniversitelerle ortak çalışması bu konuya daha fazla önem verdiklerinin bir kanıtı.

Bu yaklaşım bana göre de daha doğru. Yahoo’da arama yaptığım zaman sonuçlar google’dan neredeyse 2 kat daha fazla oluyor, peki tatmin edici mi? Hayır! Zaten google’da bu sonuca dayanarak meydan okuyabiliyor. Geçen sefer yahoo, indexini 2.5 katına çıkardığını duyurduğu zaman google tarafından ilk gelen cevap “peki arama sonuçları sizi tatmin ediyor mu? şeklinde olmuştu. Yaptıkları açıklamanın devamında google, yahoo, msn ve ask jeeves ‘i içeren bir deneme yapmışlar. Rastgele belirlenen “Joe Schmoe ve “pickles kelimeleri ile yaptıkları aramada google 451, yahoo 62, msn 60 ve ask jeeves 54 sonuç dönüyor.

Google Kirliliği ve Google Yazılımları

Son zamanlarda birkaç blogta da okuduğum Google’ın webi kirlettiği fikri beni de sarmaya başladı. Artık google’un adsense kampanyasına katılmayan web sayfası neredeyse kalmadı gibi bişey. Hazırladığı içeriği sitesinde yayınlarken, google’un sunmuş olduğu reklam kampanyası ile küçük ölçekli bir gelir elde etmek çok zevkli olsa gerek. Ama benim yaptığım gibi, adsense olsun, adword olsun; google’a para kazandıracak hiçbir linke tıklamayan kişiler için her sayfada google’ın reklamları görmek çekilmez oluyor. Her sayfada “Google’ tarafından eklenmiştir” şeklinde çok biçimsiz, çok sevimsiz reklam parçacıkları… Estetikten çok uzak olmasının yanında, reklamın yayınlandığı site ile yayınlanan reklamların alakasız olması cabası…

Geçtiğimiz haftalarda herkesin bildiği Google, IM yazılımını çıkarttı. Ne keramati varsa ortama bomba gibi düştü, herkeste bir “Ulu google IM çıkartmış,hadi hepimiz onu kullanalım” hali. Bence tam bir dağ fare doğurdu hikayesi. Açıpta kullananlar beklediklerini bulamıyor ama “Ulu google” a kim nasıl kötü bir söz söyleyebilir, hemen “ben google un sadeliğine hastayım abi” moduna geçiyor. Google yaparsa iyi yapar diye birşey kesinlikle olamaz bakınız “Google Desktop”. Ben de aynı havada, “aaa google bir yazılım daha çıkartmış hemen alıp kullanıyım” şeklinde makinama kurdum. Gel gör ki, outlook ve outlook expressteki maillerden, internet explorerdan ıvırdan zıvırdan 1 gb index çıkardı. Bu ne? Index. Harddiskin boyutu zaten 40 gb. 1 gb. indexi ben ne yapıyım diyerek hemen kaldırdım.

Bir diğer örnek “Google earth”. İyidir hoştur dünyayı elimizin altına verir ama her kullanımdan sonra diskte bıraktığı 256 Mb. lık bazı zaman 512 Mb. cache dosyası hangi akla hizmet ediyor? Cache boyutunu değiştirebiliyorsunuz ama bunu kontrol etmeyen (benim gibi diskinde 1 gb. boşu olan yoktur sanırım) kimselerin makinasında gereksiz bir disk kaybı oluşturuyor.

Bunun yanında, google büyümesin sadece arama motoru olarak kalsın dememiz, ABD şartlarında doğru olmayacaktır. ABD’nin “so called” devinimli borsasında yeni birşeyler ortaya koyup halkın sevgisini, saygısını ve ilgisini devam ettirmezseniz bitişin manifestosunu imzalamış olursunuz. Ama ben şahsen google’un arama motoru olarak kalmasından yanayım, her yana elini uzatanların hali pek iyi olmuyor. Bkz. microsoft
Yahoo’nun index olarak Google’dan 2.5 kat daha fazla index yaptığını söylemesi, Microsoft’un MSN ve birçok yazılımı için API yayınlayacağını belirtmesi ortamı biraz kızıştırdı gibi. Yahoo ve Microsoft’un şu anki halini “maymun gözünü açtı” atasözü iyi ifade ediyor. Baktılar google deveyi hamudu ile götürüyor, biz de bu pazardan nasiplenmeliyiz diye çöreklendiler. Google IM çıkarttı derken Yahoo! mevcut IM versiyonuna ses, görüntü ekleyip, mevcut özellikleri güncelleyip yeni versiyon olarak yayınladı. Google’ın işi zor gözüküyor.
Kapanış olarak Google’ı eleştirmekden çok yerden yere vurmayı hedefleyen bu siteye bakmanızı öneririm.

From the Shadows

Kendilerine From the Shadows ismini veren ve “not tv. dot tv.” diye ortaya ikan iki kisinin kurdugu grubun vidyo çekimlerine sans eseri nette dolasirken denk geldim. Şu ana kadar 5 bölüm yapmislar ve download etmek istediginiz zaman boyutlari toplamda 1 gb.’i buluyor.

5 bölümün içerigini izledigim kadariyla özetliyim:

from the shadows v1.0 : İlk etapta amatörlükleri g.ze çarpiyor zaten çekim de baya kisa sürüyor ama içerigi ve ilgili ürünü inceleme sekilleri orijinal. Ellerinde 4 tane Sony PsP cihazi var ve onlarin WiFi özelligini test etmek için önce 4 yol agzinda durup, trafik isiklarinin bulundugu noktalarda durup WiFi üzerinden 4 lü oyun oynuyorlar. Ondan sonraki mekanlar: metroda farkli vagonlarda, otobanda farkli arabalarda ve en son uçaktan asagi atlayip uçus esnasinda. (07:43 dk.)

from the shadows v2.0 : Star Wars’in ünlü karakterinin Jedi (Ceday) ‘in kilicinin amatör olarak yapimini gösteriyorlar. (15:12 dk)

from the shadows v3.0 : Benim ilgimi çeken bölümlerden birisi, WiFi hacking. (32:58 dk)

from the shadows v4.0 : En çok ilgimi çeken bölüm bu oldu. Filmlerde gördügümüz, banka soygunundan sonra polisten kaçis esnasinda trafik isiklarinin yesile döndürülmesi olayinin nasil yapildigini gösteriyorlar. Ayrica Los Angeles trafik sistemini direkt kontrol panelinden gösteriyorlar. Bu konulara göre benim daha az ilgimi çeken Güvenlik kodu konmussun oyun cd lerinin imajinin alinmasini gösteriyorlar. (38:24 dk)

from the shadows v5.0 : Bu bölümü bira yapimina adamislar. İlgili bira fabrikasinda biranin altindan girip üstünden çikmislar. (38:10dk)

Vidyolari Videogamepirate sitesinden buldum, siz de oradan indirebilirsiniz.

Gmail Filesystem

Google Hackleri ile ilgili yeni çıkan neler var diye bakınırken, Gmail Filesystem diye bir projeye denk geldim. Hem fikir hem de yapılan çalışma çok iyi. Gmail hesabınızı GmailFS ile Linux dosya sistemine mount ediyorsunuz ve Gmail hesabınızı yerel disk gibi kullanabiliyorsunuz.
Bu arayüz sayesinde gmail hesabınızda dosyalarınız üzerinde linuxta dosya işlemleri için kullanılan birçok komut kullanılabilir hale geliyor. Gmail hesaplarını sadece dosya aktarım amacı ile kullananlar için vazgeçilmez bir araç.

GmailFS Phyton kullanılarak yapılmış, phyton için bir google apisi de var. Bu arayüz kullanılarak yazılmış diğer bir araçta GoogleSweep Google’ı kullanarak tarama yapılacak hedef network hakkında IP adreslerini kullaranak fikir edinmeye çalışıyor.

Ajax

Blog alemine bir kez daha tesekkür etmem gerekiyor. Bir zincir seklinde beni su anda internet teknolojisi olarak en yeni olarak kabul edilen Ajax’a ulastirdiklari için. Zinciri silsile seklinde saymam sanirim sizin içinde faydali olur. Ilk kaynak alexking Gerçekten çalismalarini ve üretkenligini takdir etmemek elde degil. Su anda gelistirmekte olduklari online feed reader projesi için bayagi zaman harcadiklari ortada. Google’in pazar politikasinda oldugu gibi su anda davetiye usulü hizmet veriyor ve sadece firefox browserini destekliyorlar. Alex King’in bloguna bakarken, feedlounge ‘un elestirisini yapan Dougal Gunters’in sitesine ulastim. Aslinda Alex’in ve diger arkadaslarinin içinde oldugu gurubun yaptigi çalismanin Ajax denilen yeni bir teknolojiler bütünün ortaya çikisi oldugunu ögrendim. Son durakta Jesse James Garrett’in Ajax’in ne oldugu, neden böyle biseye ihtiyaç duyuldugu ve nasil olacagi hakkindaki yazisina ulastim.

Ajax aslinda apayri bir teknoloji degil, mevcut teknolojiler bütünü demek ifade açisindan daha dogru olur diye düsünüyorum.

  • XHTML ve CSS
  • XML ve XSLT
  • XMLHttpRequest
  • ve bunlarin hepsini birbirine baglayan JavaScript

Esas amaç web tabanli uygulamlari masa üstü yazilimlara hem görsellik hem de sürat açisindan ayni düzeye getirmek. Su an için javascript ve sunucu tabanli hazirlanmis bir sayfada her islemden sonra sizin isteginizin sunucuya iletilmesi, sunucuda bunun isleme sokulmasi ve sonucunun size aksettirilmesi, yani ekran karsisinda beklemek. Burada ortaya Ajax kavrami çikiyor.XML tabani ile kullaniciya kaynak saglamak ve bunlarin üzerinde Javascript ile yazilmis kod ile isteklere aninda cevap vermek. Yazida geçtigi kadariyla google bu ise çok para yatiriyormus su anda. Zaten google maps bunun bir örnegi olarak çikti. Web arayüzünün masa üstü arayüzüne dönüsü çok zor gibi gelirdi ama onun ile ilgili bu örnek en azindan programlarda gördügümüz üst menü açisindan bu konunun ortadan kalktigini gösteriyor. Siteler üzerinde hizli çalismanin verdigi rahatlik baya hos olacaga benziyor fakat güvenlik konusu da biraz daha ortaya çikacaktir sanirim. Kullanici tarafindan browserlar daha bir önem tasimaya basliyacak, bu sefer web serverlarda açik bulma yarisi browserlara dogru geçecek sanirim, kanin vücuttaki hareketi gibi.

ajax

Arama motorlarinin dünya savasi ve amazonun a9 u

Google’un arama motoru dünyasina yepyeni bir ürün getirmesi ve diğer firmalarla aralarındaki yarışa yeni bir boyut kazandirmasi, microsoft’un ve yahoo’nun paçalarının tutuşmasına neden oldu. slashdot’taki haberleri okurken bu sayfada microsoftun bu pazartesi duyurduğu yeni ürünün adını bile google’dan çalmakta çekinmediği apaçık ortada. “Virtual Earth
Bu ürününde google’ın “google earth” tarzında uydudan, uçaklardan çekilmiş fotoğraflarla bütün dünyayı ekranınıza seriyor. Google bu ürünü geçen ay duyurdu, microsoft şu anda yarışa 1 ay geç başlamış gözüküyor. Sanırım microsoft bu yarışta daha da geri kalmamak için çok daha fazla düşünmeden bu ürününü duyurdu ve takipçilerine bende varım mesajı verdi zira google haberlerde de yer aldığı gibi, dünyayı bitirdik havasıyla ay ve güneş sistemine uğraşmaya başlamış.
Aslında arama motorlarının bu alana yönelmeleri, artık üç boyutlu arama imkanı vermeleri bence bizler için çok güzel. Bunun için rekabet etmeleri de bence sevindirici. Bu teknolojinin yıllardır askeri alanda kullanıldığı biliniyor ama sivile geçişinin bu kadar ani ve hızlı olması, bu kadar yeni olmasına rağmen çoğu kişi için faydalı olacağı kanısını uyandırdı bende. Ben de meraklılar kervana katıldım ve beyaz sarayından, rusyadaki kızıl elmaya,paristeki eyfel kulesinden, çin seddine kadar ilginç bir seriye göz atma imkanı buldum.
Google ve microsoftun yanında o makalede okuduğum ve ilk defa gördüğüm amazon’un arama motorunu görmüş oldum. a9.com üzerinden de yerel aramalar ve google’ınkine benzer gerçek görüntülere ulaşma imkanı sağlanıyor.

Vmware Rss

Vmware herkesin artik vazgeçilmezi oldu. Ben de vmware ile ilgili orijinal biseyler yapan var mi diye rss kayitlari aratirken vmware’in kendi rss kaynagina denk geldim. Ne var diceksiniz? Orijinal olan sey, hangi kaynaklari takip etmek istediginizi siz seçiyorsunuz, seçimlerinize göre feed olusturuyor. İlk defa bu sekilde profesyonel bir sekilde rss destegi veren siteye denk geldim. Sizin denk geldikleriniz varsa yorum olarak eklerseniz sevinirim.

printf(“hello world”);

Merhaba diyerek baslamak bir türlü nasip olmadi bugün. b2evolution’un kurulumunu sabah 6’da tamamlayip ilk mesajimi yaziyim istedim ama “permission denied” larla karşılaşınca “easy installer guide” dan devam etmeye başladım. Saat 13:22 itibariyle bir MERHABA der hale gelebildim nihayet.

2 hafta evvel gördügüm ve birden bire vuruldugum rss ile çok kisa bir sürede ahbap olup, sitemdeki siirleri bile o hizla rss formatinda yayinlar duruma geldim. rss feed leri ararken bir de baktim bloglarda bir dünya yatiyor, gününün yarisini internette geçiren birisi olarak bir blogda ben katiyim bu dünyaya diyerek blogumla karsiniza geldim.

Artik yazilarimla, gün içinde gördüklerim,ögrendiklerimi size aktarip yeni baslayan ve su anda devam etmekte olan arkadaslara faydali olmaya calisacagim. “Comment” leriniz ve e-maillerinizle katilimlariniz tabiki beni çok mutlu kilacaktir.

css.php