• 05-01-2019, 21:01:12
    #1
    Formlarımda CSRF açığını kapamadığımı fark ettim. Token ekledim ama hâlâ açık var olarak gözüküyor ne yapmam lazım. (Token Time eklemedim)
    Çalışan örnek kod varsa atarsanız ya da teamviewer ile bakabilirseniz daha iyi olur.
    PHP sürümü: 5.4.45
  • 06-01-2019, 18:05:16
    #2
    oluşturduğunuz token bir kere kullanılmalı aynı tokenle tekrar veri gönderilebilirse açık devam eder.
    en kolay yolu recaptcha v2 kullanmak
  • 06-01-2019, 22:56:12
    #3
    trgino adlı üyeden alıntı: mesajı görüntüle
    oluşturduğunuz token bir kere kullanılmalı aynı tokenle tekrar veri gönderilebilirse açık devam eder.
    en kolay yolu recaptcha v2 kullanmak
    captcha kullanmak istemiyorum kullanıcı kolaylığı için, token her seferinde de yenileniyor...
  • 07-01-2019, 20:18:40
    #4
    her seferinde yeniliyorsunuz fakat bir önceki oturumda oluşturulan token sonraki oturumda komple geçersiz olması lazım.
    örneğin token değerim 1234 olsun.
    1234 tokeniyle kullanıcı formu gönderdi, sonuç başarılı ve başarısız fark etmez token yenilenmesi lazım, 1234 tokeniyle tekrar formu gönderemez. oldu ya birileri bir şekilde 1234 tokeniyle formu tekrar göndermeyi başardı. bu durumda da 1234 tokeni bir kere kullanıldığı için artık kullanılamaz olmalı.
    ayrıca token değerini post data içinde değilde header olarak göndermeniz daha iyi olacaktır. güncel browserlarda cross site kuralından dolayı başka domainden gelen header verileri engellenir. zaten csrf de cross-site bilmenenin kısaltması oluyor