WordPress options-permalink 403 Forbidden Hatası

Windows sunucularda karşılaştığım bu hata .htaccess dosyasından kaynaklanıyor. Eğer internette tarif edilen  yöntemlerini deneyip de çözüm bulamadıysanız .htaccess dosyasına  FollowSymLinks direktifini eklemeyi deneyin. .htacess dosyasına eklemeniz gereken 2 satır aşağıdaki gibi.

Options All -Indexes
Options +FollowSymLinks

.htaccess’i kullanan bir başka eklentiye sahip değilseniz .htaccess dosyasının tam içeriği aşağıdaki gibi olacaktır.

# BEGIN WordPress
Options +FollowSymLinks
Options -Indexes
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /wordpress/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /wordpress/index.php [L]
</IfModule>
# END WordPress

PHP için Güvenlik Kontrol Listesi

sk89q.com daha önce burada yayınladığı php güvenlik kontrol listesinin yazdırılabilir bir sürümünü PDF cheatsheet olarak yayınlamış. Sitede daha önce de bazı cheaatsheet‘ler yayınlamıştım.

[Download not found]

E-Dergi: phpdergi

phpdergi okuyucularına web uygulamaları geliştirirken yardımcı olmayı hedefliyor. Sadece PHP değil, web uygulaması geliştirirken ihtiyaç duyduğunuz birçok alanda yazılar bulabileceksiniz dergide. JavaScript’ten sistem yönetimine, web sunucu kurulumundan CSS’e kadar hem basit hem ileri seviye birçok yazı okuyacaksınız dergide.

Elinizin altında internet adı verilen hemen her şeyi bulabileceğiniz bir kaynak var. Derginin farkı ise hiçbir yerde olmayan konular ya da fikirler içermesi olacak. Özellikle yukarıda belirttiğimiz gibi deneyimlerle kazanılan bilgiler, ipuçları ve web uygulamalarının güvenliği üzerine yazılara sık sık rastlayacaksınız.

http://www.phpdergi.com/

PHP ile TC Kimlik Numarasını Doğrulamak

Kullanıcıdan web form aracılığıyla bazı bilgiler almak gerektiğinde bilgileri doğrulama yoluna gideriz. TC kimlik numarasının formulize edilidğini daha önce söylemiştim. TC Kimlik numarasının son 2 hanesi ilk 9 hanesini doğrulamakta kullanılan bir tür güvenlik kodudur. Aşağıda güvenlik kodunu üreterek TC kimlik numarasını yazım yanlışlıklarına karşı doğrulayan is_valid_tckn() adında bir PHP fonksiyonu yer alıyor. Ayrıca C# ve VB fonksiyonlarını da sayfanın devamında bulabilirsiniz.

PHP TC Kimlik Numarası Doğrulama Fonksiyonu

Okumaya devam et “PHP ile TC Kimlik Numarasını Doğrulamak”

WordPress – WP Simple Cache Plugin

WP Simple Cache, wordpress kullanan sitelerin cevap süresini azami derece azaltan bir eklenti. Benzer birkaç eklenti varken neden böyle bir eklenti yazmaya giriştim derseniz, daha hızlı ve kullanımı kolay olan bir eklenti hazırlamak istedim. Bunda kullandığım diğer cache eklentilerinin yükleme ve performanslarında yaşadığım sorunlar etkili oldu. Ayrıca bu eklenti ile wordpress deneyimimi artırma şansı buldum. WP Simple Cache wordpress camiasına hediye ettiğim iikinci eklentim oldu. İlk göz ağırım WP Onlywire Auto Poster eklentisini buradan inceleyebilirsiniz.

Okumaya devam et “WordPress – WP Simple Cache Plugin”

Hangi Linux Dağıtımını Seçmelisiniz

Bu belgede, çok kullanılan kimi Linux dağıtımları hakkında, özellikle başlangıç son kullanıcılarının tercih yaparken önceden bir miktar fikir sahibi olabilmeleri için bilgi verilmeye çalışılmıştır. Mümkün olduğunca objektif kalmaya çalışılarak verilmiş bilgilerin ardından yer yer bahsi geçen dağıtımları uzun süredir kullanan kişilerin, bu dağıtımlar ile ilgili -taraflı :) – yorumlarına da yer verilmiştir. Siz de yorumlarınızı belge geliştiricisine ulaştırarak potansiyel kullanıcıların yön bulmasını kolaylaştırabilirsiniz.
Okumaya devam et “Hangi Linux Dağıtımını Seçmelisiniz”

WordPress’e Dosya Yükleyememe Sorunu

Herhangi bir şekilde wordpress’e dosya yükleyemiyorsanız bunun birçok nedeni olabilir. Gönderinize resim/görüntü eklediğinizde hiçbir hata almadığınız halde resim görüntülenmiyorsa sorun yükleme dizininizde olabilir.

Benim yaşadığım sorun şöyle idi: WordPress yönetim ekranındaki Ayarlar->Çeşitli sayfasından sitenize upload edeceğiniz dosyaların bulundurulacağı dizini belirtebiliyorsunuz. Varsayılan olarak bu dizin wp-content/uploads olarak ayarlı. Burada dikkat edilmesi gereken şey yazdığınız dizin yolunun başında ve sonunda taksim “/” işareti olmamalı. Ayar sayfasında nasıl yazılacağıyla ilgili örnek verilmiş ama uyarı yapılmamış. Sorunu nasıl çözerim diye araştırma yaparken wordpress.org da şöyle bir sayfa buldum.  Burada yükleme sorunlarına yol açabilecek olası durumlar ve çözümlerinden bahsedilmiş. Burada anlatmaya çalıştığım sorunun nedeni bu sayfadaki 9. maddede anlatılmış. Ben ettim siz etmeyin… :)

WordPress Nasıl Türkçeleştirilir

WordPress.org’dan ilgilizip zip dosyasını indirip kurulum yaptığınızda wordpress ingilizce olarak kuruluyor. Türkçeye çevirmek için wordpress ana dizinindedeki wp-config.php dosyasında tanımlı olan WPLANG değerini aşağıdaki gibi değiştirmeniz yeterli.


PHP: Aslında CGI Antremanı Yapmalıyız

LKD‘nin Linux-programlama listesindeNeden Cannot modify header information – headers already sent by” hatası alıyorum sorulduktan sonra, Sn. Barış Çuhadır’ın cevaben verdiği bilgiler işin özünü yansıtması açısından çok güzeldi. Paylaşmak istedim.

CGI programları istenilen programlama dili ile yazılabilir. Örneğin ben şu anda C ile kendi cgi kütüphanemi oluşturmaktayım. C ile yazılan bir cgi programı, ayrı bir işlem olarak yaratılmayıp apache cgi modülü ile kullanıldığında, ortalama bir masaüstü bilgisayarda bile saniyede ortalama 800-1200 talebe yanıt verebiliyor.

Hele ki yazdığınız program işlemciyi yoğun olarak kullanan bir program ise, ör. C ile yazılmış, apache üstünde mod-cgi ile çalışan bir cgi programı yine apache üstünde mod-php ile çalışan aynı programdan 5-10 kat daha hızlı çalışmaktadır.
Okumaya devam et “PHP: Aslında CGI Antremanı Yapmalıyız”

Sourceforge Top 25

Bu ay açık kaynak proje deposu sf.net (sourceforge.net)’den 10 milyon 600 bin sayfa sunumu ve 2 milyon 600 bin dosya indirme gerçekleşmiş. Bu ay 171 yeni proje daha sf.net’e kabul edilmiş.

En son istatisiklere göre en çok rağbet gören 25 proje aşağıdaki gibi listelenmiş. PhpMyAdmin, MinGW, KeePass, 7-Zip, Notepad++ ve TinMCE gibi projeler toplist’de çoğu zaman yer almayı başaran projeler. Projelerin çeşitliliği içinde ençok ERP projelerinin fazlalılığı dikkat çekiyor.

TopList’e 21. sıradan dahil olan OCVL (Open Computer Vision Library) görüntü işleme konusunda 500’den fazla algoritmanın bulunduğu açık kaynak kodlu bir kütüphane. Proje derlenmiş uygulamalar ile C++ ve Phyton kodları olarak iyi sayılabilecek bir dökümantasyon ile sunulmuş.

Okumaya devam et “Sourceforge Top 25”

Delphi for PHP’de PageControl nesnesi sorunu

sm_phphello.png

Sıradaki ilk projemi Delphi for PHP (D4PHP) ile yapmaya karar vermiştim. Daha önce de söz ettiğim bu RAD‘ı geliştiriciler arasında sevenlerin sayısı çok. Hem bu düşünceye özgür iradem ile hak vermek hem de fazla bilgi göz çıkartmaz düşüncesiyle D4PHP’nin 2.1.0 sürümünü kurup kurcalamaya başladım.

İnternetteki eğitim videolarını ve d4php’nin samples klasöründeki örnekleri görünce işlerin nekadar kolaylaştığını anlayabiliyorsunuz fakat grafik ve flash yoğunluklu site tasarımlarında d4php ile nasıl entegre çalışılabilir, kod yapısına nasıl müdahale edilir gibi soru işaretleri de hafiften beyninizde belirmeye başlıyor. Macromedia’nın sunduğu studio ortamı kadar konfor yaşayabilirmiyiz yoksa d4php daha farklı projeler için mi daha uygun olur emin değilim.

Yalnız d4php ile advanced nesneler ve ajax’ı kullanarak yerel uyglama (native application) kıvamında, web tabanlı projeleri rahatlıkla ve kısa sürelerde hazırlayabilirsiniz. Zaten böyle bir proje yapacaksanız kesinlikle d4php kullanmanızı öneririm. Henuz d4php deneyimim az ve şimdilik düşüncelerim böyle.

Okumaya devam et “Delphi for PHP’de PageControl nesnesi sorunu”

e-Okul PHP Script’i ve Delphi Programı

Daha önce PHP’de yazdığım yarım kalmış bir e-okul projesinden bahsetmiş ve kodlarını paylaşmıştım. Paylaşımın delphi ayağına ait programı henuz bulabildim. Onuda buradan paylaşacağım. Program kısca; Bilsa Karma programının mdb biçimindeki veritabanlarından not ve devamsızlık bilgilerini alarak script’in kullanabileceği MySQL veribanına aktarıyor. Program temel görevleri yerine getiriyor fakat üzerinden bir hayli zaman geçtiği için eksiklikleri/hataları nelerdi konusunu hatırlayamıyorum.

Okumaya devam et “e-Okul PHP Script’i ve Delphi Programı”

Nesne yönelimli JavaScript öğreniyoruz

Javascript’te object oriented nedir ne değildir iyice öğrenmek isterseniz, Douglas Crawford’un 4 serilik eğitim videosunu yahoo’da izlemenizi tavsiye ederim. Onu mutlaka izleyin, izletin. Object oriented javascript çok güçlü bir dildir, inanamayacaksınız.

Part 1 – http://video.yahoo.com/watch/111593
Part 2 – http://video.yahoo.com/watch/111594/1710553
Part 3 – http://video.yahoo.com/watch/111595/1710607
Part 4 – http://video.yahoo.com/watch/111596/1710658

WordPress.org’da eklenti yayınlamak

WordPress.org’da eklenti yayınlamayı olabildiğince kısa ve basit anlatmaya çalışacağım. Rahat uygulanabilmesi için işlem basamakları şeklinde anlatmanın faydalı olacağını düşündüm. Basamaklara geçelim.

  1. Readme.txt dosyasını buradaki örneğe göre hazırlayın.
  2. Hazırladığınız readme.txt dosyasının doğruluğunu burayı kullanarak teyit edin.
  3. Buradan WordPress.org’a hesap açarak üye olun.
  4. WordPress.org’a oturum açın.
  5. Buradaki eklenti yayınlama başvuru formu doldurun ve gönderin.
  6. Başvurunuz onaylandığında bir eposta alacaksınız.
  7. Eklenti başvurunuz onaylandıktan sonra TortiseSVN programını indirin ve kurun.
  8. Bilgisayarınızda eklenti dosyalarınızı koyacağınız klasörlerin depolanacağı bir klasör oluşturun. (ör:Eklentilerim)
  9. Eklenti klasörlerinin bulunduğu klasörü açarak sağ tıklayın ve “SVN Checkout” komutu verin.
  10. Ekrana gelen Checkout penceresindeki “URL of repository” kutusuna epostadaki SVN repository adresini yapıştırın.
  11. Checkout penceresindeki “Checkout directory” kutusunda eklenti dosyalarınızı içerecek klasörün adı yer alacak.
  12. “Ok” dümesine tıklayın. Eklenti klasöründe “branches“, “trank” ve “tags” isminde klasörler oluşacak.
  13. Readme.txt dahil tüm eklenti dosyalarınızı “trank” klasörün içine kopyalayın.
  14. Trank” klasörüne sağ tıklayın ve “SVN Commit…” komutu verin.
  15. Commint penceresinde listelenen dosyaların solundaki işaret kutularını seçin veya “Select / deselect all” komutunu verin.
  16. Commint penceresini “Ok” düğmesine tıklayarak onaylayın.
  17. Ekrana gelecek olan kimlik doğrulama kutusuna WordPress.org’a üye olurken kullandığınız kullanıcı adı ve parolanızı yazın.
  18. Tebrikler eklentiniz WordPress.org’da yayınlandı.

Eklentinizin SVN deposuna gittiğini görmek için gelen e-postadaki “SVN repository” adresinizin sonuna “trunk” dizinini ekleyerek gözatabilirsiniz. Eklentiler sayfasına giderek en yeni eklentiler (Newest plugins) kısmında eklentinizi görebilirsiniz.

Eğer anlaşılmayan bir nokta olursa diye; buraya ve buraya bakabilirsiniz hatta yorum alanı ile tankado’ya da sorabilirsiniz.

WordPress erişim izni hatasını gidermek

Bu sayfaya erişmek için yeterli izniniz yok” veya ingilizce “You do not have sufficient permissions to access this page” hata mesajını alıyorsanız aşağıda tarif ettiğim işlemleri uygulayarak sorunu çözebilirsiniz.
Bu sayfaya erişmek için yeterli izniniz yok ” hatası çoğunlukla wordpress veritabanınızın bazı badireleri atlatamadığı durumlarda oluşuyor. Bir eklenti kurarken veya WordPress’inizi güncellerken böyle bir hata ile karşılaşabilirsiniz.  Bu hatanın olduğu durumlarda bazen ekleti sayfalarına bazen de WordPress’in yönetim paneline giremiyorsunuz.

Okumaya devam et “WordPress erişim izni hatasını gidermek”

tinyMy ve DBKiss: single PHP file db browser

tinyMy, MySQL veritabanlarını yönetmek için hazırlanmış küçük bir PHP betiğidir. tinyMy tek bir PHP dosyasından oluşan çok küçük ve basit bir betik.

Genellikle web üzerinden MySQL veritabanlarını yönetmek için phpMyAdmin kullanılsada bazı durumlarda phpMyAdmin biraz fazla gelebilmekte. phpMyAdmin birçok özelliği bünyesinde barındırıyor, çok fazla dosyadan oluşuyor ve bazen bu dosyaların boyutu ve kodların çokluğu sunucu başarımı açısından sorun teşkil edebiliyor. Ayrıca dial-up gibi düşük bir bağlantı söz konusu olduğunda biraz konfor kaybı olabiliyor. Çok fazla beklentiniz yoksa tinyMy size göre.

Okumaya devam et “tinyMy ve DBKiss: single PHP file db browser”

WP OnlyWire Auto Poster Plugin

OnlyWire (OW) sitesinden daha önce bahsetmiştim. lionstarr‘ın WordPress Blogları için yazdığı eklentiyi biraz revize ederek yeni özellikler ekledim. WP OnlyWire Auto Poster adını verdiğim bu eklenti yazdığım ilk WordPress Eklentisi. Eklentiyi bir süredir test edip hatalarını düzeltiyordum. Bununla birlikte yakında, yazmaya devam ettiğim katma değeri yüksek SEO eklentilerimi buradan WordPress Blogcuları ile paylaşacağım.

Okumaya devam et “WP OnlyWire Auto Poster Plugin”