【问题标题】:local php.ini sessions.save_path issue - sessions not recognised本地 php.ini session.save_path 问题 - 无法识别会话
【发布时间】:2012-06-28 09:30:30
【问题描述】:

我有一个正在运行用户管理脚本的客户端。主机提供商阻止了 allow_url_fopen 但正在使用 suPHP,因此我们创建了 php.ini 的本地副本,其中 allow_url_fopen 设置为“on”。

现在唯一的问题是您无法再使用该脚本登录 - 它显示“成功登录” - 然后将您直接注销(因为会话要么未创建,要么位于错误的位置 - 原谅我缺乏服务器知识)。

这里是本地php.ini中的设置

upload_tmp_dir = "/home/aspac124/public_html/tmp"
register_globals = On
memory_limit = 256M
session.save_path = "/home/aspac124/public_html/tmp"
safe_mode = off
upload_max_filesize = 32M
allow_url_fopen = On
zend_extension = "/usr/local/IonCube/ioncube_loader_lin_5.3.so"

我不确定为什么托管服务提供商会为客户端打开 register_globals。但那是 session.save_path 的正确位置吗?我已经检查过该文件夹存在,我还将它设置为 777 只是为了确保但没有快乐。

另一个使用同一系统的客户也遇到了类似的问题,并告诉我他将 tmp/ 文件夹更改为他的主目录,一切都很好。

我尝试将保存路径设置为 /tmp、/home/aspac124/tmp,但没有任何反应 - 只是正常注销。如果我编了一个路径,那么我会收到“没有这样的文件或目录”错误。

当我把它作为“/home/tmp”时,我收到以下消息

Warning: session_start() [function.session-start]: open(/home/tmp/sess_4417d180e599b5f12fc34a28f5467d21, O_RDWR) failed: Permission denied (13) in /home/aspac124/public_html/domainnamehere.com/includes/lightwork_session.php on line 45

这是什么意思,home/tmp 是正确的位置吗?如果是,我应该怎么做 - 文件夹权限是否应该更改?

编辑:我无权访问域根目录之外的文件夹,因此无法更改文件权限 - 必须等待客户端,但在此之前需要尽可能多的信息。

提前致谢

编辑:仅供阅读本文的任何人使用。请确保您的本地 php.ini 文件设置应用于可能需要它的任何子文件夹。我正在向根目录的子文件夹中的文件发出 ajax 请求,这就是问题所在。

【问题讨论】:

  • 这是个坏主意/home/aspac124/public_html/tmp.. 一个非常坏的主意。切勿将会话数据放在可公开访问的目录中。从来没有。
  • 这是托管公司希望客户拥有它的地方(我假设这是我今天早上在 php.ini 文件中找到的) - 我认为这不是一个热门的想法...也有想法推荐另一家托管公司。
  • 这是否意味着您将相同的 php.ini 文件复制到需要利用会话变量的每个目录?

标签: session php


【解决方案1】:

您应该将会话和上传目录放在文档根目录之外,否则任何人都可以访问这些目录,并可能导致远程脚本注入、会话劫持等。

您或许应该创建一个 tmp 目录作为/home/aspac124/tmp 并设置权限以便 Apache 可以写入该目录。也许将 chmod 设置为 0760。

【讨论】:

  • 会话固定在这种情况下不适用。这里发生的是会话劫持(通过访问服务器或客户端上的会话存储)。注意:会话固定是会话劫持的一种。
  • @AdnanShammout 是的,你是对的,我的答案写得太快了!我已经更新了,谢谢。
  • 选择此作为正确答案,因为它是正确的,但没有帮助,因为托管公司到目前为止还没有达到 ol' 技术支持的标准。还是谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-03
  • 1970-01-01
相关资源
最近更新 更多