OFB: Online File Browser

Tarih: 01/03/2007 | Yazan: Özgür Koca

(Online File Browser) sunucudaki dosyalarınızı yönetmek veya diÄŸerleri ile paylaÅŸkmak için güzel bir script. AJAX ile desteklenen script yetirince hızlı çalışıyor ve sade bir tasarıma sahip. Dosya gönderme de dahil tüm temel dosya iÅŸlemlerini gerçekleÅŸtirebileceÄŸiniz script’in sayfasına bakmanızı tavsiye ederim.




Ajax Powered Forum: MetaForum

Tarih: 10/08/2006 | Yazan: Özgür Koca

sitesi SourceForge benzeri açık kaynak kodlu yazılımlara ev sahipliÄŸi yapan güzel bir site. aracılığıyla edindiÄŸim dergisinde bu ay tanıtılan yeni bir forum script’inden konuÅŸmak istiyorum. Forumun özelliÄŸi son zamanlarda web uygulamalarında çokça kullanılan AJAX yönteminin bu forumda da bolca kullanılmış olması. AJAX web uygulamalarına hız ve fonksiyonellik katıyor. Esasında sayfa yenilemesi yapılmadan, sayfa ile sunucu arasında veri alış veriÅŸi yapmak için kullanılan bir javascript metodolojisi. Bu sayede web sayfaları daha çok bir uygulama görünümüne dönüşmeye baÅŸladı.

metaforum Ajax Powered Forum: MetaForum
adresinden indirebileceğiniz MetaForum gerçekten farklı bir forum deneyim olabilir. (Açık kaynak olmadığını belirtelim)

Not: Yukarıda sözü geçen IBM’im hazırladığı Haber Linux dergisinin eski sayılarına ulaÅŸmak için tıklayın.




Ajax ile güvenli veri aktarımı

Tarih: 09/03/2006 | Yazan: Özgür Koca

XML yada AJAX ile sunucu tarafına güvenli bir ÅŸekilde veri göndermek gerektiÄŸinde bazı özel durumları da düÅŸünmek ve kodda ekstra bazı eklemeler yapmak gerekiyor. Kullanmış olanlar bilirler, XMLHTTP nesnesi kullanıldığında, gönderilecek veri open üye fonksiyonuna parametre olarak verilir. ÖrneÄŸin:

http.open(‘POST’, VERI, true);

veya

http.open(‘GET’, VERI, true);

Yukarıdaki veri deÄŸiÅŸkeni her iki gönderim metodunda da (GET ve POST) aynı ÅŸekilde ve formatta kullanılır. Veri isimli deÄŸiÅŸkenin formatı ÅŸu ÅŸekildedir:

degisken1=veri1&degisken2=veri2&degisken3=veri3

Aslında güvenli aktarımdaki bir sıkıntı da tam burada oluÅŸuyor. Verilerden birinin muhteviyatında &, n veya + (ve özel amaçlı yazdırılamaz karakterler) karekterleri bulunduÄŸunda, veriler sunucu tarafındaki script’te düzgün olarak ayrıştırılamıyor veya aktarılamıyor . Bu sorunun üstesinden gelmek için veri kısmıdaki zararlı karakterklerin ayıklanarak URL’i bozmayacak ÅŸekilde kodlanması gerekiyor. Base64, veriyi kendi karakter tablosunu kullanarak (64 adet karakterden oluÅŸur) kodlayan bir algoritma. Web’de base64 encoder ve decoder olarak birçok javascript fonksiyonu bulmanız mümkün. Ancak bunların hepsi PHP’nin (sunucu tarafında php script kullanıldığını varsaydım) fonksiyonuyla uyumlu çalışmıyor. sitesindeki kodlayıcı ve çözücü fonksiyonlar php.net sitesinde de belirtildiÄŸi gibi PHP’nin base64 kodlama ve kod çözme fonksiyonlarıyla uyumlu çalışıyor.

Gönderilecek veriyi base64 ile kodlamak ve karşı tarafta çözmek tek başına saÄŸlam bir veri aktarımı yapmak için yeterli deÄŸil. Base64 esasında ikili veriyi yazdırılabilir formattaki karakterlere çevirmeye yarıyor. Bu sayede içerisinde veri taşıyıcısını etkileme ihtimali olan zararlı karakterler güvenli bir formata çevrilmiÅŸ oluyor. Base64 algoritması içerisinde (A-Za-z0-9+/) karakterlerinin yer aldığı 64 adet karakteri kullanarak kodlanmış çıktıyı oluÅŸtururuyor . (Base64 algoritmasının çalışmasını çok güzel bir ÅŸekilde açıklayan bir PDF dosyasını indirip okuyabilirsiniz. ~46KB)

Sanırım çıktı karakter kümesinde yer alan + ve / karakterleri dikkatinizi çekmiÅŸtir. Bu karakterlerin XMLHTTP
nesnesine verilen veri isimli parametrede yer alması aktarım açısından sorun oluÅŸturmuyor. Benim farkettiÄŸim tek sorun + karakterinin Apache+PHP ikilsinin çalıştığı sunucu tarafında otomatik olarak boÅŸluk karakterine çevrilmesi.Yani + karakterleri boÅŸluk olarak aktarılıyor. + iÅŸaretinin yok olması (yani boÅŸluk karakterine çevrilmesi)  base64 verisinin orjinalliÄŸini bozduÄŸu için base64_decoder’ın ürettiÄŸi çözülmüÅŸ veri de bambaÅŸka birÅŸey olarak çıkıyor. Bu nedenle base64 ile kodlanmış veriyi göndermeden önce içerisindeki + karakterini bir javascript fonksiyonu olan ile kodlamak gerekiyor. Bu kodlamadan sonra + karakteri %3B URL koduna çevriliyor. PHP tarafında base64_decode’dan önce encodeURIComponent’in yaptığının tersini yapacak bir kod kullanmaya gerek yok. Nitekim, web sunucu URL karatker kodlarıyla gelen %20, %FB ve %3B gibi verileri otomatik olarak orjinal haline zaten çeviriyor. Yani %3B olan kod +’ya istek PHP ye ulaÅŸmadan çevrilmiÅŸ oluyor.

Hazır bol bol karakter kodlamaya dalmışken son bir gerekli kodlamadan ve gerekliliÄŸinden de bahsetmek istiyorum. Latin karakter kümesi dışında bir veri giriÅŸi söz konusu olduÄŸunda muhtemelen sunucu tarafında yada veri tabanında karakter kodlama sorunları yaÅŸayacaksınız. Bu sorun esasında verinin sunucu veya istemci tarafında ele alınış ÅŸeklindeki farklılıktan kaynaklanır. Verinin sahip olduÄŸu mutlak sayısal deÄŸerler farklı kodlama tablolarında farklı karakterler ile yorumlanırlar. Gönderilen veride yer alan karakterler, kullanmakta olduÄŸunuz tabloda yer alıyorsa ve sunucu tarafında da (katar ve veritabanı iÅŸlemlerinde) aynı karakter tablosunua göre ele alınıyorsa hiçbir sorun yaÅŸamazsınız. Özet olarak istemci ve sunucu tarafında aynı kodlama standardının kullanılması gereklidir. Burada tüm karakter kodlama tablolarını içeren ve destekleyen UTF kodlamasının kullanılması gerekiyor. UTF 2 byte’lık unicode adı verilen karakterleden oluÅŸur. Latin alfabesi dışında arapça, çince veya japonca gibi dillerde kullanılan karakterleri de kapsar ve destekler. Verimizi XMLHTTP nesnesi ile göndermeden önce, UTF olarak kodlamamızda, verinin selameti açısından büyük fayda var.

Buraya kadar anlattıklarımı özetleyen kod parçası aslında ÅŸöyle:

function encode(input) {
 input = WebToolKit.utf8.encode(input);
 input = WebToolKit.base64.encode(input);
 return encodeURIComponent(input);
}

Dilerseniz kodun tamamını indirebilirsiniz. ~4KB

Yazan: Tankado




ZK: Ajax but no Javascript

Tarih: 09/03/2006 | Yazan: Özgür Koca

, javascript bilgisi gerektirmeden birazcık programlama bilgisiyle zengin kullanıcı arabirimli web uygulamaları gerçekleÅŸtirmeyi saÄŸlayan açık kaynak kodlu bir ajax web kütüphanesidir. Olay tetiklemeli zengin bileÅŸenleri ile geliÅŸtirme çok daha basitleÅŸiyor. İşaretleme diliyle tasarım yapmak HTML yazmak kadar basit. BilÅŸenler kullanılarak yapılmış demo sayfasını görmek için . Framework’ü indirmek için .




AJAX loading indicators

Tarih: 08/02/2006 | Yazan: Özgür Koca

BaÅŸlıktan anlaşılması gerekn ÅŸu, sitelerimizde AJAX kullandığımızda büyük bir ihtimalle ihtiyaç duyacağımız küçük yüklenme animasyonları vardır ya, onlar iÅŸte. Tam da bu konudaki arÅŸivimi geniÅŸletmek üzere google ile farklı atraksiyonlar denerken ilk defa aradığım konu ile tam alakalı bir site buldum ;) . Sitenin adresi . Adından da tahmin edebileceÄŸiniz gibi bu sitede sadece AJAX için yükleniyor animasyonları yer alıyor. Site aracılığıyla tasarımınıza uygun göstergeler de oluÅŸturabiliyorsunuz. Site ihtiyacınızı karşılamıyor ise nacizane toparladığım arÅŸivimi de buradan indirip kullanabilirsiniz. Ayrıca ÅŸu adreslere de göz gezdirebilirsiniz:




Ve ayrıca yine web uygulamalarınızda kullanabileceÄŸiniz bir kaç hoÅŸ simge de iniyor.




AJAX generic form parser

Tarih: 07/15/2006 | Yazan: Özgür Koca

esasında AJAX’lı uygulamalarda zamandan ve koddan tasarruf saÄŸlasın diye hazırlanmış örnek bir uygulama yer alıyor. Kodlarının en önemli noktasını web formunun kolayca gönderilmesini saÄŸlayan el  yapımı javascript  fonksiyonu oluÅŸturuyor. getForm ismindeki fonksiyon parametre olarak verilen formdaki tüm input nesnelerini (checkbox ve radio’da dahil) isim ve içerikleriyle bilrlikte string formatına çeviriyor.









  • Hakkında | İletiÅŸim | Wordpress.org | RSS | Abone Ol

  • (c) 2005-2009 Wordpress Tema: Tankado & Theme by Tankado.com