如何在php中销毁来自同一服务器的会话和cookie?

麦克风

我有drupal登录模块,每当用户从wordpress站点登录时都会触发它会被触发并登录到该站点但是当用户从drupal注销时它不会从wordpress注销。请检查下面的代码并指导我解决这个问题

function wp_login_user_logout( $account) {          
    if (isset($_SERVER['HTTP_COOKIE'])) {
        $cookies = explode(';', $_SERVER['HTTP_COOKIE']); 
        foreach($cookies as $cookie) {
            $parts = explode('=', $cookie);
            $name = trim($parts[0]);
            setcookie($name, '', time()-1000);
            setcookie($name, '', time()-1000, '/','sitedomain.com');
        }


    }

}
毛利克

您不能从一个域修改另一个域的 cookie。

所以我建议你创建一些这样的api。

关于 WordPress 安装...

<?php

// file: wp/api/logout.php
require_once("../wp-load.php");


if(empty($_GET["email"])) {
    die('no email given');
}

// get wordpress user_id by email
$email = $_GET["email"];
$user = get_user_by( 'email', $email );
$user_id =  $user->ID;


// get all sessions for user with ID $user_id
$sessions = WP_Session_Tokens::get_instance($user_id);

// we have got the sessions, destroy them all!
$sessions->destroy_all();

print("user logged out.");

现在,如果您像这样访问 wordpress 的 url(确保对电子邮件 ID 进行 url 编码):https : //example.com/api/logout.php? email = email% 40gmail.com

它将使用电子邮件 ID 注销用户:[email protected]

现在你可以从你的 Drupal 向这个 url 发出 curl 请求。

当然这不是很安全(如果他们有电子邮件 ID,可以注销任何用户)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在同一服务器环境上运行PHP和Tomcat?

来自分类Dev

如何在同一服务器上同时发出HTTP和Websocket请求?

来自分类Dev

如何在多个irssi实例中连接到同一服务器?

来自分类Dev

使用PHP在同一服务器上的多个域之间共享会话

来自分类Dev

PHP在同一服务器上的不同域(cURL)上创建cookie

来自分类Dev

如何在同一服务器上托管Web应用程序和API,同时将它们分开?

来自分类Dev

PHP和node.js可以在同一服务器上运行

来自分类Dev

同一服务器上端口80上的Node.js和PHP

来自分类Dev

Plone 4.2:如何在同一服务器上启动新安装的实例?

来自分类Dev

如何在同一服务器上运行多个StrongLoop LoopBack应用程序?

来自分类Dev

通配符子域和同一服务器Nginx中的特定子域配置

来自分类Dev

apache和rails可以在同一服务器上的不同目录中运行吗?

来自分类Dev

登录一个Express应用程序会破坏其他(同一服务器)中的会话

来自分类Dev

Websphere 7-如何知道部署在同一服务器实例中的EARs端口

来自分类Dev

可以为同一服务在不同服务器上进行不同的会话吗?

来自分类Dev

会话冲突codeIgnite(使用auth_tank库在同一服务器中的2个应用程序)

来自分类Dev

WCF如何检测客户端和服务器是否在同一服务器中

来自分类Dev

WCF如何检测客户端和服务器是否在同一服务器中

来自分类Dev

Node.js-服务来自同一服务器上运行的tomcat的请求

来自分类Dev

MongoDB分片和配置服务器在同一服务器上?

来自分类Dev

如何配置Nginx(和Stradis)以在同一服务器上正确服务两个Stradi实例?

来自分类Dev

允许Glassfish和PHP使用Apache在同一服务器上一起工作

来自分类Dev

Python:客户端与服务器之间的通信-如何在同一服务器端口上同时接收来自不同客户端的消息?

来自分类Dev

如何在SQL Server数据库中添加与在同一服务器上的另一用户具有相同权限的用户?

来自分类Dev

如何在统一服务器中配置类似于wampserver的警告消息

来自分类Dev

如何在同一服务器上运行两个spring boot应用程序?

来自分类Dev

如何在同一服务器上配置多个symfony2项目(开发环境)

来自分类Dev

如何在同一服务器上托管两个暴露端口80的Docker容器

来自分类Dev

如何在同一服务器中使用节点 js 重定向以响应 js 应用程序?

Related 相关文章

  1. 1

    如何在同一服务器环境上运行PHP和Tomcat?

  2. 2

    如何在同一服务器上同时发出HTTP和Websocket请求?

  3. 3

    如何在多个irssi实例中连接到同一服务器?

  4. 4

    使用PHP在同一服务器上的多个域之间共享会话

  5. 5

    PHP在同一服务器上的不同域(cURL)上创建cookie

  6. 6

    如何在同一服务器上托管Web应用程序和API,同时将它们分开?

  7. 7

    PHP和node.js可以在同一服务器上运行

  8. 8

    同一服务器上端口80上的Node.js和PHP

  9. 9

    Plone 4.2:如何在同一服务器上启动新安装的实例?

  10. 10

    如何在同一服务器上运行多个StrongLoop LoopBack应用程序?

  11. 11

    通配符子域和同一服务器Nginx中的特定子域配置

  12. 12

    apache和rails可以在同一服务器上的不同目录中运行吗?

  13. 13

    登录一个Express应用程序会破坏其他(同一服务器)中的会话

  14. 14

    Websphere 7-如何知道部署在同一服务器实例中的EARs端口

  15. 15

    可以为同一服务在不同服务器上进行不同的会话吗?

  16. 16

    会话冲突codeIgnite(使用auth_tank库在同一服务器中的2个应用程序)

  17. 17

    WCF如何检测客户端和服务器是否在同一服务器中

  18. 18

    WCF如何检测客户端和服务器是否在同一服务器中

  19. 19

    Node.js-服务来自同一服务器上运行的tomcat的请求

  20. 20

    MongoDB分片和配置服务器在同一服务器上?

  21. 21

    如何配置Nginx(和Stradis)以在同一服务器上正确服务两个Stradi实例?

  22. 22

    允许Glassfish和PHP使用Apache在同一服务器上一起工作

  23. 23

    Python:客户端与服务器之间的通信-如何在同一服务器端口上同时接收来自不同客户端的消息?

  24. 24

    如何在SQL Server数据库中添加与在同一服务器上的另一用户具有相同权限的用户?

  25. 25

    如何在统一服务器中配置类似于wampserver的警告消息

  26. 26

    如何在同一服务器上运行两个spring boot应用程序?

  27. 27

    如何在同一服务器上配置多个symfony2项目(开发环境)

  28. 28

    如何在同一服务器上托管两个暴露端口80的Docker容器

  29. 29

    如何在同一服务器中使用节点 js 重定向以响应 js 应用程序?

热门标签

归档