• 05-03-2022, 17:49:20
    #1
    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?
  • 05-03-2022, 17:51:09
    #2
    BoogeymaN adlı üyeden alıntı: mesajı görüntüle
    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?
    inputlardan alınan verilerin kontrolü için bazı fonksiyonlar kullanabilirsiniz
  • 05-03-2022, 17:52:53
    #3
    phpwebdeveloper adlı üyeden alıntı: mesajı görüntüle
    inputlardan alınan verilerin kontrolü için bazı fonksiyonlar kullanabilirsiniz
    nasıl yani hocam?
  • 05-03-2022, 17:58:08
    #4
    BoogeymaN adlı üyeden alıntı: mesajı görüntüle
    nasıl yani hocam?
    htmlspecialchars()
    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
  • 05-03-2022, 18:43:37
    #5
    Platin üye
    Merhabalar, oradaki direktifler sadece temel yapılması gereken işlemleri listeler ve asla bir yazılımın güvenliği ile ilgili garanti sunmaz.
  • 07-03-2022, 05:15:29
    #6
    Benim 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.