WordPress günümüzde çok popüler bir web sitesi yazılımı ve blog'lar, firma web siteleri, online alışveriş siteler ve hatta büyük portallar gibi pek çok site bu CMS üzerinde kurulu. WordPress'in kullanımı kolay ama bazı güvenlik problemleri de var. Bugün onları nasıl çözeceğimizi anlatacağım. 1. WordPress'i XSS saldırılarından korumak Problem Yazılım geliştiriciler her zaman GET ve POST isteklerine karşı koruma yapmaya uğraşıyorlar fakat bu her zaman yeterli olmayabiliyor. Web sitemizi XSS saldırılarından ve değişkenler ile GLOBALS _REQUEST'in değiştirilmesinden de korumamız gerekiyor. Çözüm Aşağıdaki kod bloğu XSS saldırılarına, değişkenler ve GLOBALS _REQUEST'in değiştirilme denemelerine karşı koruma sağlar. Bu kodu. htaccess dosyası içine yapıştırın. Options +FollowSymLinks RewriteEngine On RewriteCond % . script. RewriteCond % GLOBALS(=|\[|\% ) RewriteCond % _REQUEST(=|\[|\% ) RewriteRule ^ $ index. php Bu kod tüm istekleri kontrol eder ve eğer bir script tag'i içeriyorsa veya GLOBALS ve _REQUEST değişkenlerinin değerlerini değiştirmeye kalkarsa blokluyor ve bir 403 hata sayfası gösteriyor. 2. Ek bilgi göstermeyi kaldırın Problem Eğer yönetici paneline giriş yaparken yanlış bilgi girersek kibar CMS'miz bunun hakkında bilgi veriyor. Bir bilgisayar korsanının girdiği login bilgilerinin yanlış olduğunu görmesini mi istersiniz yoksa hiçbir bilgi görmemesini mi? Çözüm functions. php dosyasını açın ve aşağıdaki satırı ekleyin: add_filter('login_errors', create_function ; 3. SSL kullanımına zorlama Problem Eğer web sitesi ile aranızdaki transferleri korumak isterseniz SSL protokolü kullanılabilir. Verinin bütünlüğü ve gizliliği konusunda koruma sağlar. Bunu WordPress'de yapmak çok kolay: Çözüm Öncelikle hizmet sağlayıcınızın SSL destekleyip desteklemediğini öğrenin. Eğer destekliyorsa we-config. php dosyasını açın ve aşağıdaki kodu ekleyin: define ; Wordpress çok sayıda sabit kullanır ve FORCE_SSL_ADMIN bunlardan sadece bir tanesi. Yönetici paneline giriş yaparken SSL kullanımını mecburi kılar. 4. wp-config dosyasını korumak için. htaccess kullanımı Problem wp-config. php MYSQL sunucusuna ve veritabanına erişimde ihtiyaç duyulan tüm bilgileri içerir. Bu sebeple bu dosyayı korumak önemlidir. Çözüm. htaccess dosyanıza aşağıdaki kodu ekleyin: &lt;files wp-config. php&gt; order allow, deny deny from all &lt;/files&gt; Bu dosyaya herkesin erişimini engellemiş oluyoruz. 5. WordPress sürümünü gizlemek Problem WordPress otomatik olarak sürüm numarasını kaynak koduna ekler ve sitenize saldırmayı planlayanlar için bu önemli bir bilgidir. Her bir WP sürümünün kendine özgü hataları ve güvenlik açıkları vardır. O yüzden bu bilgiyi gizlemeliyiz. Çözüm functions. php dosyasını açın ve aşağıdaki kodu ekleyin: remove_action ; Ayrıca sitenin ana klasöründen readme.html dosyasını da silmelisiniz çünkü onda da WP sürümü hakkında bilgi olabilir. 6. Spam yapanı veya bot'ları IP bazlı yasaklamak Problem Spam yapanlar ve botlar can sıkıcı olabiliyorlar. Çözüm onları IP bazlı olarak yasaklamak. Tabi bu proxy üzerinden gelen spam script'lerine karşı sizi korumaz. Çözüm Sürekli spam yapan IP adresini. htaccess dosyasına ekleyerek sitenize erişimini engelleyebilirsiniz. Aşağıdaki kodu. htaccess dosyasına ekleyin ve IP adresini spam yapanın adresi ile değiştirin. &lt;Limit GET POST PUT&gt; order allow, deny allow from all deny from 123.456.789 &lt;/LIMIT&gt; 7. Zararlı URL isteklerine karşı koruma sağlayacak bir plugin yazımı Problem Bilgisayar korsanları genelde çeşitli kötü amaçlı istekler ile zayıflık bulmaya çalışırlar. WordPress bunlara karşı iyi koruma sağlıyor fakat biz ekstra koruma ekleyeceğiz. Çözüm blockbadqueries. php adında yeni bir dosya yaratıp, içine aşağıdaki kodu yapıştırıp wp-content/plugins klasörüne koyun. Yönetim panelinde diğer eklentileri yaptığınız gibi aktif edebilirsiniz. &lt;?php / Plugin Name: Block Bad Queries Plugin URI: vellumweb.com Description: Protect WordPress Against Malicious URL Requests Author URI: vellumweb.com/ Author: VellumWeb Version: 1.0 / global $user_ID; if { if(! current_user_can('level_10')) { if (strlen &gt; 255 || strpos($_SERVER , "eval || strpos || strpos || strpos($_SERVER , "base64′′)) } } ?&gt; 8. Hotlinking Problem Sitenizde depolanmış olan resimleri başka sitelerin kullandığını düşünün. Bu bantgenişliğinizin harcanmasına yol açacaktır. Çözüm. htaccess dosyasına aşağıdaki kodu ekleyin RewriteEngine On RewriteCond % !^ http:// ?websitem\.com/ RewriteCond % !^$ RewriteRule. \. $ /images/nohotlink. jpg websitem\.com yerine kendi site adresinizi ve /images/nohotlink. jpg yerine hangi resimin görünmesini istiyorsanız onu koyun . 9. Admin hesabını kaldırın Problem Eğer kullanıcı adı bilinirse şifre bulma denemeleri yapmak daha kolay olur. Ve WP varsayılan kullanıcı adı da admin. Çözüm Aşağıdaki veritabanı sorgusunu çalıştırın . UPDATE wp_users SET user_login = 'yeni_login_ismini_yazin' WHERE user_login = 'Admin'; 10. Sunucudaki klasörleri koruyun Problem Çoğu web barındırma sağlayıcısı sunuculardaki klasörlerin içeriğinin görünmesine izin verebiliyor. Örnek olarak eğer www.websiteniz.com/wp-includes adresine gittiğinde içeriğini görebilirsiniz. Tabi ki bu pek de güvenli değil. Çözüm Yine. htaccess dosyasını düzenliyoruz: Options All -Indexes Kaynak : http://turlubicim.com/wordpress-10-guvenlik-ipucu.html