Zet*_*eta 6 cookies wordpress jquery
有一种方法可以使用jquery 检查wordpress cookie wordpress_logged_in吗?
我正在使用cloudflare完全缓存,因此没有办法检查用户是否记录了这个cookie,我尝试使用jquery读取它但看起来受保护且不可见,我只能使用PHP访问它.
以下是我现在可以阅读的内容:
$logged_in = 'no';
if (count($_COOKIE)) {
foreach ($_COOKIE as $key => $val) {
if (preg_match("/wordpress_logged_in/i", $key)) {
$logged_in = 'yes';
}
}
}
Run Code Online (Sandbox Code Playgroud)
也许有可能只是通过jquery来检查它,但我没有找到如何.
谢谢你的帮助
您无法访问到名为wordpress的饼干wordpress_logged_in使用js/jquery,因为它标记为只HttpOnly:
安全cookie仅通过HTTPS协议通过加密请求发送到服务器...为防止跨站点脚本(XSS)攻击,JavaScript的Document.cookie API无法访问HttpOnly cookie; 它们只被发送到服务器.
但是,当用户登录时,3.0 wordpress会再添加一个名为wp-settings- {time} - [UID]的 cookie :
WordPress还设置了几个wp-settings- {time} - [UID] cookie.末尾的数字是用户数据库表中的个人用户ID.这用于自定义管理界面的视图,也可能是主站点界面.
你可以使用这个cookie js/jquery.因此,您甚至可以从cookie获取用户ID.
如果用户登录,这里有js函数用于获取cookie和检查:
function getLoggedInCookie() {
var cookie = document.cookie.indexOf('wp-settings-time') !== -1;
if(cookie){
alert('Logged in');
}else{
alert('Not User');
}
}
getLoggedInCookie();
Run Code Online (Sandbox Code Playgroud)
jQuery解决方案将包括Cookie插件到你的wordpress主题/插件并尝试使用它(可能需要在一些修改).
| 归档时间: |
|
| 查看次数: |
2897 次 |
| 最近记录: |