WordPress-检查当前浏览器是否已从外部服务器登录到Wordpress网站

问题描述

TLDR:我可以在服务器上使用脚本来检查当前的Web浏览器是否已登录到特定的WordPress网站吗?

长版: 我正在尝试在从Icecast服务器流式传输的WordPress网站上设置音频播放器。 Icecast服务器设置为进行“ http”身份验证,因为当它收到文件请求时,它将请求发送到外部服务器以做出是/否决定-将“ ok”标头发送回给服务器服务器,如果一切正常,则允许来自WordPress网站的原始请求。

对于最终用户,这一切都是在用户/密码保护的WordPress网站上发生的,所以我真正想要发生的是WordPress网站从Icecast服务器请求文件,然后服务器将请求发送回WordPress网站上的custom.PHP,然后检查用户浏览器在我的WordPress网站中是否具有当前登录的会话。如果是这样,则将“ ok”标头发送回以完成循环。

我已经使标头正常工作,但是没有检查登录wordpress会话的位。我相信这是因为其“会话”源自(单独的)服务器,而不是来自客户端的浏览器。

我正在为此打结!

Icecast安装点XML:

<mount-name>/stream99.aac</mount-name>
    <authentication type="url">
        <option name="listener_add" value="https://myserver.com/listener_joined.PHP"/>
        <option name="username" value="user"/>
        <option name="password" value="pass"/>
        <option name="auth_header" value="icecast-auth-user: 1"/>
        <option name="timelimit_header" value="icecast-auth-timelimit:"/>
        <option name="headers" value="x-pragma,x-token"/>
        <option name="header_prefix" value="ClientHeader."/>
    </authentication>
</mount>

正在运行“ listener_joined.PHP”:

<?PHP
        header('icecast-auth-user: 1');
?>

我尝试了许多在此处找到的wordpress'is_user_logged_in()的组合,但没有任何效果。我相信这是因为 Icecast服务器正在轮询信息(即未登录)。

希望有人可以提供帮助-非常感谢!

解决方法

改为使用querystring参数。

https://icecast.example.com/stream?sessionid=abcdef1234567890

这样,您就不必担心标题或跨域Cookie。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...