gpt4 book ai didi

php - 无法登录 TeSTLink - 未保存 session /cookie

转载 作者:行者123 更新时间:2023-12-03 05:07:33 28 4
gpt4 key购买 nike

我在客户端服务器中部署 TeSTLink 时遇到问题。问题的根源似乎是它没有正确保存/检索 session 中的信息,这会导致安装和尝试记录期间出现错误。

在安装过程中, session 中存储一个变量(installationType),指示它是新安装还是升级。该变量的值为“new”,但是当从一个屏幕移动到另一个屏幕时,该值会丢失,假设我正在执行升级并且无法继续。作为解决方法,我对代码进行了更改,以在每个屏幕上将此变量设置为"new",这样我就正确完成了安装过程。但是当我尝试登录时,我发现另一个问题:输入用户数据并访问后,屏幕刷新并重新显示登录屏幕,没有任何错误消息(实际上日志显示登录成功)。此行为与在浏览器中禁用 cookie 相同。

相同版本的 TeSTLink (1.9.14) 已在具有相同配置的本地服务器上安装,没有出现任何问题:

  • Ubuntu: 14.04.1 (64 bit)
  • Apache: 2.4.7
  • PHP 5.5.9-1ubuntu4.16
  • MySQL: 5.5.49

不同的是,我们的Ubuntu挂载在Debian内部的虚拟机上,而Ubuntu客户端部署在Azure中。

我比较了一台机器和另一台机器上的 php.ini 配置,没有发现显着差异。比较 phpinfo() 显示的信息,我没有发现任何相关内容(如果需要,可以在此处附加两者),但我看到在本地服务器的“PHP 变量”部分中,我有这个 cookie:

COOKIE [ "TESTLINKUSERAUTHCOOKIE"]

此 cookie 不会出现在客户端服务器中(我猜登录后不会创建)。

我的猜测是,Azure 管理面板(我无权访问)中有一些内容需要配置,就像在 iptables 和 Azure 中打开端口一样。

任何建议将不胜感激。

最佳答案

谜团已解。该问题与 Azure 无关,而是与自己的服务器配置有关。

在将 Apache 和 PHP 的所有配置文件与全新安装进行比较后,我发现了这一点:

/etc/apache2/sites-enabled/000-default.conf

<IfModule mod_headers.c>
Header set X-UA-Compatible "IE=edge"
Header set X-Frame-Options "DENY"
# Commented out, because fcm4 use external JavaScript
# Header set Content-Security-Policy "script-src 'self'; object-src 'self'"
Header always set Strict-Transport-Security "max-age=16070400; includeSubDomains"
Header set X-Content-Type-Options "nosniff"
Header set X-XSS-Protection "1; mode=block"
Header unset X-Powered-By
Header unset ETag
Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate"
Header set Pragma "no-cache"
Header set Expires "Wed, 11 Jan 1984 05:00:00 GMT"
Header set X-Permitted-Cross-Domain-Policies "master-only"
Header edit Set-Cookie ^(.*)$ "$1;HttpOnly;Secure"
<FilesMatch "\.(appcache|atom|bbaw|bmp|crx|css|cur|eot|f4[abpv]|flv|geojson|gif|htc|ico|jpe?g|js|json(ld)?|m4[av]|manifest|map|mp4|oex|og[agv]|opus|otf|pdf|png|rdf|rss|safariextz|svgz?|swf|topojson|tt[cf]|txt|vcard|vcf|vtt|webapp|web[mp]|webmanifest|woff2?|xloc|xml|xpi)$">
Header unset X-UA-Compatible
Header unset X-Frame-Options
Header unset Content-Security-Policy
Header unset X-XSS-Protection
</FilesMatch>
</IfModule>

导致此行为的行是:

  • header 设置 X-Frame-Options“DENY”
  • header 编辑 Set-Cookie ^(.*)$ "$1;HttpOnly;Secure"

注释掉之后就一切ok了。

关于php - 无法登录 TeSTLink - 未保存 session /cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37207885/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com