• 12-10-2022, 21:31:58
    #1
    Merhabalar, formda hidden ile her işlem başına token göndermek istiyorum hidden ile göndermede bir sakınca var mı?
  • 12-10-2022, 21:41:22
    #2
    Hocam bence yapabiliyorsanız backend tarafında halledin token işlemini formlarda hidden olarak _csrf kullanabilirsiniz
  • 12-10-2022, 21:42:41
    #3
    heryere cektıgınız dosyaya ekleyın.
    if (!isset($_SESSION['_token'])) {
    $_SESSION['_token'] = md5(time() . rand(0, 999999));
    }
    forma ekleyın
    <input type="hidden" name="_token" value="<?= $_SESSION['_token'] ?>">

    post varsa bununla devam edin.
    if ($_SESSION['_token'] != post('_token')) {
        $error = 'Token Hatası!';
    } else {
    sql işlemleri
    }


    token oluşturmak dış etkenlere engel olmaktır. Sistemi kullanan kişiler için çok bir önem teşkil etmez. Verdiğim örneğin açıklaması şudur;
    Sayfa açıldığında bir session oluşturur bu session form içinde hidden ile yollarsınız arka kısımdada sessiondaki token ile posttan gelen token eşleşiyorsa işlem yaptırırsınız.


    En basit yöntemi budur. Yıllardır kullanıyorum.
  • 12-10-2022, 21:46:12
    #4
    bahax41 adlı üyeden alıntı: mesajı görüntüle
    Hocam bence yapabiliyorsanız backend tarafında halledin token işlemini formlarda hidden olarak _csrf kullanabilirsiniz
    Yapmak istediğim mesela birisi iletişim formu gönderdi birkaç kez butona basarsa aynı formu birkaç kez gönderir ama tokeni alarak bu token kayıtlı ise kaydetme dersem form bir kere gönderildikten sonra token kayitlanacak ve daha fazla kayıt eklemeyecek
  • 13-10-2022, 01:18:48
    #5
    https://www.php.net/manual/en/functi...sl-encrypt.php
    Openssl ile güçlü bir anahtar değer ile encyrptleyerek hidden inputuna yaz, sonra işlem gönderildiğinde arkada gene aynı anahtar değer ile decryptle.
    Eğer daha önce openssl kullanmadıysan şu videoyu izleyebilirsin;

    https://www.youtube.com/watch?v=8JxM7lo6x8o