Wordpress ไม่ใช้เซสชัน
ฉันสงสัยอยู่เสมอว่ากลไกใดที่ WP ใช้เพื่อรักษาสถานะผู้ใช้เมื่อผู้ใช้ไปจากหน้าหนึ่งไปอีกหน้าหนึ่ง
Wordpress ไม่ใช้เซสชัน
ฉันสงสัยอยู่เสมอว่ากลไกใดที่ WP ใช้เพื่อรักษาสถานะผู้ใช้เมื่อผู้ใช้ไปจากหน้าหนึ่งไปอีกหน้าหนึ่ง
คำตอบ:
มันใช้คุกกี้เปล่าและเก็บฝั่งไคลเอ็นต์ข้อมูลสถานะการเข้าสู่ระบบ
wordpress_7339a175323c25a8547b5a6d26c49afa = yourusername% 7C1457109155% 7C170f103ef3dc57cdb1835662d97c1e13;
เกลืออยู่ในไฟล์ wp-config.php ของคุณ:
/**#@+
* 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');
คุกกี้การรับรองความถูกต้องชื่อที่ถูกเก็บไว้ภายใน AUTH_COOKIE ซึ่งเกิดขึ้นจากการเชื่อม“ wordpress_” กับผลรวม md5 ของ siteurl ตั้งใน default-constants.php นี่เป็นพฤติกรรมเริ่มต้นและสามารถแทนที่ได้จากภายในไฟล์กำหนดค่าของคุณโดยการตั้งค่าคงที่บางส่วนล่วงหน้า
คุกกี้การรับรองความถูกต้องเป็นการรวมตัวกันของชื่อผู้ใช้การประทับเวลาจนกว่าคุกกี้การรับรองความถูกต้องจะถูกต้องและ HMAC ซึ่งเป็นแฮชที่มีรหัสแบบเอนเอียงสำหรับผู้ที่ดึง TL; DR ในตอนนี้ ตัวแปรสามตัวถูกต่อกันกับไพพ์อักขระ |
นี่คือวิธีการสร้าง HMAC:
$hash = hash_hmac('md5', $username . '|' . $expiration, wp_hash($username . substr($user->user_pass, 8, 4) . '|' . $expiration, $scheme));
จากบทความนี้ซึ่งข้อมูลส่วนใหญ่ในคำตอบนี้จะใช้แฮ็กเกอร์ประมาณหนึ่งสัปดาห์ในการส่งคำร้องขอ 30 วินาทีต่อวินาทีหากพวกเขารู้ว่าวลีเฉพาะของคุณคืออะไรและ 200,000,000,000,000,000,000,000,000,000,000
คุกกี้เป็นเพียงแหล่งจัดเก็บข้อมูลเซสชันของลูกค้า ... WordPress Cookies
อันที่จริงมีคุกกี้หนึ่งตัวที่ไม่มีเซสชัน แต่ไม่มีเซสชันที่ไม่มีคุกกี้
session_start()
อย่างชัดเจน ตอนนี้เห็นได้ชัดว่า wordpress ไม่ได้มีsession_start()
ที่ใดก็ได้ในแกน ดูว่าฉันสับสนกับความคิดเห็นล่าสุดของคุณที่ไหน?