討論:Wordpress/目錄與檔案:修訂版本之間的差異
出自福留子孫
(→全域變數) |
|||
第 19 行: | 第 19 行: | ||
*$wpdb | *$wpdb | ||
*$wp_hasher | *$wp_hasher | ||
+ | *$wp_filters 所有的 filter 掛鉤 | ||
+ | |||
===內部=== | ===內部=== | ||
[http://www.phpstudio.info/show-100-1026-1.html WordPress核心文件功能及其載入] | [http://www.phpstudio.info/show-100-1026-1.html WordPress核心文件功能及其載入] |
2016年8月21日 (日) 18:12的最新修訂版本
Portable PHP password hashing framework
salt和password相加,又進行了count次md5,最後和encode64的hash數值累加,就得到了一個以$P$開頭的密碼
<?php $password = 'abc'; global $wp_hasher; if ( empty($wp_hasher) ) { require_once( './wp-includes/class-phpass.php'); $wp_hasher = new PasswordHash(8, TRUE); } echo $wp_hasher->HashPassword($password); ?>
修改WordPress用戶密碼:
- wp_users數據表的user_pass字段修改為32位的md5(passowrd)
- 當這個用戶在WordPress登錄後,系統會自動將MD5密碼修改為以$P$開頭的密碼。
全域變數
- $wpdb
- $wp_hasher
- $wp_filters 所有的 filter 掛鉤
內部
- /wp-includes/post-template.php:定義一組模板中處理文章的函數,用於獲取 Loop 中當前文章的內容,無可執行代碼。其中的 post_password_required($post) 函式驗證來自 POST 通道的 password 。
- /wp-includes/pluggable.php:這裡面的函數可以被插件覆蓋,如果插件沒有重新定義這些函數,則這些函數將會被使用,無可執行代碼。
- /wp-includes/user.php:定義一組 WP 的用戶 API,無執行代碼。
- /wp-login.php:登入介面
外掛
- BuddyPress:wordpress 下的社群網站外掛。在
- /wp-content/plugins/buddypress/bp-forums/bbpress/bb-includes/backpress/class.wp-pass.php 中的 hash_password($password) 和 check_password($password, $hash, $user_id) 兩函式會編碼並解碼驗證
- 如何架設BuddyPress社群網站?
- WooCommerce:wordpress 網路開店系統
- /wp-content/plugins/woocommerce/includes/class-wc-session-handler.php 中的 generate_customer_id() 函式會對 32 位隨機數字編 md5 以生成客戶 id
- /wp-content/plugins/woocommerce/includes/shortcodes/class-wc-shortcode-my-account.php 中的 retrieve_password() 和 check_password_reset_key($key, $login) 對 $wpdb->users 進行編碼和驗證
- woocommerce 系列教學 (1/3):安裝與使用
- woocommerce 系列教學 (2/3):商品上架流程
- woocommerce 系列教學 (3/3):串接第三方金流