PHP5.3.3和kirby中的会话 情况

PHP5.3.3和kirby中的会话 情况,php,session,kirby,Php,Session,Kirby,我已经在一个客户端网站上实现了一个kirby Auth插件的修改版本,它基本上是这样工作的 用户帐户是简单的kirby内容文件,标题用作登录名,密码字段包含用户密码的bcrypt加密版本 在网站上,访问者可以点击“Customer Area”(客户区域),进入由修改后的auth插件管理的模板(重定向到“登录”表单) 该网站是多语言的。因此帐户文件看起来像content/extranet/login/login.fr.txt,或者作为一个例子content/extranet/bastian/ba

我已经在一个客户端网站上实现了一个kirby Auth插件的修改版本,它基本上是这样工作的

  • 用户帐户是简单的kirby内容文件,标题用作登录名,密码字段包含用户密码的bcrypt加密版本
  • 在网站上,访问者可以点击“Customer Area”(客户区域),进入由修改后的auth插件管理的模板(重定向到“登录”表单)
  • 该网站是多语言的。因此帐户文件看起来像
    content/extranet/login/login.fr.txt
    ,或者作为一个例子
    content/extranet/bastian/bastian.fr.txt
    ,这就是修改后的Auth插件所寻找的,它找到并读取文件,检查密码,然后登录用户
  • 此系统要求帐户页面标题与其URL相同,并且始终为不可见页面
  • 用户已登录,只能在«安全»模板中查看其文件夹中的文件
这一切在我的本地MAMP服务器上都很好,正如你在屏幕截图中看到的,但是在生产服务器上,这不起作用,我不知道为什么,我已经在很多地方看过了,我不知道发生了什么。(在临时服务器上也不起作用)

在生产服务器上,无论您输入的登录是否正确,表单都不会显示任何错误消息,也不会让用户登录。起初我认为这可能是因为我的bcrypt安装,但事实并非如此,因为我禁用了它(而是使用普通密码),但它仍然无法工作

问题似乎不是来自这里的插件,而是来自我的live PHP堆栈和本地PHP堆栈之间的差异(我猜是关于PHP会话处理)

远程PHP是5.3.3

以下是两个安装中CURL的示例输出:

工作(本地) 失败(远程) 有用的链接 远程PHPVER:

在本地服务器上运行时的屏幕截图


希望有人能在这方面帮助我!询问任何进一步的信息,我会提供。

发现这是CMS的问题,文件缓存已打开,并且未忽略“登录”、“注销”和“外部网”文件(所有文件均与客户区域相关),必须添加:

c::set('cache.ignore', array('api', 'sitemap', 'extranet', 'account', 'login', 'logout'));
我的kirby配置(api和站点地图是不相关的)

这解决了登录表单被缓存的问题,因此不会影响服务器上的任何内容。现在表单没有被缓存

curl -d "username=test&password=test" -i www.driving-evolution.com/fr/login

HTTP/1.1 200 OK
Date: Tue, 27 May 2014 13:01:32 GMT
Server: Apache
X-Powered-By: PHP/5.3.3
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Set-Cookie: PHPSESSID=6j9o1i4djetojtbg444i51efm7; path=/
Vary: Accept-Encoding
X-UA-Compatible: IE=edge
Connection: Keep-Alive, close
Transfer-Encoding: chunked
Content-Type: text/html
c::set('cache.ignore', array('api', 'sitemap', 'extranet', 'account', 'login', 'logout'));