Merhaba,
Bir php tabanlı geliştirilen sistemin https://www.php.net/manual/tr/security.php burada anlatılan önlemleri aldıktan sonra başka yapılabilecek birşey var mı normalde üstadlar?
Yani buradaki önlemleri aldıktan sonra geriye kalan açıkların tamamen sunucudan kaynaklı olduğundan bahsedebilir miyiz?
PHP uzmanlarına güvenlik hk soru.
5
●242
- 05-03-2022, 17:51:09inputlardan alınan verilerin kontrolü için bazı fonksiyonlar kullanabilirsinizBoogeymaN adlı üyeden alıntı: mesajı görüntüle
- 05-03-2022, 17:52:53nasıl yani hocam?phpwebdeveloper adlı üyeden alıntı: mesajı görüntüle
- 05-03-2022, 17:58:08htmlspecialchars()BoogeymaN adlı üyeden alıntı: mesajı görüntüle
strip_tags()
urldecode()
addslashes()
stripslashes()
trim()
htmlspecialchars_decode() i
intval()
Örnek vermek gerekirse bir kullanıcı doğrudan database'inize bir şeyi kaydetmeden önce onların zararlı olup olmadığını kısmen de olsa bu yukarıda yazmış olduğum fonksiyonlarla kontrol edebilirisiniz. Örnek vermek gerekirse dışarıdan yalnızca sayı değeri alıp database'e ekleyecekseniz
$sayi=intval($_POST["sayi_inputundan_gelen_veri"]);
şeklinde kullanabilirsiniz - 07-03-2022, 05:15:29Benim tavsiyem tüm post işlemlerini sorgu sayfana gönderme.
Kullanıcı girişi örnek;
login.html -> kullaninicikontrol.php ( veri tabanından giriş kontrollerinin yapıldığı sayfa) yerine,
login.html -> formkontrol.php ( posttan gelen verilerin kontörlü ve bilgilerin hangi sayfadan gönderildiği testini yapan sayfa) sonrasında -> kullanicikontrol.php
bu sayede formun action kısmına veri tabanı ile işlem yapan sayfanın linkini yazmamış olursun.
Tabi ki yine de tam olarak bir çözüm değil ama kontrol sayfanın linkini arayan birini biraz daha uğraştırmış olursun.
Link yapısı için de php kullanma demiş verdiğin örnekteki site ama bence sadece güvenlik ile ilgili değil
domain.com/kategoriler.php?kategoriid=12 gibi bir link yerine domain.com/kategori adı gibi bir link yapısı hem güvenliği arttırır hem de seo için düzgün bir link yapısı olmuş olur.
Benim uyguladığım yada kullandığım yapı bu şekilde ilerliyor tabi ki konu güvenlik olunca sınırı yok eminim çok daha farklı yapılar kullanan kişiler vardır. Zaten bahsettiğim yapı mvc yapısı klasik php yerine laravel (ki ben sevmem) yada codeigniter (bence iyidir basit ve hızlı) gibi frameworkler ile çalışman güvenliğin konusunda çok fazla yardımcı olacaktır.