如何将已登录用户的Cookie设置为MD5($USER->ID.“我的秘密”)?

时间:2014-05-20 作者:Alexander Farber

对于所有登录我的WordPress网站的访问者,我想根据他们的用户ID设置2个cookie,这样我就可以在同一个域的WordPress无关PHP脚本中使用他们的用户ID。

我想在一个cookie中存储用户ID。

在另一个cookie中,我想存储一个用户ID的md5哈希和一个秘密单词,这样我就可以在PHP脚本中验证第一个cookie是否是伪造的。

这是我的代码:

    $year = time() + 60 * 60 * 24 * 30 * 12;
    $auth = md5(join(\'_\', array($user->ID, \'my_secret\')));

    setcookie(\'visitor_id\', $user->ID, $year, \'/\', \'.example.com\');
    setcookie(\'visitor_auth\', $auth, $year, \'/\', \'.example.com\');
请告诉我,该代码放在哪里my plugin?

我已经看过了wp_set_auth_cookie, 但我不明白它怎么能用于我的目的。这似乎是一个设置WordPress内部cookie的函数,但不是我的自定义cookie。

或者我应该把上面的代码init 钩如何在其中找到用户ID?

1 个回复
最合适的回答,由SO网友:Alexander Farber 整理而成

没关系,我已经弄明白了:

            function init() {
                    $user = wp_get_current_user(); 
                    if (!$user instanceof WP_User) 
                            return; 

                    $year = time() + 60 * 60 * 24 * 30 * 12;
                    $auth = md5(join(\'_\', array($user->ID, "my secret")));

                    setcookie(\'visitor_id\', $user->ID, $year, \'/\');
                    setcookie(\'visitor_auth\', $auth, $year, \'/\');
            }

            add_action(\'init\', \'init\');

结束

相关推荐

Admin Theme customization

我遵循wordpress codex网站上关于通过插件创建管理主题的说明。我激活了插件,但我的样式表没有包含在<head>.. 这是我的代码:add_action( \'admin_init\', \'kd_plugin_admin_init\' ); add_action( \'admin_menu\', \'kd_plugin_admin_menu\' ); function kd_plugin_admin_init() { /* Register