Osticket: 需要有效的 CSRF Token OsTicket 1.10

创建于 2016-12-06  ·  36评论  ·  资料来源: osTicket/osTicket

你好,有什么办法可以解决这个问题吗?
OsTicket 1.10
赢得 2012 R2
阿帕奇 2.4
php 7.1
安装了所有东西,遇到这个问题。 阅读很多,找到了将“session.auto_start”更改为 1 的解决方案,它对我有用。 我登录了,但过了一会儿仍然遇到同样的问题。

bug php 7

最有用的评论

有人会尝试上面的补丁 424bfc9 吗? 它解决了我的问题。
我将根据反馈决定提出拉取请求。

所有36条评论

我的猜测是因为您正在运行 PHP 7.1.0(几天前发布)。 我的理解是 osticket 1.10 仍然不完全兼容 7.0。 您可能希望将等级降低到 5.6,看看是否有帮助。

谢谢! 我明天尝试重新安装它。
所有这些 php 东西对我来说都是新的,所以我只是下载了所有东西的最新版本。 我认为应该有某种通知,php 7+ 尚未正式支持。

我在 PHP 7.1 上遇到了同样的问题,我将降级到 PHP 5.6,在最旧的 PHP 上一切正常。
OsTicket 和 PHP 7 似乎是不同的问题https://github.com/osTicket/osTicket/issues/3033

我在 OSticket 1.10、Apache 和 PHP 7.1 上遇到了这个问题。 将 PHP 降级到 7.0.14 后,错误消失了。 希望这可以帮助任何人。

这是在处理吗? PHP 7.1 现已发布,对它的 osTicket 支持会很棒。

我希望这正在处理中

我在 PHP 7.1 + osticket 1.10 上有同样的问题。
关于我的挖掘的一些信息:

  • 当我访问 scp/login.php

    • 从 osticket 发送了有效的 Set-Cookie: "OSTSESSID=nntpjei4195nd6ru6h759mtk1d; expires=Tue, 28-Mar-2017 12:46:50 GMT; Max-Age=86400; path=%PATH%"

    • 但是没有创建与此键 (nntpje...) 对应的 ost_session 记录。

  • 然后当我提交用户名和密码时:

    • DoesNotExist异常upload/include/class.ostsession.php(184): QuerySet->one() (当然,这是获救。)

  • 当我将会话后端设置为 memcache 时

    • 显示了相同的错误。

有人会尝试上面的补丁 424bfc9 吗? 它解决了我的问题。
我将根据反馈决定提出拉取请求。

@kaorukobo你的补丁对我

@kaorukobo

可以确认修复对我也有效。 Centos 7、PHP 7.1.3 来自 Remi OSTicket 1.10

相应的拉取请求被批准:
https://github.com/osTicket/osTicket/pull/3773

我刚刚安装了最新的 osTicket,我使用的是 Windows 7 Professional Edition Service Pack 1 i586 上的 PHP 版本 7.1.5,并且我在第一次登录管理员时获得了有效的 CSRF 令牌

这很糟糕。 与https://github.com/osTicket/osTicket/issues/304相同的问题? 我希望我在升级之前就知道。 我无法返回此服务器,因为我的某些脚本需要 PHP7。 这应该是优先级 1。

亲爱的@Tomashley303看来 PHP 7 的这个问题不会很快修复,因为保持 PHP 和其他软件更新对于安全性非常重要 我已经升级到 PHP 7
这是有效的修复程序: https :

仅供参考,我遇到了同样的问题,我的机器上的时间不正确。

刚刚发现在 PHP5.6 上可以登录我的 OSticket。 一旦我将我的服务器设置为 PHP7.1,我就无法再登录到 OSTicket 并获得 Valid CSRF Token Required 消息。

@Richardvi osTicket 支持 php7 而不是 php7.1。 所以这很可能是你的问题。

好,谢谢!

谢谢大哥,真的很有帮助。

谢谢!!! 工作正常 :)

今天是 osTicket 的新手,如果它不支持 php7.1.x,对我来说是交易破坏者,直到它支持。

对我有用只需要在一个文件上添加一个新行👍
https://github.com/osTicket/osTicket/commit/424bfc99d93b920f6162b602eeea41125086425d

有谁知道这是否已在最新版本 1.10.4(昨天)中修复?

嗨@我认为这个问题没有解决,没有像最近发布的那样测试最后一个版本。
您可以在发行说明中阅读更新内容: https :

@PeopleInside

它在一定程度上解决v1.11.0rc-1与此。 它不会为您提供带有错误消息的空白窗口,而是为您提供带有错误“有效 CSRF 令牌”的登录页面。

干杯。

Windows + Apache + PHP 版本 7.2.7

session.auto_start=1 为我工作

Ubuntu 18.04 x64 + Apache2 + PHP 7.2-10 + osT 1.10.4

/etc/php/7.2/apache2/php.ini session.auto_start=1 对我也有用。

/etc/php/7.2/apache2/php.ini session.auto_start=1 对我也有用。

@jpkh非常感谢您分享 session.auto_start=1 应该放置的位置。 这是 php (ini) 配置的编辑,我在问 OsTicket 应该更改什么来解决这个问题。 通常我更喜欢在软件中而不是在 PHP 中进行修复。 很高兴知道有一个适用于 PHP 7.2 的解决方案,但也许我会等待了解是否可以在 OsTicket 方面解决该问题。

最新版本兼容Php 7.0,所以可以从7.1降级到7.0。 轻松修复

在 PHP 7.1 及更高版本中,您需要从会话读取处理程序返回一个字符串,否则您将收到错误 - 文档一直说它应该返回一个字符串,但 PHP 现在才开始强制执行。 查看 php 日志,看看您是否有 PHP 警告:session_start(): Failed to read session data: user

在 class.ostsession.php 的 read 方法中的 return 之前添加以下行

if(!is_string($this->data->session_data)) {
    $this->data->session_data = strval($this->data->session_data);
}

这可确保无论您在会话数据中放入什么内容,您始终会按应有的方式返回字符串

出于安全原因,降级 PHP 版本从来都不是一个好主意。 双重糟糕,因为 PHP 7.0 已经脱离了常规支持,并且在一个月内脱离了安全支持 :(

http://php.net/supported-versions.php

@auroraeosrose class.ostsession.php 中有两个读取函数,您能指定需要插入此代码段的行吗? 第 270 行的 read 函数? 还是 183 上的那个? PS感谢您提供此解决方案...当我使用session.auto_start=1它破坏了我在同一台服务器上运行的其他应用程序之一(TestLink),因此我感谢一个仅涉及更改 OST 而不是 php 的解决方案.ini

@davidtessier

班级DbSessionBackend那个,把它放在 return 的正上方。

聚苯乙烯
这在1.11解决:

3955

4344

干杯。

谢谢! 那行得通。

在 PHP 7.1 及更高版本中,您需要从会话读取处理程序返回一个字符串,否则您将收到错误 - 文档一直说它应该返回一个字符串,但 PHP 现在才开始强制执行。 查看 php 日志,看看您是否有 PHP 警告:session_start(): Failed to read session data: user

在 class.ostsession.php 的 read 方法中的 return 之前添加以下行

if(!is_string($this->data->session_data)) {
    $this->data->session_data = strval($this->data->session_data);
}

这可确保无论您在会话数据中放入什么内容,您始终会按应有的方式返回字符串

出于安全原因,降级 PHP 版本从来都不是一个好主意。 双重糟糕,因为 PHP 7.0 已经脱离了常规支持,并且在一个月内脱离了安全支持 :(

http://php.net/supported-versions.php

谢谢,这对我有用。

@auroraeosrose 的解决方案也适用于 PHP7.2.15 和 osticket 1.10.5

@auroraeosrose的解决方案适用于:

发行商 ID:Debian
描述:Debian GNU/Linux 9.8(扩展版)
版本:9.8
代号:拉伸
阿帕奇 2.4
PHP 版本 7.2.16

此页面是否有帮助?
0 / 5 - 0 等级