oturum kullanmadan oturum açma gerçekleştirme


9

Wordpress oturum kullanmaz.

WP, kullanıcı sayfadan sayfaya gittiğinde kullanıcı durumunu korumak için hangi mekanizmayı kullanıyor?

Yanıtlar:


12

Çıplak çerezler kullanır ve giriş durumu bilgi istemcisi tarafını saklar.

resim açıklamasını buraya girin

+

resim açıklamasını buraya girin

=

wordpress_7339a175323c25a8547b5a6d26c49afa = kullaniciadiniz% 7C1457109155% 7C170f103ef3dc57cdb1835662d97c1e13;

Bütün bu kurabiyeler ve tuz nereden geliyor?

Tuz wp-config.php dosyanızda:

/**#@+
 * Authentication Unique Keys and Salts.
 *
 * Change these to different unique phrases!
 * You can generate these using the {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org secret-key service}
 * You can change these at any point in time to invalidate all existing cookies. This will force all users to have to log in again.
 *
 * @since 2.6.0
 */
define('AUTH_KEY',         'put your unique phrase here');
define('SECURE_AUTH_KEY',  'put your unique phrase here');
define('LOGGED_IN_KEY',    'put your unique phrase here');
define('NONCE_KEY',        'put your unique phrase here');
define('AUTH_SALT',        'put your unique phrase here');
define('SECURE_AUTH_SALT', 'put your unique phrase here');
define('LOGGED_IN_SALT',   'put your unique phrase here');
define('NONCE_SALT',       'put your unique phrase here');

Benzersiz ifadeler bir şifreleme karma işlevinde kullanılır

Adı AUTH_COOKIE içinde saklanan ve “wordpress_” ifadesini default-constants.php içinde ayarlanan siteurl öğesinin md5 toplamıyla birleştirerek oluşturulan kimlik doğrulama çerezi. Bu varsayılan davranıştır ve bazı sabitleri önceden ayarlayarak yapılandırma dosyanızın içinden geçersiz kılınabilir.

Kimlik doğrulama çerezi, kullanıcı adının bir birleşimi, kimlik doğrulama çerezinin geçerli olduğu bir zaman damgası. Ve TL; DR'yi çekenler için bir tür anahtar odaklı karma olan bir HMAC. Üç değişken boru karakteri | ile birleştirilir.

HMAC şu şekilde inşa edilmiştir:

$hash = hash_hmac('md5', $username . '|' . $expiration, wp_hash($username . substr($user->user_pass, 8, 4) . '|' . $expiration, $scheme));

Bu güvenli mi?

Bu cevaptaki bilgilerin çoğunun geldiği bu makaleye göre , benzersiz ifadenizin ne olduğunu biliyorlarsa saniyede 30 istek göndermede kabadayı alacak ve anahtarlarınız benzersizse 200.000.000.000.000.000.000.000.000.000 kat daha zor olacaktı.


Chris. Oturumlar tam olarak aynı şey değil mi? Oturumlar, istemci sitesinde bir çerez gerektirir ve sunucu, hangi kullanıcıyı ele aldığını belirlemek için bunu kullanır. Oturum tabanlı bir uygulama ile bunun arasındaki farkın ne olduğunu görmüyorum.
Ortalama Joe

2
Aniden açım.
Kevin

2
PHP Sessions oturum açma bilgilerini $ _SESSION süper global içinde depolar ve izler. Tarayıcınızı kapattığınızda bir oturum sona erer. WordPress Auth çerezi çok daha uzun günler, hatta haftalar sürer. Bakınız: tuxradar.com/practicalphp/10/1/0
Chris_O

0

Tanımlama bilgileri, oturum verilerinin yalnızca istemci tarafında depolanmasıdır ... WordPress Tanımlama Bilgileri

Aslında, oturumları olmayan çerezler olabilir, ancak çerezleri olmayan oturumlar olamaz.


Korkarım bu konuda yanlış ölüsün. wordpress oturumları hiç kullanmaz.
Ortalama Joe

PHP çerezleri PHP oturumlarının bir parçasıdır - WP muhtemelen oturum veri depolaması için sunucu tarafı oturumlarını kullanmasa bile (bazı boktan paylaşılan barındırmalarla uyumlu olması için).
Martin Zeitler

Bununla ne demek istediğinden emin değilim. Php oturumları kullanmak için, session_start()açıkça kullanarak sayfanızın üstündeki oturumları etkinleştirmeniz gerekir . Şimdi, açıkçası, wordpress'in session_start()çekirdeğinde herhangi bir yer yok . Son yorumunuzla nereye karıştığımı gördünüz mü?
Ortalama Joe

PHP oturumlarının sadece temel ilkeleri ... session_start (), sunucu tarafında depolamayı etkinleştirirken setcookie () ise oturum verilerinin istemci tarafında depolanmasını sağlar. Belki sadece oturumların ve çerezlerin tamamen farklı bir şey olduğu fikrinden kurtulun - tek gerçek fark depolama alanıdır.
Martin Zeitler
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.