Php de güvenlik önlemleri nelerdir?
Php de işin içine girdikçe güvenlik konusunda dikkatli olmak gerektiğini anladım.
PDO ile başlayarak mysql e göre bir adım daha güvenlikli başladım diye biliyorum ama yetersiz.
Bu konuda tecrübelerinize dayanarak önerilerde bulunur musunuz?
Türkçe kaynaklar önerebilir misiniz? Basit adım adım anlatan kaynaklara ihtiyacım var, acemi olduğumu da not olarak düşüyorum.
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (9)
@aydinkeskin, teşekkürler bilgi için.
Not aldım söylediklerinizi araştırıp soracağım;
Başka okuyanada özet olsun diye sizden aldığım notu yazayım:
-name alanlarını şifreleme
-htaccess güvenliği, zararlıları engelleme
-login işlemlerini süzgeç ve kontrolden geçirme, captcha kullanma
-admin klasörüne htpasswd ile erişim kısıtı
-url koruması, link denemelerine karşı ban.
-hosting firma seçimi : infinity360 vb kontrolcüsü olsun.
Başka eklemek isteyen olursa ya da bu konularda örnek kod, kaynak önerirse sevinirim.
yakın zamanda yaşadığım bir olay
yazılımınız ne kadar güvenlikli olursa olsun kullandığınız host sunucu firmasıda bir o kadar önemlidir.
bir yazılımızı bu yüzden o dönem çalıştığımız hosting firması çalışanı tarafından dışarı servis edilmiş ve iş adli makamlara taşımak zorunda kaldık.
bana göre ilk önce çalıştığınız hosting firmasını iyi değerlendirmeli sonrası kodlamada ki güvenliğe odaklanmalısınız
en çok dikkat ettiklerim şahsen
login işlemlerinde gelen istekleri hem süzgeçlerden geçir hemde kontrollerden geçir
formlarındaki girilen name değerlerini şifrele
formlardaki girilen verilerin ip adreslerini denetle
formlarda mutlaka captcha kullan
htaccess ile bazı zararlı bazı işlemleri yasakla
admin klasörüne normal login prosüründen ziyade htpasswd ile klasöre erişim kısıtlaması getir.
ekstra kullandığın paketler ( php ,js )'leri güncel olduğuna dikaat et buralardaki zaafiyetleri göz ardı etme.
kodlama tarafında injection açıklarına karşın adres satırında denemelere ban sistemi oluştur veya ikaz et bir şekilde
güncel kodlama kullan
en ufak bir hata kodunu bile göz ardı etme basit bir hata kodu bundan bişi olmaz deyip kapatırsan oradan başına neler geleceğini bilemezsin
kullandığın hosting veya sunucunun infinity360 vb zararlı yazılım kontrolcüsü kullandığından mutlaka emin ol.
şimdilik aklıma gelenler bunlar daha bir çok şey olabilir.
form alanlarından gelen değerleri süzmek en önemli güvenlik adımıdır.
örnek filtreleme
<?php
function xss($veri)
{
$veri =str_replace("iframe","",$veri);
$veri =str_replace("refresh","",$veri);
$veri =str_replace("style","",$veri);
$veri =str_replace("script","",$veri);
$veri =str_replace("<script","",$veri);
$veri =str_replace("</script","",$veri);
$veri =str_replace("/script","",$veri);
$veri =str_replace("<?","",$veri);
$veri =str_replace("?>","",$veri);
$veri =str_replace("SELECT *","",$veri);
$veri =str_replace("DELETE FROM","",$veri);
}
echo xss($_POST['deger']);
?>