Anasayfa | Giriş Yapın | Üye Olun | Gökçe Kim? | İletişim
Gökçe’nin Web Güncesi (gwg)

Gökçe’nin Web Güncesi (gwg)

Welcome to darkside of the Source, we have cookies!

Gökçe’nin Web Güncesi (gwg) RSS Feed
 
 

Arşiv: PHP

Uyarlanabilir Singleton sınıfı

Daha önceki singleton ile ilgili yazımda, bu yazılım tasarım desenin nasıl çalıştığını ve nerede kullanabileceğimize göre bilgi vermiştim. Fakat bu sınıf, malesef get_class_name fonksiyonunun eksikliğinden ötürü her sınıf için extend ile uyarlamaya izin vermiyordu.
PHP 5.3.0 gelmesiyle, artık bu mümkün.
Örnek:

ExtJS için backend cevap sınıfı

PHP ile ExtJS için kolayca json cevapları oluşturabileceğiniz, çok basit, fakat muhtemelen işinize yarayacak bir sınıf. Çok bulandırmadan kodu yazıp, yazıyı bitiriyorum.
Ext_Response.php

Webde başka bir güvenlik sorunu, CSRF

Öncelikle bu güvenlik sorunu, hem kullanıcıya hem siteye yönelik dolayısıyla site geliştirmiyorsanız bile bilginizin olması gereken birşey. Nitekim çalınacak hesap sizin hesabınız veya hesabın çalınacağı kullanıcı sizin kullanıcınız.
CSRF, Crosssite Remote Forging (sitelerarası uzaktan işleme) açığı, XSS ile benzerlik gösterse önemli bir farklılık taşıyor. Bu sefer sorun sizin siteniz değil, kullanıcı güvenilmeyen bir siteye girdiğinde, sizin [...]

Kohana’ya ilk adım

Kohana‘yı, Bir süre önce, blogdan bir arkadaş Code Igniter yerine önermişti ve incelememi istemişti. Boş zamanlarımda giriştiğim büyük bir projede, Zend’i kullanmaya başlamıştım fakat zaman problemi nedeniyle başladığım projenin quickstart’ını bir de Kohana’da yapmaya karar verdim. Bu kararımda Code Igniter’a bir sempati duymam da var tabii, nitekim CI, ZF kadar güçlü araçlar vermese de genişletilmesi [...]

MySQL ile Hiyerarşik Veriler

Beni forumlarda ‘kategori sistemimim nasıl olmalı?’ , ‘Gruplu, kullanıcı sistemim nasıl olmalı?’, ‘Kullanıcı sayfa yetkilendirmelerini nasıl kurgulamalıyım’ gibi hiyerarşik veri üzerine sorulan sorulara verdiğim cevaplarla görenler, sık sık MySQL’in hiyerarşik dizayna dair makalesini öne sürdüğümü görmüşlerdir. Fakat makale, kendisinin ingilizce olması nedeniyle hem ingilizce gerektirdiğinden, ingilizce bilenler içinse ingilizce terminoloji eksikliğinden dolayı bir takım yeterince fayda sağlayamıyor. Üstüme çevirmenlik vazife değil ama, olduğu kadarıyla ve sabrımın yettiği kadarıyla açıklayarak türkçe kaynakda çalışma zorunluluğu olan arkadaşlara yardımcı olabilirsem; bunun mutluluğunu, huzurunu ve tabii egosunu yaşacağım. Ayrıca orada burada ukalalık ederken daha rahat olacağım gibi geliyor :-) Öncelikle bu makale, tıpkı ingilizce sürümündeki gibi, bilindik kategori sistemini örnek verecek, fakat unutmayın, bu sistemi ister kategorilerde, ister ACL ( access control list / yetki hiyerarşisi) oluştururken, ister kullanıcı hiyerarşisi oluştururken kullanabilirsiniz. Bu makalede doğal olarak makale sahibinin kim olduğu düşünülürse MySQL kullanılarak anlatıldı fakat buradaki yapı illa MySQL ile kullanılacak diye bir kaide de yok. Örnekler SQL ile verilse de tasarım ister Postgre’de ister Oracle’da isterseniz XML’de tanımlanır. Elinizde bu durumda olması gereken tek önemli şey, işlevlerinizi rahatça SQL gibi bir sorgu aracı. Makale birkaç sayfadan, bunlar Eski sayfaları kaldırdım, yazı aşağıdaki bölümlerden tek sayfa halinde oluşmakta;

  1. Gökçe’nin Açıklaması ve bu girişiminin nedenleri (bu sayfa)
  2. MySQL Makalesine Başlangıç
  3. Tümleşik Yapı Kalıbı (The Adjacency List Model)
  4. Yerleşim Yapı Kalıbı ( Nested SetModel)

PHP’de güvenlik, genel bir bakış

Öncelikle konu, bir yazıda incelenemeyecek kadar geniş olduğundan ancak genel bir bakış diyebiliyorum. İkincisi, aslolarak bu mesaj POT (php.org.tr) ‘de, forumda açılan bir konu için yazıldı. Fakat ironiye bakın ki, forumun kötü yazılmış güvenlik rutinleri nedeniyle kabul edilmedi!
Neyse yazının devamında basit kurtarıcı bir iki konfigurasyonlarından, sql injection, lfi, rfi, xss gibi genel web saldırılarından kurtarmanın [...]

Programlamada Geleneksel veya Nesne Tabanlı Seçim

Ne anlamı var bu yazının?
Son zamanlarda, bir OOP çılgınlığıdır gidiyor. 100 satırlık kod, ben bunu nasıl OO ile yaparım sorularıyla süsleniyor. Sizce niye OOP? diye sorulduğunda kimisi “daha düzenli” diyor, kimisi “yeni teknoloji, eskide kalmayalım” diyor, kimisi “bence BMC” diyor. Benim bunlara bulduğum yanıtlar ise, daha düzenli mi? yerine göre evet. Yeni teknoloji? bilgisayar tarihinde [...]

SYN Flood, DoS Atağı

Bu SYN flood kısaca nedir anlatayım; TCP/IP de bir bağlantı açmak için ilk SYN gönderilir, fakat bu noktada kesilirse, SYN quoe denilen sıralama deposu eninde sonunda dolar ve sunucu yeni bağlantı kabul etmez. Benim sunucum 1200 civarına kadar thread destekliyordu, bu yüzden 3 kişi 6-12 yaş arası çocuklar için yazılmış sözüm ona saldırı oyuncakları ile 400-500 ‘er packet’ler yollamışlar sağolsunlar..

PHP ile OOP Serisi: Singleton Class

Belki OOP için biraz fazla ileri bir konu ama, Singleton design pattern’i oldukça gerekli olabiliyor. Pek çok arkadaşımız aslında tek instance’i olması gereken classlarını singleton yapmıyor, biryerlerde aynı object’in tek bir instance’i gerekse bile boyuna çağırıyor. Dolayısıyla PHP boşu boşuna performans kaybediyor, boşu boşuna onca sistem kaynağı gidiyor. Yazık değil mi? Ağlar o memmory blocklar [...]

Code Igniter’ın View’una Layout eklemek

İlk web modeli RoR olan MVC’nin PHP gibi yüksek sayıda takipçisi olan bir web sunucu dili ile gündeme gelmesiyle View’un özellikleri de çeşitlilik gösterdi. Önceleri, sadece template sistemi gibi olan dosyalar varken, View zamanla Layout ve Element özelliklerini de kendine kattı. Konumuz ise Code Igniter (CI)’da olmayan element (aslında gene recursive view) ve daha [...]