Erhan Yakut Software Developer @Binalyze | Founder @Passwall | Golang Enthusiast | Open Sorcerer

WordPress Güvenlik Tedbirleri – Dosyalar

5 min read

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.

Dosya İzinleri

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.

Plugins Dizini

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.

.htaccess Dosyası

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.

[php]# .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[/php]

wp-config.php Dosyası

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.

wp-config.php Dosyasını Şifrelemek

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]<?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…[/php]

wp-config.php Dosyasının Konumunu Değiştirmek

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.
[php]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’ );[/php]

wp-config.php Dosyasına Erişimi Engellemek

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.
[php]# 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>[/php]

Dosyalarla İlgili Diğer Tedbirler

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.

Son Sözler

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…

Erhan Yakut Software Developer @Binalyze | Founder @Passwall | Golang Enthusiast | Open Sorcerer

83 Replies to “WordPress Güvenlik Tedbirleri – Dosyalar”

  1. 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.

    1. @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ı.

      1. Biraz masraflı bir işmiş. Yine de teşekkürler anlatım için :)

      2. 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 ;)

      3. 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.

      4. @Ö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.

      5. 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.

  2. 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..

  3. Beklediğim seri geldi. Ellerine sağlık.. Göz gezdirdikten sonra bir de detaylı okuyup uygulama kısmı kalıyor benim için ..

    1. İş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.

  4. 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.

  5. Muhteşem bir yazı dizisi.
    ben boş index atmak yerine,
    (<?php
    header("Location: http://site-adresi/&quot;);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.

  6. güvenlik konusu hakkında çok güzel bir yazı olmuş, oldukça kapsamlı

    teşekkürler yakuter….

  7. ionCube şuan kırılıyor, o kadar güvenmeyin derim.

    Güzel makale olmuş yakuter.

    1. 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 ;)

  8. dostum bunlar harika bilgiler gerçekten.wordpress sitemelerimin hepsinie yazılanları uygulucam.

  9. 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…

    1. 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.

  10. 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.

    1. 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.

  11. 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…

  12. teşekkür ederim paylaşımlarınız için . hepsi gayet açık bir şekilde aktarılmış bir kaçını uyguladım bile ;)

  13. 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–

    .

  14. Çok yararlı bir yazı olmuş. Devamını merakla bekliyorum. Elinize sağlık.

  15. 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?

    1. 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ı.

  16. sitem yeni olmasına sebebiyle böyle bilgileri ögrenmem gerektigini biliyorum teşekkürler kardeş

  17. Ç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:)

  18. Böyle faydali bir yazi için teşekkürler.
    sitemap.xml ve sitemap.xml.gz chmod ayarlarinin 0666 olması normal mi acaba?

  19. Şu sıralar çok yoğunsunuz sanırım. Serinin diğer yazılarını beklemekteyiz.

  20. 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ş.

    1. 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…

  21. Verdiğiniz bilgiler için ne kadar teşekkür etsek az gelir.Sizin verdiğiniz bilgilerle bir şeyley yaptım.Teşekkürler

  22. Yakuter hocam wordpress konusunda gerçekten aşırı başarılı birisin. Tebrikerlmi sunarım.

    Sürekli olarak sitenden faydalanmaktayım ellerine sağlık başarılar..

  23. Otomatik güncelleme yapmadan önce wp-load.php ve ismini değiştirdiğimiz wp-config.php dosyalarının yedeğini alsak ve güncellemeden sonra gerekli yerlere tekrar göndererek ioncube ile şifrelenmiş olsalar bile bu dosyaları tekrar kullanmamız mümkün olabilir mi ? Veya güncel sürüm kurulum paketinden wp-load.php ve wp-config.php dosyalarını çıkardıktan sonra kalan dosyaları sunucuya göndererek güncelleme yapmamız bir sakınca yaratır mı?

  24. teşekkür ederim erhan güzel bir yazı hazırlamışsınız. Sayenizde güvenliğimiz arttı.

  25. Öncelikle bu özverili makale için çook teşekkürler. sizler sayesinde bir şeyler öğreniyoruz
    htacces dosyasına erişimi kapatmak için verdiğiniz kodları htacces dosyasının en üstüne ekledim ancak site hata verdi internal hatası tekrar sildim ancak site eski performansını kaybetti. bu geçici bir durum mu

    1. Mustafa Bey, .htaccess dosyasına yazdığınız şeyi sildikten sonra site eski haline gelir. Mevcut performans kaybının bununla ilgisi olduğunu hiç sanmıyorum. Başka bir sorun olabilir günlüğünüzde, bu şekilde bir araştırma yapmanızı tavsiye ederim.

  26. Hocam yazınız için çok teşekkür ederim. Benim şöyle bi sorunum var google da arattım aynı sorunla karşılaşılan ve cevap yazılan bi makale bulamadım tek çarem siz kaldınız tardımcı olursanız çok sevinirim. .htaccess dosyası otamatik oluşturulmamış bende diğer hostingimdeki dosyası kopyaladım sorun yok. Daha sonra sizin verdiğiniz bilgileri girdim (önceki girdileri silerek) apache sayfası görüntülendi. Dosyayı sildim sayfa normale döndü. Daha sonra .htaccess dosyasının önceki verilerinde değişiklik yapmadan sizin verdiğiniz bilgileri dosyanın altına üstüne ve çeşitli yerlerine ekleyip denedim her seferinde aynı apache sayfası geldi. Ne yapmalıyım? Hocam yardım lütfen. Saygılar.

  27. Bilgiler için teşekkür ederim.
    Bu önerilerin wp'nin tüm sürümlerinde uygulanabilirmi son sürümlerinde herhangi bir sorun yaşanırmı.

  28. merhaba,
    emeğinize sağlık çok güzel bir yazı yazmışsınız. Sadece tek bir yerde sorunum var oda .htaccess dosyasını düzenleyince Internal Server Error hatası alıyorum. Nasıl yapabilirim?

  29. Ya arkadaşlar ben bu güvenlik ayarlarını yaptıktan sonra sitemdeki hiçbir yazı vb. açılmıyor.Admin panelindede hiçbir yer açılmıyor.404 Error falan verip duruyor.

  30. bilgiler için çok teşekkür ederim.Artık güvenlik önlemi almak lazım.

  31. çok teşekkürler en kısa zamanda uygulayacağım inşallah saldırılara karşı önlem olur

  32. Hocam wp-config ve wp load dosyalarına erişimi durdurmak istediğimde cloudfire hatası veriyor.

  33. meraba bu htaccess dosyasından kaç tane var acaba ben de 2 tane var biz bu sizin belirttiğiniz kodları hangi htaccess dosyasına kopyalayalım??
    bende bi public_html klasörü içerisinde bir adet, public_html içerisinde bir tane daha public_html var onun içinde de bir adet daha htaccess dosyası var içerikleri farklı ben hangisine dosyaları kopyalamalıyım ??

  34. Dosya izinleri derken aslında wp dosya yüklerken güvenlik nedeniyle izin vermediği uzantıları siteye yüklemek demek istediğinizi sanmıştım. Acaba mümkünse örneğin *.odt uzantılı bir font dosyasını nasıl yükleyebiliriz konuya ekleyebilir misiniz? Faydalı olur kanısındayım…

  35. Konuyu anlatımınız için size minnettarım (: Artık daha da güvendeyim.

  36. merhaba öncelikle paylaşımlarınız için teşekkürler hocam ben htaces dosyası ıcın verdıyınız kodları dosyanın en üstüne ekledim fakat site 404 hatası verdi buyrun hata

    403 Forbidden
    Access to this resource on the server is denied! Powered By LiteSpeed Web Server
    LiteSpeed Technologies is not responsible for administration and contents of this web site!

  37. dostum ben denedım .htcasses olayını ama sunucu hatası verıyor nasl yapmam gereklı

  38. verdiğiniz .htcasses kodlarını ekleyince yönetim paneline erişilmiyor. ve admin bar sitenin en altında bozuk olarak cıkmaya başlıyor. wp-config.php yi cpanel den şifrelesem olur mu?

  39. merhaba, htaccess dosyasına sizin yazdığınız kodları eklediğimde sitemiz hata veriyor. eski dosyayı yüklediğimde düzeliyor. neden kaynaklanabilir ?

  40. Benimde katkım olsun istedim wp-config.php e ekleyeceğiniz aşağıdaki kod wp-content yolunu değişecekdir.

    define('ABSPATH', dirname(__FILE__) . '/');
    define('WP_CONTENT_FOLDERNAME', 'dosyaismin');
    define('WP_CONTENT_DIR', ABSPATH . WP_CONTENT_FOLDERNAME );
    define('WP_CONTENT_URL', 'http://websiteismin.com/&#039;.WP_CONTENT_FOLDERNAME);
    define('WP_PLUGIN_DIR', WP_CONTENT_DIR . '/plugins' );
    define('WP_PLUGIN_URL', WP_CONTENT_URL.'/plugins');
    /** Sets up WordPress vars and included files. */

    1. wp-content içindeki timthumb.php dosyasına 9 günde 41.000 giriş olmuş nasıl önlerim
      FOLDERNAME', 'dosyaismin'); kafadan bir isim mi vereceğiz
      plugins ?

  41. Bu sayfa çalışmıyor

    şu anda bu isteği işleme alamıyor.
    HTTP ERROR 500

    Site düzgün iken böyle hata verdi

Leave a Reply

Your email address will not be published. Required fields are marked *