php oturum şifreleme

2 Cevap php

Ben onlar Suhosin olduğu gibi oturumları veri şifreli olmasını istiyorum, herhangi bir kütüphane şartıyla orada mı?

2 Cevap

Kolayca oturum verileri şifrelemek için mcrypt veya özel bir AES şifreleme kullanabilirsiniz. En iyi bahis ayarladığınızda değişkenleri şifreler bir oturum sarıcı sınıf oluşturmak istiyorsunuz.

Anahtar yönetimi için, benzersiz bir anahtar oluşturabilir ve sadece kullanıcının kendi oturum verilerin şifresini böylece o, bir çerez saklamak.

There exampleimplementation for Zend Framework here: http://www.eschrade.com/page/encrypted-session-handler-4ce2fce4/

referans için önemli fonksiyonları:

// $this->secredKey is stored in a cookie
// $this->_iv is created at the start
public function setEncrypted($key, $value)
{
    $_SESSION[$key] = bin2hex(
        mcrypt_encrypt(
            MCRYPT_3DES,
            $this->secretKey,
            $value,
            MCRYPT_MODE_CBC,
            $this->_iv
        )
    );
}

public function getEncrypted($key)
{
    if (isset($_SESSION[$key])) {
        $decrypt = mcrypt_decrypt(
            MCRYPT_3DES,
            $this->secretKey,
            pack(
                'H*',
                $_SESSION[$key]
            ),
            MCRYPT_MODE_CBC,
            $this->_iv
        );
        return rtrim($decrypt, "\0"); // remove null characters off of the end
    }
    return null;
}