【问题标题】:PHP wordpress cookie redirectPHP wordpress cookie 重定向
【发布时间】:2011-12-09 10:10:50
【问题描述】:

遇到一个问题,我很难开始。不是 PHP 大佬,所以不知道从哪里开始。

我拥有的是这个。我有一个在 app.xxx.com 上运行的 Web 应用程序。这是我们所有客户都使用的私有应用程序。

我们正在 wordpress 中建立一个关于我们的软件如何工作、帮助文件等的知识库……这是私人信息。出于商业原因,这个 wordpress 在 kb.xxx.com 上运行并且必须在那里。

我目前正在做的是,当用户在 app.xxx.com 上进行身份验证时,我正在使用一些身份验证信息设置域级别的 cookie。这很好用。

如果用户浏览到 kb.xxx.com 并且没有我们的父域 cookie,我需要在 wordpress 方面发生什么,它们会被发送到某处的安全错误 URL。这必须发生在服务器端,在 JS 中不能这样做,因为它不够安全。

我会在 wordpress 安装中编辑哪些文件来对每个请求进行这种检查?另外,如何在 PHP 中检查父级 cookie。

提前致谢!

【问题讨论】:

    标签: php wordpress cookies


    【解决方案1】:

    试试这个 WordPress 动作

    你可以试试这个方法。只需添加 cookie 的名称并将此代码添加到位于主题文件根目录的 Functions.php 文件中。如果没有,您可以创建一个。

    将代码粘贴到您的 Functions.php 文件中

    function has_auth_cookie(){ 
        // See if cookie is set
        if(isset($_COOKIE['cookie_name'])){
            // Do nothing 
        }else{
            // Do Something else
            header('Location: http://www.example.com/');
        }
    }
    add_action('template_redirect', 'has_auth_cookie');
    

    结论

    WordPress 有一个很棒的操作和过滤系统,这使得添加代码变得很容易。通过使用过滤器和操作,您可以使代码保持整洁,而不是在模板文件中到处乱扔 PHP。此方法也将在 WordPress 核心更新中继续存在。如果您使用 WordPress,这是唯一的出路。

    以下是 WordPress 的可用操作列表,您可以尝试替代“template_redirect”: http://codex.wordpress.org/Plugin_API/Action_Reference

    【讨论】:

    • 好的,试过了,没用。我将它添加到我可以在网站 /wp-content/themes/mytheme/functions.php 和 /wp-includes/functions.php 中找到的每个 functions.php 文件中,并且没有任何重定向...我在某个地方错过了什么吗?跨度>
    • 嘿,马特,删除“!”在 isset() 前面,它会起作用。应该是 - if(isset($_COOKIE['cookie_name'])) - 此外,您只需将代码放入 /wp-content/themes/mytheme/Functions.php - 所以从 /wp-includes 中删除它/functions.php
    猜你喜欢
    • 2014-03-27
    • 1970-01-01
    • 2021-05-04
    • 2016-05-22
    • 1970-01-01
    • 1970-01-01
    • 2019-12-15
    • 1970-01-01
    • 2012-04-06
    相关资源
    最近更新 更多