En çok ihtiyaç duyduğunuzda güvenilir WordPress eğitimleri.
WordPress Başlangıç Rehberi
WPB Kupası
25 Milyon+
Eklentilerimizi kullanan web siteleri
16+
Yıllık WordPress deneyimi
3000+
Uzmanlardan WordPress eğitimleri

WordPress SQL Enjeksiyon Saldırılarını Önleme (7 İpucu)

WordPress sitenizi SQL enjeksiyon saldırılarına karşı güvence altına almak, verilerinizi korumak ve ziyaretçilerinizin güvenini sürdürmek için gereklidir.

SQL enjeksiyonu, hackerların veritabanınıza saldırmak için kullandığı yaygın bir tekniktir. Bunu yaptıklarında, hackerlar hassas verilerinizi okuyabilir, değiştirebilir ve tüm veritabanınızın kontrolünü ele geçirebilirler.

Web sitenizi bu tehditten korumak için web sitenizde güçlü güvenlik önlemleri uygulamanız çok önemlidir.

WPBeginner olarak güvenliği çok ciddiye alıyoruz ve sitemizi bilgisayar korsanlarından ve kötü amaçlı yazılımlardan korumak için fazladan çaba gösterdik. SQL enjeksiyon saldırılarına karşı önerdiğimiz güvenlik uygulamalarının çoğu, kendimizin başarıyla kullandığı yöntemlerdir.

Bu makalede, WordPress'te SQL enjeksiyon saldırılarını önlemek için adım adım uygulanabilir ipuçları paylaşacağız.

WordPress SQL Enjeksiyon Saldırılarını Önleyin

WordPress SQL Enjeksiyon Saldırılarını Neden Önlemelisiniz?

SQL, WordPress sitenizin veritabanıyla iletişim kuran bir programlama dili olan Yapılandırılmış Sorgu Dili'nin kısaltmasıdır. Bu özellik olmadan siteniz herhangi bir dinamik içerik üretemez.

Ancak, yetkisiz kullanıcı girdisi, güncel olmayan yazılımlar veya hassas bilgilerin ifşa edilmesi güvenlik açığına neden olabilir ve bilgisayar korsanlarının SQL enjeksiyon saldırıları gerçekleştirmesini kolaylaştırabilir.

Bu saldırı, veritabanı sunucunuzu hedefler ve SQL'inize kötü amaçlı kod veya ifadeler ekler. Bunu yaptıktan sonra bilgisayar korsanları, kimlik hırsızlığı, hesap devralma, finansal dolandırıcılık ve daha fazlası için veritabanınızda depolanan kullanıcı verileri gibi hassas bilgileri kullanabilir.

Ayrıca veritabanı girişlerini veya hesap izinlerini değiştirebilir ve gerçek kullanıcıların web sitenizi ziyaret etmesini zorlaştıran DDoS saldırıları gerçekleştirebilirler.

Bu, müşteri güvenine zarar verebilir, kullanıcı deneyimini olumsuz etkileyebilir ve web sitesi trafiğini azaltabilir, bu da küçük işletmenizin büyümesi için kötü olacaktır.

Bununla birlikte, WordPress'te SQL enjeksiyon saldırılarını önleyebilecek bazı uygulanabilir ipuçlarına bakalım. İşte bu makalede bahsedeceklerimizin hızlı bir özeti:

  1. Site Güncellemelerini Düzenli Olarak Yapın ve Bir Güvenlik Duvarı Kullanın
  2. WordPress Sürümünüzü Gizleyin
  3. WordPress Veritabanı Önekini Değiştirin
  4. Kullanıcı Verilerini Doğrula
  5. Kullanıcı Rolü Erişimini ve İzinlerini Sınırlayın
  6. Özel Veritabanı Hata Mesajları Oluşturun
  7. Gereksiz Veritabanı İşlevselliğini Kaldırın

Not: Önleyici tedbirler için veritabanınızda herhangi bir değişiklik yapmadan önce, bir yedeğini oluşturmanızı öneririz. Bu şekilde, herhangi bir sorun olursa, onu düzeltmek için yedekten yararlanabilirsiniz. Ayrıntılar için, WordPress veritabanı yedeğini manuel olarak nasıl oluşturacağınız hakkındaki eğitimimize bakın.

1. Site Güncellemelerini Düzenli Olarak Yapın ve Bir Güvenlik Duvarı Kullanın

SQL enjeksiyon saldırılarını önlemenin etkili bir yolu, WordPress sitenizi düzenli olarak en son sürüme güncellemenizdir. Bu güncellemeler genellikle veritabanı yazılımı sorunları da dahil olmak üzere güvenlik açıklarını kapatır ve bilgisayar korsanlarının sitenize saldırmasını zorlaştırır.

Eski bir WordPress sürümü kullanıyorsanız, Kontrol Paneli » Güncellemeler sayfasını ziyaret ederek en son sürüm için otomatik güncellemeleri etkinleştirmenizi öneririz.

Burada, 'Tüm yeni WordPress sürümleri için otomatik güncellemeleri etkinleştir' bağlantısına tıklamanız yeterlidir. Artık tüm büyük güncellemeler yayınlandığında sitenize yüklenecektir.

WordPress güncellemelerini yükleyin

Daha fazla bilgi için, WordPress'i güvenli bir şekilde nasıl güncelleyeceğiniz hakkındaki başlangıç rehberimize bakmak isteyebilirsiniz.

Bunu yaptıktan sonra, ek güvenlik için bir güvenlik duvarı da ekleyebilirsiniz. Bu özellik, siteniz ile gelen trafik arasında bir kalkan görevi görür ve sitenize ulaşmadan SQL saldırıları da dahil olmak üzere yaygın güvenlik tehditlerini engeller.

Küçük bir çevrimiçi işletme yürütüyorsanız, piyasadaki en iyi WordPress güvenlik duvarı yazılım seçeneklerinden biri olan Sucuri'yi öneririz. Uygulama düzeyinde bir güvenlik duvarı, kaba kuvvet önleme ve kötü amaçlı yazılım ile kara liste kaldırma hizmetleri sunar, bu da onu harika bir seçim haline getirir.

Web sitesi güvenlik duvarı saldırıları nasıl engeller

Araçla ilk elden deneyimimiz var. Hatta geçmişte web sitemizde 450.000 WordPress saldırısını engellememize yardımcı oldu.

Bununla birlikte, Sucuri daha büyük, yüksek trafikli siteler için yeterince güçlü olmayabilir. Bu durumda, güvenlik özelliklerinin yanı sıra etkileyici bir içerik dağıtım ağı (CDN) sunan Cloudflare'ı düşünebilirsiniz.

Web siteniz için hangi seçeneğin en iyisi olduğundan emin değilseniz, neden Sucuri'den Cloudflare'a geçtiğimize dair makalemizi veya Sucuri vs Cloudflare karşılaştırmamızı inceleyin.

2. WordPress Sürümünüzü Gizleyin

Varsayılan olarak WordPress, kullandığınız yazılımın mevcut sürüm numarasını web sitenizde görüntüler. Örneğin, WordPress 6.4 kullanıyorsanız, bu sürüm izleme için sitenizde görüntülenecektir.

Ancak, sürüm numaranızın genel görünürlüğü güvenlik tehditleri oluşturabilir ve bilgisayar korsanlarının WordPress SQL enjeksiyon saldırıları gerçekleştirmesini kolaylaştırabilir.

WordPress sürüm numarasını kaldır

Bunun nedeni, WordPress'in her sürümünün, saldırganların sürümünüzü keşfettikten sonra istismar edebilecekleri kendi benzersiz güvenlik açıklarına sahip olmasıdır. Bu, savunmasız girdi alanları aracılığıyla sitenize kötü amaçlı kod parçacıkları eklemelerine olanak tanır.

Sitenizden sürüm numarasını, aşağıdaki kod parçasını functions.php dosyanıza ekleyerek kolayca kaldırabilirsiniz.

add_filter('the_generator', '__return_empty_string');

Bunu yaptıktan sonra, bilgisayar korsanları WordPress sürüm numaranızı otomatik tarayıcılar veya başka herhangi bir yolla bulamayacaklardır .

Not: Kod eklerken yapılacak küçük bir hatanın web sitenizi erişilemez hale getirebileceğini unutmayın. Bu nedenle WPCode'u öneriyoruz. Sitenize özel kod eklemeyi süper güvenli ve kolay hale getiren en iyi kod parçacığı eklentisidir.

Daha fazla ayrıntı için, WordPress sürüm numarasını kaldırmanın doğru yolu hakkındaki eğitimimize bakın.

3. WordPress Veritabanı Önekini Değiştirin

Varsayılan olarak WordPress, tüm veritabanı dosyalarınıza wp_ önekini ekler, bu da saldırganların öneki hedefleyerek bir saldırı planlamasını kolaylaştırır.

SQL enjeksiyon saldırılarını önlemenin en kolay yolu, varsayılan veritabanı önekini, bilgisayar korsanlarının tahmin edemeyeceği benzersiz bir şeyle değiştirmektir.

Bunu, web sitenize FTP kullanarak bağlanarak kolayca yapabilirsiniz. Ardından, wp-config.php dosyasını açın ve $table_prefix satırını bulun ve değiştirin. Daha sonra, bunu basitçe varsayılan wp_ yerine şuna benzer bir şeye değiştirebilirsiniz: wp_a123456_.

$table_prefix  = 'wp_a123456_';

Ardından, web barındırma hesabınızın cPanel'ini ziyaret etmelisiniz. Bu eğitim için Bluehost kullanacağız. Ancak, web barındırma şirketinize bağlı olarak cPanel'iniz biraz farklı görünebilir.

Burada, 'Gelişmiş' sekmesine geçin ve 'PHPMyAdmin' bölümünün yanındaki 'Yönet' düğmesine tıklayın.

PHPMyAdmin bölümünün yanındaki Yönet düğmesine tıklayın

Bu, veritabanı adınızı sol sütundan seçmeniz ve üstteki 'SQL' sekmesine geçmeniz gereken yeni bir sayfa açacaktır.

Bundan sonra, aşağıdaki SQL sorgusunu metin kutusuna ekleyebilirsiniz.

phpMyAdmin'de SQL sorgusu

Yalnızca wp-config.php dosyasını düzenlerken seçtiğiniz veritabanı önekini değiştirmeyi unutmayın.

RENAME table `wp_comments` TO `wp_a123456_comments`;
RENAME table `wp_links` TO `wp_a123456_links`;
RENAME table `wp_options` TO `wp_a123456_options`;
RENAME table `wp_postmeta` TO `wp_a123456_postmeta`;
RENAME table `wp_RENAME table `wp_commentmeta` TO `wp_a123456_commentmeta`;
posts` TO `wp_a123456_posts`;
RENAME table `wp_terms` TO `wp_a123456_terms`;
RENAME table `wp_termmeta` TO `wp_a123456_termmeta`;
RENAME table `wp_term_relationships` TO `wp_a123456_term_relationships`;
RENAME table `wp_term_taxonomy` TO `wp_a123456_term_taxonomy`;
RENAME table `wp_usermeta` TO `wp_a123456_usermeta`;
RENAME table `wp_users` TO `wp_a123456_users`;

Daha fazla talimat için, WordPress veritabanı önekini güvenliği artırmak için nasıl değiştireceğinize dair eğitimimize bakabilirsiniz.

4. Kullanıcı Verilerini Doğrulayın

Hackerlar, genellikle kullanıcı verilerini girmek için kullanılan alanlar aracılığıyla web sitenize SQL saldırıları enjekte ederler, örneğin yorum bölümleri veya iletişim formu alanları gibi.

Bu nedenle, WordPress blogunuzda gönderilen tüm verileri doğrulamak önemlidir. Bu, belirli bir formata uymuyorsa kullanıcı verilerinin sitenize gönderilmeyeceği anlamına gelir.

Örneğin, bir kullanıcı e-posta adresi alanında '@' sembolü yoksa formunu gönderemez. Bu doğrulamayı form alanlarınızın çoğuna ekleyerek SQL enjeksiyon saldırılarını önleyebilirsiniz.

E-posta alanınızı doğrulayın

Bunu yapmak için, gelişmiş bir form oluşturucu eklentisi olan Formidable Forms'a ihtiyacınız olacak. Form alanı verilerini göndermek için kullanıcıların izlemesi gereken formatı ekleyebileceğiniz bir 'Girdi Maskesi Formatı' seçeneği ile birlikte gelir.

Telefon numaraları veya tek metin alanları için belirli bir format ekleyebilirsiniz.

Bal numarası formatı ekle

Form alanlarınızı doğrulamak istemiyorsanız, tam spam koruması ve Google reCAPTCHA desteği ile gelen en iyi iletişim formu eklentisi olan WPForms'u öneririz.

Ayrıca formlarınıza açılır menüler ve onay kutuları eklemenize olanak tanır, bu da bilgisayar korsanlarının kötü amaçlı veri eklemesini zorlaştırır.

wpforms

Daha fazla ayrıntı için, WordPress'te güvenli bir iletişim formu oluşturma konusundaki eğitimimize bakın.

5. Kullanıcı Rolü Erişimini ve İzinlerini Sınırlayın

WordPress SQL enjeksiyon saldırılarını önlemek için bir diğer ipucu da web sitenize kullanıcı erişimini sınırlamaktır.

Örneğin, çok yazarlı bir blogunuz varsa, aboneler ve yöneticilerin yanı sıra çeşitli yazarlarınız olacaktır. Bu durumda, tam yönetici erişimini yalnızca yöneticiyle sınırlayarak site güvenliğini artırabilirsiniz.

Diğer tüm kullanıcı rollerini, işlerini yerine getirmeleri için gereken belirli işlevlerle sınırlayabilirsiniz. Bu, veritabanınıza kullanıcı erişimini azaltacak ve SQL enjeksiyon saldırılarını önleyecektir.

Bunu, ücretsiz Kontrol Paneli Erişimi Kaldır eklentisiyle yapabilirsiniz. Etkinleştirdikten sonra, hangi kullanıcı rollerinin kontrol paneline erişebileceğine karar verebileceğiniz Ayarlar » Kontrol Paneli Erişimi sayfasına gidin.

Kontrol paneli erişim ayarlarını sınırlayın

Kullanıcıları yeteneklerine göre sınırlamak istiyorsanız, WordPress'te kullanıcı rollerine yetenek ekleme veya kaldırma eğitimimize göz atabilirsiniz.

Benzer şekilde, daha fazla güvenlik için yönetici alanınızda yazarları yalnızca kendi gönderileriyle sınırlayabilirsiniz.

6. Özel Veritabanı Hata Mesajları Oluşturun

Bazen kullanıcılarınız web sitenizde bir veritabanı hatası ile karşılaşabilir. Bu hata, veritabanınız hakkında önemli bilgiler gösterebilir ve SQL enjeksiyon saldırılarına karşı savunmasız hale getirebilir.

Bu durumda, kullanıcılar bu yaygın hatayla karşılaştıklarında görüntülenecek özel bir veritabanı hatası mesajı oluşturmanızı öneririz. Bunu yapmak için aşağıdaki içeriği bir not defteri uygulamasına kopyalayıp yapıştırmanız ve dosyayı 'db-error.php' olarak kaydetmeniz gerekecektir.

<?php // custom WordPress database error page
   
  header('HTTP/1.1 503 Service Temporarily Unavailable');
  header('Status: 503 Service Temporarily Unavailable');
  header('Retry-After: 600'); // 1 hour = 3600 seconds
   
  // If you wish to email yourself upon an error
  // mail("your@email.com", "Database Error", "There is a problem with the database!", "From: Db Error Watching");
   
?>
   
<!DOCTYPE HTML>
<html>
<head>
<title>Database Error</title>
<style>
body { padding: 20px; background: red; color: white; font-size: 60px; }
</style>
</head>
<body>
  You got problems.
</body>

Bundan sonra, sitenizi bir FTP programına bağlayın ve az önce oluşturduğunuz dosyayı sitenizin /wp-content/ dizinine yükleyin.

Artık kullanıcılar web sitenizde bir veritabanı hatasıyla karşılaştıklarında, herhangi bir hassas bilgiyi açığa çıkarmadan sorun hakkında onları bilgilendiren bir hata mesajı görecekler.

Özel veritabanı hata önizleme sayfası

Ayrıca, "Veritabanı Hatası" başlığı web tarayıcı sekmesinde görüntülenecektir.

Daha fazla ayrıntı için, WordPress'te özel bir veritabanı hatası sayfası ekleme konusundaki eğitimimize bakın.

7. Gereksiz Veritabanı İşlevselliğini Kaldırma

SQL enjeksiyon saldırılarını önlemek için, web sitenizde ihtiyacınız olmayan tüm veritabanı işlevlerini ve dosyalarını kaldırmaya çalışmalısınız.

Örneğin, veritabanınızı bilgisayar korsanlarına karşı savunmasız hale getirebilecek gereksiz tabloları, çöp kutusunu veya onaylanmamış yorumları silebilirsiniz.

Gereksiz veritabanı işlevselliğini kaldırmak için WP-Optimize'ı öneririz. Gereksiz tabloları, gönderi revizyonlarını, taslakları, çöp kutusundaki yorumları, silinmiş gönderileri, pingback'leri, gönderi meta verilerini ve çok daha fazlasını kaldıran harika bir eklentidir.

Gereksiz veritabanı işlevlerini kaldırın

İhtiyacınız olmayan tüm dosyaları kaldırır ve veritabanınızı daha güvenli ve daha hızlı hale getirmek için optimize eder. Ayrıntılar için, WordPress veritabanınızı nasıl optimize edeceğinizle ilgili başlangıç kılavuzumuza bakın.

Umarım bu makale WordPress SQL enjeksiyon saldırılarını nasıl önleyeceğinizi öğrenmenize yardımcı olmuştur. Ayrıca, WordPress güvenlik güncellemelerini nasıl kontrol edeceğinize dair başlangıç rehberimize veya WordPress güvenliğine ilişkin nihai rehberimize de göz atmak isteyebilirsiniz.

Bu makaleyi beğendiyseniz, lütfen WordPress video eğitimleri için YouTube Kanalımıza abone olun. Bizi ayrıca Twitter ve Facebook'ta da bulabilirsiniz.

Açıklama: İçeriğimiz okuyucu desteklidir. Bu, bazı bağlantılarımıza tıklamanız durumunda komisyon kazanabileceğimiz anlamına gelir. WPBeginner'ın nasıl finanse edildiğini, neden önemli olduğunu ve bize nasıl destek olabileceğinizi görün. İşte editöryal sürecimiz.

Nihai WordPress Araç Seti

Araç Kitimize ÜCRETSİZ erişim kazanın - her profesyonelin sahip olması gereken WordPress ile ilgili ürün ve kaynaklardan oluşan bir koleksiyon!

Okuyucu Etkileşimleri

3 CommentsLeave a Reply

  1. Bu, WordPress sürümünü kolayca gizleyebileceğim benim için yeni, bu da varsayılan olarak bilgisayar korsanlarının WordPress sürümlerine ve onların açıkları üzerinden zayıflıkları tahmin etmelerini engelleyecektir.
    Web sitesini SQL enjeksiyonundan korumak için harika ipuçları.
    Web sitemi herhangi bir güvenlik açığına karşı kusursuz hale getirmek için bu numaraları uygulayacağım.

  2. Benim için wordpress sürümünü gizlemek yeni bir şey. Her wordpress sürümü kendi zafiyetleriyle gelir, bu nedenle sürüm numarasını gizlemek, bilgisayar korsanlarını hangi wordpress sürümünün kullanıldığı konusunda bilgisiz bırakacaktır, ilgili zafiyetlerden bahsetmiyorum bile, haber verdiğiniz için teşekkürler. Ayrıca, kullanıcı girdisi toplayan bir eklenti geliştiriyorsanız, veritabanına eklenecek kullanıcı girdilerini (normal doğrulama sonrası) kaçış karakterleriyle temizlemenin akıllıca olacağını düşünüyorum.

  3. WordPress güvenliği benim için alfa ve omega. Bununla ilgili olarak, hiç dikkat etmediğim SQL var. Harika ipuçları listesi için teşekkürler. Listeye göre neleri iyileştirebileceğimi görmek için blogumu hemen kontrol edeceğim. En azından sürümü gizlemeye çalışacağım ve bunun gibi şeyler.

Cevap Bırakın

Yorum bırakmayı seçtiğiniz için teşekkürler. Lütfen tüm yorumların yorum politikamıza göre denetlendiğini ve e-posta adresinizin YAYINLANMAYACAĞINI unutmayın. Lütfen isim alanında anahtar kelime KULLANMAYIN. Kişisel ve anlamlı bir sohbet edelim.