Güvenlik konusunda belki de en önemli meseledir dosyaların güvenliği. Çünkü dosyalar bizzat sitelerin çökertilmelerine sebep olabilecekleri gibi wp-config.php gibi kritik bir dosya nedeniyle veritabanınıza da veda etmek zorunda kalabilirsiniz. Dosya güvenliği konusunda wp-config.php dosyası üzerinde özellikle durmak istiyorum. Bununla birlikte diğer dosyaların güvenliği ve .htaccess dosyasından da bahsedeceğim.
WordPress Güvenlik Tedbirleri yazı dizisideki diğer yazıları aşağıda görebilirsiniz.
WordPress kurulumunu tamamladıktan sonra ilk yapmanız gereken şey wp-admin klasöründeki install.php dosyasını silmektir. Ardından sıra dosyaların izinlerindedir. Yanlış bir dosya izni nedeniyle sunucuya sızılabileceğini unutmayın. WordPress’in kritik dosya ve kalsörleri ile bunların izinleri için aşağıdaki tabloyu referans olarak alabilirsin ama tabi çok daha sıkı bir sistem için izinleri kendi isteğinize göre ayarlayabilirsiniz.
Ana dizin (root directory) : 0755 wp-includes/ : 0755 wp-admin/ : 0755 wp-admin/js/ : 0755 wp-content/ : 0755 wp-content/themes/ : 0755 wp-content/plugins/ : 0755 wp-admin/index.php : 0644 .htaccess : 0644 wp-config.php : 0644
Bazı eklentiler kurulmak için wp-content gibi klasörlerin yazılabilir olmasını ister. Böyle durumlarda eklentiyi kurmadan önce dosya iznini 0777 yapın ve kurulum tamamlandıktan sonra klasörü tekrar eski dosya iznine döndürün. Aynı durum .htaccess dosyası için de geçerlidir. Mutlaka eski dosya iznine dönüş yapın.
Yükleme klasörünüzün (uploads, yuklemeler vb.) dosya izni 0777‘de kalabilir ama arada bir bu dizini kontrol etmek ve zararlı bir dosya (örneğin .php uzantılı ve sizin yüklemediğiniz bir dosya) var mı, bakmak gerekli.
WordPress sisteminizde açık olmasa da kullandığınız eklentilerde açıklar bulunabilir. Ziyaretçilerinizin bu dizini yani eklentilerinizi görmelerini engellemek istiyorsanız boş bir dosya oluşturup bu dosyayı index.html olarak kaydedin ve wp-content/plugins dizinine FTP ile yükleyin. Artık eklentileriniz tarayıcı vasıtasıyla görünmezler.
Not: Güncel WordPress sürümlerinde zaten boş bir dosya bulunuyor(index.php). Bulunmayanlar bu bahsettiğim boş index.html dosyasını kullanabilirler.
Güvenli bir WordPress için sağlam bir .htaccess dosyası çok önemlidir. Bu dosya genelde WordPress’in standart yönlendirme içeriğini barındırır ama geliştirmek ve güvenliğimizi artırmak bizim elimizdedir. Bu nedenle aşağıdaki kodları .htaccess dosyanızın en üstüne yapıştırmanızı öneririm. Her satırın üzerinde ilgili kodun ne işe yaradığını yazdım. Aşağıdaki kodları olduğu gibi kopyalayıp .htaccess dosyasına yapıştırarak kullanabilirsiniz. Eğer henüz bir .htaccess dosyanız yok ise boş bir dosya oluşturun, içine aşağıdaki kodları kopyalayın ve bu dosyayı sunucunuza yükleyin. Hepsi bu kadar.
# .htaccess dosyasına erişimi engelle <files .htaccess> order allow,deny deny from all </files> # sunucu imzasını kaldır ServerSignature Off # dosya yükleme boyutunu 10mb ile sınırlandır LimitRequestBody 10240000 # wpconfig.php dosyasına erişimi engelle <files wp-config.php> order allow,deny deny from all </files> # wp-load.php dosyasına erişimi engelle <files wp-load.php> order allow,deny deny from all </files> # dizin listelemeyi iptal et Options All -Indexes
Bu dosya WordPress günlüklerinin en önemli dosyasıdır çünkü içinde veritabanına bağlantı için gerekli bilgiler ile birlikte temel ayarlar bulunur. İşte bu nedenle bu dosyayı mutlaka korumalıyız.
Bununla birlikte wp-config.php dosyasının içeriğini şifrelemeyi unutmayın. Şifreleme için ionCube, Zend Guard veya en basiti ve ücretsiz olan phpr.org sitesindeki aracı kullanabilirsiniz. Benim tercihim ionCube‘den yana. Tabi şunu da unutmamak gerekir ki her şifre kırılabilir. Bu nedenle hiçbirine tam olarak referans olamam. Ben sadece böyle bir yolun da olduğunu bilmenizi istiyorum.
ionCube ile Dosya Şifrelemek: Aslında bu gerçekten çok basit bir işlem. Önce ionCube sitesine üye oluyorsunuz. Sonra kredi yüklemek için ödeme yapıp (minimum 5$ = 10 dosya) kredinizin yüklenmesini bekliyorsunuz. Krediniz yüklenince Encode (Şifrele) sayfasına gidiyor ve şifrelemek istediğiniz dosyayı gönderiyorsun. Dosya şifrelenip size geri veriliyor. Verilen dosyayı sitenize koyup direk kullanmaya başlayabiliyorsunuz.
ionCube ile şifrelenmiş bir wp-config.php dosyası yaklaşık olarak şöyle görünür.
<?php
if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
?>
4+oV575DvTsGajqIUVykSFuJGG8fQa3HJdW84yY76SRKAYvtpoMNsaj+cvZ0rvmH+Oshi+/HhoFu
mUwQCqePxKNCBS5qWo2+/U5v50KOGpurR5jzM2aoY8GZqeQ6W4jDu2MFPQ/vt41caF6wjzJOmtMs
GQv29n2lLMSGAvnG1G0vGHltkRu8EApnKgxVuGL2UOax2xVDOmD9kTlH/99tEU57NvXrYIIfFLRP
hypRoh02Prk4A0oGo7e32t40TkIi+YRufAQsKOaL4m8tOBGl9iBKeGxc5TvLODf0SM5TcTmsf3Ab
4CJCQzzrx6L23jsrUaHZPrBdOVubdBaG7P4txEdfVMA9HaPgRkf0j7lB9i4Zhy879Ta6o54IcOpD
axMyhFZ9LmUTWjyvN0n92/1xc1CnAwbYKFLfPROeodEKaJKedNNl2BCu0BbGLgk5b1U3+7QRdO4g
fHogbUNw/q5kgvUftcTFTYk5eBi3i0ibbVhJYxx8YyPqjUjh4hFiCSs0LZiPUJMY1qtMfWBfn+Jj
qw11r4cpgjwVq5ur3+pMcQ8CxCnOHX8DauxZ/fQP7eDKkbp/FJX7GlyV9z/zn5D+wIyKyfEEHYWi
UEDDPIkIo2PGSs1ZhIdnt3hyj0DbwCT9Gf51OkdUQulKGTwRzYFRIP8e3cVfpCXHjvc37l/jXFPN
vlCm6n6EQqPuhgYPO1Abpo+Ne5Xp7ihu6RtHI/KvQgpywub2BRpsvypvmzeNX359tzt543q92Mh5
HnyTYIFHXzXMRcLwu1Fu4YYCGnXKnJXS8ITq0MQV+A4zJd7dTgKv44WjI8tqZ4oLjQhTv/lEnkR+
zzPhnLKUHlvRF/Ww01Qbjzzneh+AxSIfHqdBtB3gnxwvo6dj8AN4EIl8Lk6tq8YHqBN9dWnN03/6
wC3rB2bgPP+xXzY/kuoH5W11lsIsjdfXobEj+tTpRANAMiBcxdu7+Ph97KKHTENlZ08gfl+1a4WK
vWavse/s8VcY7W8CM05r1JNGHJs83aBgx0wKOvIFBnBncZNdAvjL+adRQWdIstl+X1AAnbaUbF1C
gIVkcirAUGfN/YOgx6JjjO6Wk9vbXPN8aQXHe58LKKHolYMTnVimDuhyMYaYdF6VZKqc+ZN4Ccss
6QeMgz/7TIavAtumqzAlkZUBMhad0+we1eUmXEuQDGj2G7+/hj5pCKUjIDK1Hp9BkkepP8u0c8ec
X+tU1uTmD8Rf3nvSoD7O0UFhWQL8mkUgeAmiafKDIoK+Co1qr7IwN3avlp0M2alGZHgaOUV6wHUT
H9j2AOgvHJXoa6jlo47KViPrvARriCUMSzH6dpZ23Fr0Lj+jktWP6UKIGL6MNLyM4K77ce4IbSBH
r4zPIMTSzDPgGkpalp02tUIea0nQbcL67cDT6JuRZqxu7FV0yCdPHFquanH5sgI9S3CxsSRbBh8i...
wp-config.php dosyası çok önemli olduğu için sadece şifrelemeye güvenemeyiz. Bununla birlikte wp-config.php dosyasının bulunduğu dizini veya dosyanın direk ismini değiştirmeliyiz. Bunu yapmak için de sitemizin ana dizinindeki wp-load.php dosyasını açmalı ve wp-config.php yazan yerleri dilediğimiz şekilde değişirmeliyiz. Örneğin wp-content klasörüne taşımak için wp-load.php dosyasındaki wp-config.php yazan yerleri wp-content/wp-config.php şeklinde değiştirmeliyiz. İlgili satırların değişmiş hali şu şekilde olacaktır.
if ( file_exists( ABSPATH . 'wp-content/wp-config.php') ) {
/** The config file resides in ABSPATH */
require_once( ABSPATH . 'wp-content/wp-config.php' );
} elseif ( file_exists( dirname(ABSPATH) . '/wp-content/wp-config.php' ) && ! file_exists( dirname(ABSPATH) . '/wp-settings.php' ) ) {
/** The config file resides one level above ABSPATH but is not part of another install*/
require_once( dirname(ABSPATH) . '/wp-content/wp-config.php' );
Bu dosyayı korumak için öncelikle .htaccess dosyasına, tarayıcı üzerinden wp-config.php ve wp-load.php dosyalarına erişimi engelleme kodunu eklemeliyiz. .htaccess dosyasını incelediğimiz başlıkta bu kodu zaten vermiştim ama yine de tekrar yazayım.
# wpconfig.php dosyasına erişimi engelle <files wp-config.php> order allow,deny deny from all </files> # wp-load.php dosyasına erişimi engelle <files wp-load.php> order allow,deny deny from all </files>
Güvenlik için alınacak tedbirlerde bir sınır yok yani alabildiğiniz kadar tedbir alabilirsiniz. Örneğin klasörlere ve dosyalara erişimi engellemek için Cpanel gibi yönetim panellerinden faydalanabilir, dilediğiniz klasörlere parola koruması ekleyebilirsiniz.
WordPress’in wp-content klasörünün ismini değiştirmeniz de mümkün ama sitenizin kaynağına bakıldığında bu dosyanın ismi kolayca öğrenebileceği için bunu bir tedbir olarak saymıyorum.
Güvenli bir site için belki biraz fazla emek sarfediyoruz ama burada yaptıklarımıza harcadığınız zaman, siteniz çöktükten sonra geri getirmek için harcayacağınız zamanın çok ama çok daha azı. Bu nedenle üşenmeden gerekli tedbirleri almalı, içimiz rahat bir şekilde yazılarımızı yazmalıyız. Lütfen dosya güvenliği konusunda unutmuş olduğum noktaları ve düşüncelerinizi yorumlarınızda belirtiniz. Diğer güven tedbirlerinde görüşmek dileğiyle…
Genç yaşlarda programlama ile tanıştı ve Delphi ile başladığı programlama macerasına şuanda PHP, SQL, Javascript, AJAX, CSS, XHTML teknolojileri ile devam etmektedir. Elektrik - Elektronik bölümü mezunu olan "yakuter" 2006 yılından itibaren yakuter.com'un yazarlığını yapmaya başlamıştır.
GoLden
27 Haziran 2010
Birkaçını yaptım ama wp-config şifrelemeyi yapamadım. Phpr.org'a da güvenemedim nedense ben şifrelerken orjinali sunucuya çekebilir diye düşündüm. Diğer sitelerde de nerede şifreleyeceğimi bulamadım.
yakuter
27 Haziran 2010
@Golden, bu şifreleme aslında çok basit bir şey. ionCube'e üye oluyorsun. Sonra ödeme yapıp (minimum 5$ = 10 dosya) Encode Files sayfasına gidiyor ve şifrelemek istediğin dosyayı gönderiyorsun. Dosya şifrelenip sana geri veriliyor. Verilen dosyayı sitene koyup direk kullanmaya başlayabilirsun. Tabi sunucunda ioncube kurulu olmalı.
yakuter
27 Haziran 2010
Evet, malesef birazcık öyle. Teşekkür ederim yorumun için, senin yorumundan yola çıkarak yazıya bu konuda kısa bir paragraf ekledim ;)
Arslan
27 Haziran 2010
Serinin 2. yazısı tamamen ihtiyaçlara cevap verebilecek güzellikte olmuş. Özellikle son zamanlarda sunucu güvenliğinden kaynaklanan sorunlara çözüm olması.. En azından lamerlera karşı korur. :)
Emeğinize sağlık..
omerdurmus
27 Haziran 2010
ioncunbe'e üye olunca ilk şifreleme sanırım ücretsiz oluyordu, belli bir limite kadar.
Ayrıca sunucunuzda ioncube kurulu değilse, yükleme olmadan çalışan bir nevi portable ioncube dosyalarını indirip, ftp'ye attığınızda ioncube çalışıyor.
yakuter
27 Haziran 2010
@Ömer teşekkür ederim bilgilendirme için. Portable ionCube olduğunu bilmiyordum, öğrenmiş oldum :) Yazıyı ona göre düzenlerim. İlk yükleme değil de "test yüklemesi" seçeneği var. 8 saatlik oluyor ve süresi dolunca iptal oluyor.
Desmal
28 Haziran 2010
Beklediğim seri geldi. Ellerine sağlık.. Göz gezdirdikten sonra bir de detaylı okuyup uygulama kısmı kalıyor benim için ..
yakuter
27 Haziran 2010
İşinize yaramasına çok sevindim. Eğer unuttuğum, gözümden bir kaçan nokta görürseniz çekinmeden söyleyiniz lütfen. Kolay gelsin.
Desmal
28 Haziran 2010
Aslında şöyle birşey de yapılabilir. Örneğin wp-config.php dosyasını wp-content diye bir klasöre taşıdık. Bu klasörün içine .htaccess dosyası eklenip, bazı ip'lere erişim izni verebiliriz. Hatta diğer belli başlı klasörler için de uygulayabiliriz.
Wordpress İçin Güvenlik Eklentileri | DesmaL Yeşilmen
28 Haziran 2010
[...] mağdur olmuştur. Bunun üzerine Erhan Yakut bir dizi makale yayınlamaya başlamıştı [1] [2]. Gerçekten çok güzel hazırlanmış makaleler bizzat kendim de denedim bir kısmını ve [...]
Can Kırca
28 Haziran 2010
Muhteşem bir yazı dizisi.
ben boş index atmak yerine,
(<?php
header("Location: http://site-adresi/");exit;
?>)
biçiminde bir kod koyuyorum index.php ile, böylece o klasörlere web tarayıcısı ile erişmek isteyen kullanıcılar da direk anasayfaya yönlendiriliyor.
çok teşekkürler, ellerinize sağlık.
Can Kırca
28 Haziran 2010
portable ioncube değil de, php.ini ile load etmek yerine, şifreli dosyanın ilk başındaki satıra istinaden, dosya okunurken, aynı dizinde gerekli dosyalar varsa load edilebiliniyor.
fakat şunu da belirtmek lazım, birincisi, tüm ioncube dosyalarını atmak lazım ana dizine, php sürümüne göre değişiyor load edilecek dosya, ikincisi, linux dağıtımlı, .so dosyaları olmalı, üçüncüsü, sunucunuzda ioncube olup olmadığını test etmek için, ioncube paketinden çıkan test scriptini ana dizine atıp test edin, yoksa sunucu sahibinizden yüklemesini isteyin, zira apache kullanan sunucularda, diğer plugin'lerle birlikte load edilmeli, ki zaten cpanel kuruluysa, apache easyapache ile derlenirken ioncube+zend işaretlenmeli, php.ini elle düzenlenemiyor maalesef. 3. kısımda demek istediğim, web root dizinine atılarak load edilen ioncube 'a pek güvenmeyin.
The Cosmic
30 Haziran 2010
güvenlik konusu hakkında çok güzel bir yazı olmuş, oldukça kapsamlı
teşekkürler yakuter….
canov3r
30 Haziran 2010
ionCube şuan kırılıyor, o kadar güvenmeyin derim.
Güzel makale olmuş yakuter.
yakuter
30 Haziran 2010
canov3r, teşekkür ederim yorumun için. Biliyorum kırıldığını zaten yazdıda da söyledim ama kırılaca diye hiç şifrelememek de olmaz değil mi ;)
videoturka
03 Temmuz 2010
dostum bunlar harika bilgiler gerçekten.wordpress sitemelerimin hepsinie yazılanları uygulucam.
Hulusi
03 Temmuz 2010
Merhabalar,
Yakuter hocam faydalı bir yazı olmuş hepsinide yaptım fakat kafama takılan bazı noktalar var.
1-) Tema içerisindeki dosyaların izinlerini kaç yapmamız gerekir ? (Geçenlerde hack yedim index.php değiştirmişler anlayamadım)
2-) wp-load.php dosyasındaki wp-config yerlerini değiştirdim hatta wp-config.php dosyasının ismini bile değiştirdim bir sorun olur mu ? (Örn: dosyaismi/xxxzxzz.php)
3-) .htaccess dosyasına eklediğimiz kodların çalışıp çalışmadığını nasıl anlarız ? (wp-load ile config kodları gerçekten gizli kalıyor mu?)
Teşekkürler cevaplarsanız sevinirim…
Ahmet Alpcan
03 Temmuz 2010
teşekkürler güzel bilgiler.
yakuter
03 Temmuz 2010
Merhaba Hulusi, sorularını elimden geldiği kadar cevaplamaya çalışayım.
1. Temanın CHMOD ayarları 755 olmalı.
2. wp-config dosyasının ismini değiştirmen veya konumunu değiştirmen önemli değil. Yeter ki wp-load.php dosyasında bu dosyanın konumunu bildir. Bir de makalede wp-config.php dosyasını şifrelemekten bahsetmiştim. Eğer onunla birlikte wp-load.php dosyasını da şifrelersen çok daha güzel olur.
3. .htaccess dosyasına yazdığın kodlar tarayıcıdan girmeyi engelleyecektir. Yani site.com/wp-config.php yazarak dosyaya ulaşılması engellenir. Gizlemeden mantık budur.
Hulusi
03 Temmuz 2010
Merhabalar,
Çok teşekkür ederim hocam. Geçenlerde Facebook'tan mesaj atmıştım hacklenme sebebimi öğrenmek istemiştim sanırım yoğundunuz buradan sormak istiyorum acaba neden index yedim? Dosya izinlerinden olabilir mi veya ben 2.9 sürümü kullanmaya devam etsem bi sorun olur mu?
Tıpku Dmry'ın 2.8 kullandığı gibi 2.9'da kalmak istiyorum. Ayrıca websitenin hangi sürümde olduğunu kaynak kodundan gizledim Generator 2.9 olarak göstermiyor. Yinede hacklenme durumu olur mu acaba?
Saygılarımla çok teşekkürler.
yakuter
03 Temmuz 2010
Merhaba Hulusi, hacklenmenin sebebi büyük ihtimalle WordPress değil, sunucunda bulunan bir açıktır. Bu nedenle yapabileceğin fazla bir şey yok ama bence sen yine de son sürümü kullan. Bu arada Facebook'u sadece ailem için kullanıyorum.
salihrocker
04 Temmuz 2010
eklemek istedim wp-config.php yi gizledikten sonra root'da da bi tane sahte wp-config.php dosyası bulundurmak güzel bir fikir, hacker bu dosyayın asıl wp-config.php olduğunu sanarak zaman harcayabilir :d belkide vazgeçer :d
bilgilendirme için tşkkrler…
a.samet
10 Temmuz 2010
teşekkür ederim paylaşımlarınız için . hepsi gayet açık bir şekilde aktarılmış bir kaçını uyguladım bile ;)
skullcrusher
12 Temmuz 2010
Benim sorum htaccess içerisine girilen girdilerle ilgili. Diyelim ki wp-config.php dosyasının adınıda yolunuda belirtilen sekilde değiştirdik, (dosyayı /wp-content/ e taşıdık, isminide blabla.php yaptık)
bu durumda;
–files wp-config.php–
order allow,deny
deny from all
–files–
girdisini nasıl düzenlememiz gerekecek.
bu şekilde mi düzenleyeceğiz.
–files wp-content/blabla.php–
order allow,deny
deny from all
–files–
.
ne_o
12 Temmuz 2010
Çok yararlı bir yazı olmuş. Devamını merakla bekliyorum. Elinize sağlık.
erhan
13 Temmuz 2010
Merhaba hocam,
Bazı dosyaların isimlerini vesaire değiştirmekten bahsetmişsiniz.Peki otomatik güncelleme yaparken bu dosyalar tekrar bozuluyor mu?
wp-config in yolu değiştirdik diyelim.Otomatik Güncelleme yaparken kendi buluyor mu?
yakuter
13 Temmuz 2010
Aynen söylediğin gibi eğer otomatik güncelleştirme yaparsan bu dosyalar bozulurlar ve standart hallerine dönerler. Tekrar düzenlemek gerekiyor yapılanları.
Halil ibrahim
19 Temmuz 2010
sitem yeni olmasına sebebiyle böyle bilgileri ögrenmem gerektigini biliyorum teşekkürler kardeş
sardag
28 Temmuz 2010
Çok çok teşekkürler, acemilere yardım ederek sevaba giriyorsunuz, öğrenmek kadar öğretmek de zevk veriyordur diye düşünüyorum. Kaleminize ve kendinize sağlık. selametle:)
kuzublog
30 Temmuz 2010
Böyle faydali bir yazi için teşekkürler.
sitemap.xml ve sitemap.xml.gz chmod ayarlarinin 0666 olması normal mi acaba?
kuzublog
07 Ağustos 2010
Şu sıralar çok yoğunsunuz sanırım. Serinin diğer yazılarını beklemekteyiz.
Cevat OZTURK
15 Ağustos 2010
SAyın Erhan Hocam. Mükemmel şeyler anlatmışsınız, ancak ben bunları sıkışınca arayıp bulanlardanım. Derdimi kısaca arzedeyim. <a href="http://www.kadibukukoyu.com” target=”_blank”> <a href="http://www.kadibukukoyu.com” target=”_blank”>www.kadibukukoyu.com sitemizde yaklaşık bir aydan beridir sorunlar yaşamaktayız. Ya virüs bulaşıyor yada bugünlerde olduğu gibi sitede hiçbir resim görünmüyor. Dün ve bir önceki gün uğraşmalarıma rağmen siteyi tam yola koymuşken bu sabah bir baktım yine site yamulmuş.
yakuter
16 Ağustos 2010
Merhaba Cevat Bey, sitenize virüs bulaşmış olabilir. Benim de başıma gelmişti. Ben uğraşmadım hiç bu konuyla, doğrudan sunucu yöneticisine başvurdum. Sağ olsunlar önce temamın ve veritabanının yedeğini aldılar, ardından tüm dosyaları silip sistemi baştan kurdular. Kısacası en temiz kurtulma yöntemi. Siz de aynı şekilde sunucu sahibinden yardım isteyebilirsiniz. Saygılarımla…
Yazılan yazılardan ilk siz haberdar olun, yeni yazılar e-postanıza gönderilsin.
menchek
02 Eylül 2010
yakuter.com © 2006-2010 Erhan Yakut. Site tasarım Cenk Akyıldız - (Tema Bilgisi). Hosting sponsoru WebGrup.
Site içerisindeki içerikler izinsiz kopyalanamaz, alıntı yapılamaz.