• 13-10-2022, 19:19:44
    #10
    Saul4Goodmann adlı üyeden alıntı: mesajı görüntüle
    hocam bir arkadaş vardı tartışıyorduk md5 şifre attım 5 saniyede çözüp bana geri attı.
    Yazdığım metni iyice okumadığınızı varsayıyorum.

    Örn:
    Kötü niyetli kişiler milyonlarca şifre kombinasyonunu md5 veya diğer methodlarla şifrelerler ve ellerinde milyonlarca şifrenin encrypt edilmiş hallerini veri deposu haline getirip saklarlar.
    Eğer siz o milyonlarca kombinasyon şifreden bir tanesini ona verirseniz çözmesi saniyeler sürer.
    Ama siz onun verideposunda bulunmayan bir şifre verirseniz, bunu çözmesi süper bilgisayarların işlem hızına bağlı olarak aylar, yıllar belki on yıllar sürebilir.

    Şöyle düşünün, 3 sayılık şifre istediğiniz bir alan var.
    İsteyen 1 hane koyabilir, isteyen 2 haneli, isteyen 3 haneli.
    Her şifre denemeside 1 saniye sürsün.

    Peki 1 hane koyarsa ne olur?
    0-9'a kadar 9 kombinasyon denenir ve 9 deneme sonucunda şifreye ulaşabilir. max 9 saniyede şifreye ulaşıldı.
    Peki 2 hane kullanırsa?
    0-99'a 100 kombinasyon denenir ve süreç max 100 saniyeye çıkar süreç
    peki 3 hane?
    0-999 kombinasyon denenir ve süreç max 1000 saniyeye çıkar süreç

    ..... böyle böyle gidiyor.
    Birde İşin içine A-B-C vs. karakterler girdimi üüüf

    Zaten bu şifrelerin çözülmesi için dünyanın en büyük veri işlem ağı mevcut.
    Adıda block chain.

    Olaylar çok derin burada özetlemek ancak bu kadar olur.
    Detaylı araştırmak istersen, şu makaleyi öneririm.
    https://dergipark.org.tr/tr/download...le-file/225394
  • 13-10-2022, 19:39:43
    #11
    Öncelikle PDO kullanın ve her değişkene binParam ile Parametre atayın. Bu SQL Injection açığını kapatacaktır.

    Şifreleme yaparken de PHP'nin password_hash() ve password_verify() functionlarını kullanın. Çok güçlü bir şifreleme metodudur. Uzun zamandır bunu kullanıyorum ve hiçbir problemle karşılaşmadım.

    İncelemek için:

    https://www.geeksforgeeks.org/how-to...rds-using-php/
  • 13-10-2022, 19:53:21
    #12
    MythDev adlı üyeden alıntı: mesajı görüntüle
    Öncelikle PDO kullanın ve her değişkene binParam ile Parametre atayın. Bu SQL Injection açığını kapatacaktır.

    Şifreleme yaparken de PHP'nin password_hash() ve password_verify() functionlarını kullanın. Çok güçlü bir şifreleme metodudur. Uzun zamandır bunu kullanıyorum ve hiçbir problemle karşılaşmadım.

    İncelemek için:

    https://www.geeksforgeeks.org/how-to...rds-using-php/
    Tamamdır teşekkürler
  • 14-10-2022, 05:02:23
    #13
    PDO ve Mysqli kullanın veritabanında, güvenlik içinde verileri sınıflandırın gelen veri sadece rakamsa rakam (int) kontrolü gibi standart textlerde özel filtreleme fonksiyonları kullanabilirsin bolca kaynak mevcut. Google recaptha kullanın sürekli veri yollamasınlar. Şifre için md5'de olur yukarıdakilerde olur çok fark edeceğini düşünmüyorum zaten bir kullanıcı sizin şifreli metodunuza ulaştıysa zaten veritabnıza erişimiş demektir
  • 14-10-2022, 15:21:02
    #14
    htmlspecialchars veya htmlentities xss için kullanılır
    şifre için bcrypt kullanın
    sql için pdo gibi prepared statementlar kullanın
  • 14-10-2022, 16:37:39
    #15
    Üyeliği durduruldu
    Saul4Goodmann adlı üyeden alıntı: mesajı görüntüle
    şifreyi sha256 kullanıyorum ben, md5 ten farkı var mı bilmiyorum ama md5 çözülebiliyorlar
    webeloper adlı üyeden alıntı: mesajı görüntüle
    -hocam md5 çözülemiyor fakat diğer şifreleme yöntemlerine göre daha kolay tahmin edilebiliyor. sha256 ve md5 şifreleme işlemlerini bir arada kullanabilirsiniz.
    -boşlukları silmek için trim, e-posta adreslerini doğrulamak için filter_var($email, FILTER_VALIDATE_EMAIL) fonksiyonlarını kullanabilirsiniz.
    kullanıcılardan gelen verilerin türlerini, uzunluklarını, boyutlarını kontrol edebilirsiniz.

    ve son olarak php'de oop kavramını biliyorsanız framework öğrenmenizi öneririm.
    md5 şifrelemesini 3, 4 kat kullanım sağlarsanız ne çözülebilir ne de tahmin edilebilir
  • 14-10-2022, 17:39:11
    #16
    gump kullan geç
    https://github.com/Wixel/GUMP