Bunu yapmak zorunda kalsaydım, giriş bilgisini belirlemek için kendi çerezimi kullanırım ve sadece gerektiğinde kontrol etmek için WordPress'i yüklerdim.
Wordpress_oked_in_ {some-hash} çerezi kullanıcıyı belirlemek için kullanılabilir ve WordPress bunu belirlemek için kullanır. Bunu kolayca yeniden uygulayamazsınız, ancak WordPress'i birden fazla istek üzerine yüklemeden kullanabilirsiniz.
Örneğin, işte benim çerez karma (tamamen oluşturulmuş, ancak gerçekçi):
key: wordpress_logged_in_1234567890abcdef1234567890abcdef
value: admin|1234567890|abcdef1234567890abcdef1234567890
WordPress'in bu çerezin nasıl geçerli olduğunu bilme şekli önemsizdir, bilmeniz gereken tek şey bir kez geçerli olup olmadığıdır, sonra bir sır ile imzalarsınız.
Yani, ilk kez, kullanıcı henüz kanıtlanmamıştır. Wp-load.php dosyasını yüklersiniz ve WP, çerezi doğrular ve kullanıcının oturum açmasını sağlar. Artık kullanıcının oturum açtığını kanıtlamak için ne yaparsanız yapın, sonra kendi çerezinizi ayarlarsınız. Anahtar size özel bir şey olabilir, hash_hmac işlevini kullanarak gizli bir anahtarla mesaj özeti yaptığınız değer olabilir.
$key = ... // the key from the WP cookie
$value = ... // the value from the WP cookie
$hash = hash_hmac ( 'md5' , $key.$value , 'some secret key' );
Setcookie () kullanarak onlara geri gönderdiğiniz anlamsızca geri döneceksiniz. Gelecekteki isteklerde, bu çerezi size geri göndereceklerdir. Önce bunu kontrol edebilir ve aynı karma işlevini ve gizli anahtarı kullanarak doğrulayabilirsiniz.
Gizli anahtarı yalnızca siz bilirsiniz çünkü hash'ı yalnızca siz oluşturabilirsiniz. Dolayısıyla, WP çerezleri için gönderdikleriyle de eşleşen geçerli bir karma gönderirlerse, kodunuzdan önce WP ile doğrulandıklarını bilirsiniz ve kullanıcı adını doğrudan bu değerden alabilirsiniz ( çerezin bir parçası). O zaman WP yüklemeniz gerekmez.
Gizli anahtar BTW uzun ve rastgele olmalıdır . Kısa bir şifre değil. Sözlük kelimesi değil. Sadece büyük saçmalık anlamsızca. Hat gürültüsü ve daha fazlası. Örnek anahtar:
'GHY5hFNqq4Ntdu=3:SUp8#/+_W!- @@^@xslN*L|N+Vn;(1xo8jNyp,au$v9Ki5*'