lostyazilim

PHP yapılması gereken bütün güvenlik önlemleri

11 Mesajlar 2.462 Okunma
lstbozum
wmaraci reklam

ugurgunes19 ugurgunes19 WM Aracı Kullanıcı
  • Üyelik 04.07.2017
  • Yaş/Cinsiyet 29 / E
  • Meslek Web Developer
  • Konum İstanbul Avrupa
  • Ad Soyad U** G**
  • Mesajlar 52
  • Beğeniler 6 / 5
  • Ticaret 0, (%0)
Merhaba Arkadaşlar bu gün sizlere phpde yapmanız gereken bütün güvenlik önlemlerini anlatmaya çalışacağım. İyi okumalar

1. Şifreleme

Veri tabanına yükledeğiniz verileri şifreleyin.


  • E-Postayı bir kere md5 ile şifrelemek işinizi görecektir.

  • Kullanıcının ismini geri dönüştürülebilir bir şifreleme tekniği ile şifreleyin. Örnek base_64

  • Kullanıcı şifresini saklarken geri dönüştürülemeyen bir çok algoritma kullanın.



2.Brute Force

Veri tabanınıza giren kişi direk olarak kullanııcının şifresini öğrenemediğinden deneme yanılma yöntemine başvuracaktır. Bullet Force saldırılarını önlemek için ufak önlemler işinizi görecektir.


  • Kullanıcı Kayıt olurken en az bir büyük harf , en az bir sayı ve en az özel karekter girmeyi zorunlu kırın

  • Kullanıcı giriş ekranında eğer kullanıcı 3 kez yanlış şifre veya eposta girerse google recaptchayı formunuza ekleyin.

  • Kullanızı eğer 8 kere yanlış yanlış şifre girerse e-maile bir giriş kodu gönderin ve google recaptcha ile beraber o kodu isteyin.

  • Eğer kullanıcı 15 kere bu işlemi tekrarlarsa form girişini kapatın



DDOS Saldırıları


  • Sitenizi cloudflare eklerseniz bu saldırılardan kurtulabilirsiniz.



PHP'de temiz ve güvenli kodlar yazın.


  • Yazılımınızı güncel tutun.

  • İlk işiniz form kullandığınız yerlerde form kontrolünü yapın.Bu kodları inceleyebilirsiniz: trim, addslashes , htmlentities , strip_tags, htmlspecialchars

  • Eğer biliyorsanız php framworkler kullanın.

  • Xss ve sql injectiona karşı önlem alın. Pdo kullanarak sql injectiontan kurtullabilirsiniz.

  • Sitenize ssl sertifikası ekleyin.

  • Temel Kurallara uyun örnek db.php dosyasını require ile çağırın



Sonuç

Sonuç olarak yukarıdaki önlemler sitenizi genel olarak güvenli tutmanızı sağlar. Umarım işinize yarar.
 

 

başarmak istiyorsan önce kendine inan, gerisi gelir.
wmaraci
reklam

sworks sworks WordPress Kullanıcı
  • Üyelik 28.02.2018
  • Yaş/Cinsiyet 29 / E
  • Meslek Freelancer
  • Konum Diğer
  • Ad Soyad A** K**
  • Mesajlar 3292
  • Beğeniler 1797 / 1799
  • Ticaret 20, (%100)
Wordpress siteme hepsini uyguladım sadece Ddos saldırıları için Cloudflare vs. hiçbirisini uygulamadım. Paylaşımlı hosting kullanıyorum ve bulunduğum sunucu saldırılara karşı yeterli olur mu hosting firmasına ait sunucu yani?
 

 

ntka ntka https://ntka.org Kullanıcı
  • Üyelik 22.01.2012
  • Yaş/Cinsiyet 42 / E
  • Meslek Agent
  • Konum İstanbul Anadolu
  • Ad Soyad N** T**
  • Mesajlar 2762
  • Beğeniler 811 / 810
  • Ticaret 262, (%100)
Yazılımda açık olmasa bile host'dan kaynaklanan sorunlardan dolayı başınıza bu durum gelebiliyor.
 

 

dijitalsite.com.tr ister al / ister sat / yeni üyelere 20 tl bakiye hediye

mxaksoy mxaksoy Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 23.03.2018
  • Yaş/Cinsiyet 29 / E
  • Meslek Webmaster
  • Konum İstanbul Avrupa
  • Ad Soyad M** A**
  • Mesajlar 1358
  • Beğeniler 482 / 344
  • Ticaret 3, (%100)
Host + Yazılım Kaliteli olursa sıkıntı çıkmaz ve ek olarak kesinlikle seo htaccess kullanın
 

 

wmaraci
wmaraci

Decimas Decimas WM Aracı Kullanıcı
  • Üyelik 19.04.2015
  • Yaş/Cinsiyet 26 / E
  • Meslek Developer
  • Konum İstanbul Avrupa
  • Ad Soyad E** E**
  • Mesajlar 821
  • Beğeniler 1 / 302
  • Ticaret 1, (%100)
Başlangıç kılavuzunda yer alabilecek öneriler var ama düzeltmelerde yapsam iyi olacak.


    E-post güvenliği önemli, veritabanı motoru destekliyorsa AES iler şifrelenip çözülmeli, md5 ile zayıf ve geri dönüşümsüz olarak e-posta saklamak pek mantıklı değil çünkü md5 ile çözemediğin mail adresine mail yollayamazsın. Hizmet koşullarını güncellediğin zaman bunu kullanıcılara en etiki biçimde bildireceksen çözülebilir bir algritma kullanılmalıdır.



    Kullanıcı ismi base64 ile şifrelenmesine gerek yok, eğer önemli işler yapılıyorsa id üzerinden yapılmalı. Yani başkası kullanıcı adını bilse bile yapabileceği şeyler kısıtlı olmalı.



    Brute Force ile login veya benzeri işlemler için 3 rakamı az geldi bana. Şifreni hatırlamayabilirsin, denersin, işletim sistemi klavyeni etkileyen bir şey yapmıştır, bilmeden denersin, başka cihazda alışkın olmadığın için denersin. UX için hiç hoş bir adım olmaz.

    Kullanıcının tarayıcı ve geolocation bilgisine bakarak biraz daha esnek davranılabilir.



    Cloudflare kesin çözüm değil, özellikle ücretsiz planına sadece demo gözüyle bakılmalı. Sadece basit saldırıları karşılıyor, ücretli planlar esas saldırılar için koruma sağlar. Ancak yinede büyük projelerde başka firmalardan da destek alınmalı.



    Framework yerine saf dili kullanmakta fayda var, eğer ekip çalışması ve belirli bir zorunluluk yoksa framework'ler sağladıkları kolaylıklarla beraber açıklarıda getirir. Ne kadar az harici kod o kadar az açık demek.



    SSL istemci ve sunucu arasındaki bağlantıyı şifreler, 3. kişiler kolaylıkla bu iletişime dahil olamaz ama yinede %50 oranı verebilirim. İstemci veya sunucu temiz değilse mutlaka birileri amacına ulaşır.



    PDO %100 SQL injection'dan kurtarmaz, illuminate gibi harici kütüphanelere göz atmakta fayda var.



    require yerine require_once daha sağlıklı ama çoklu kullanımlarda, örneğin 20 kere require işlemi yerine autoload kullanılmalı.
 

 

no time for caution

ugurgunes19 ugurgunes19 WM Aracı Kullanıcı
  • Üyelik 04.07.2017
  • Yaş/Cinsiyet 29 / E
  • Meslek Web Developer
  • Konum İstanbul Avrupa
  • Ad Soyad U** G**
  • Mesajlar 52
  • Beğeniler 6 / 5
  • Ticaret 0, (%0)
Tavsiyelerin için teşekkürler :)
 

 

başarmak istiyorsan önce kendine inan, gerisi gelir.

ugurgunes19 ugurgunes19 WM Aracı Kullanıcı
  • Üyelik 04.07.2017
  • Yaş/Cinsiyet 29 / E
  • Meslek Web Developer
  • Konum İstanbul Avrupa
  • Ad Soyad U** G**
  • Mesajlar 52
  • Beğeniler 6 / 5
  • Ticaret 0, (%0)
SSRF' de unutmayalım
 

 

başarmak istiyorsan önce kendine inan, gerisi gelir.

kaanst kaanst Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 28.02.2018
  • Yaş/Cinsiyet 28 / E
  • Meslek Web Developer
  • Konum İstanbul Avrupa
  • Ad Soyad K** S**
  • Mesajlar 669
  • Beğeniler 435 / 160
  • Ticaret 31, (%94)
merhaba uğur bey peki captcha sistemini 3 başarısız girişten sonra değil de her girişte yapmamız daha sağlıklı olmaz mı? Veya öyle istersek yapmamızda bir sakınca bulunuyor mu?

Teşekkürler.
 

 

ugurgunes19 ugurgunes19 WM Aracı Kullanıcı
  • Üyelik 04.07.2017
  • Yaş/Cinsiyet 29 / E
  • Meslek Web Developer
  • Konum İstanbul Avrupa
  • Ad Soyad U** G**
  • Mesajlar 52
  • Beğeniler 6 / 5
  • Ticaret 0, (%0)
Ben sahsen kullanıcı deneyiminden ilk başa koymak istemiyorum ama siz istereseniz koyabilirsiniz.
kaanst

kişi bu mesajı beğendi.

başarmak istiyorsan önce kendine inan, gerisi gelir.

monder33 monder33 WM Aracı Kullanıcı
  • Üyelik 07.01.2016
  • Yaş/Cinsiyet 44 / E
  • Meslek Yazılım
  • Konum İstanbul Avrupa
  • Ad Soyad M** B**
  • Mesajlar 47
  • Beğeniler 9 / 7
  • Ticaret 0, (%0)
Önemli kodları ana dizin yerine alt dizin oluşturup, alt dizine yükleyip yine aynı alt dizinin içine eklenecek bir htaccess dosyası içine,

Deny from all

yazarak http ile ulaşılmasını engelleyebilirsiniz.
 

 

https://www.bingezi.com
wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al