本地php.ini sessions.save_路径问题-未识别会话

本地php.ini sessions.save_路径问题-未识别会话,session,php,Session,Php,我有一个正在运行用户管理脚本的客户端。主机提供程序已阻止allow_url_fopen,但正在使用suPHP,因此我们创建了一个php.ini的本地副本,并将allow_url_fopen设置为“on” 现在唯一的问题是,您不能再使用脚本登录-它显示“成功登录”-然后立即注销(因为会话不是没有创建就是在错误的位置-请原谅我缺乏服务器知识) 以下是本地php.ini中的设置 upload_tmp_dir = "/home/aspac124/public_html/tmp" register_glo

我有一个正在运行用户管理脚本的客户端。主机提供程序已阻止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。但是这是会话的正确位置吗?保存路径?我已经检查过了,文件夹已经存在,我还将它设置为777,只是为了确保没有幸福感

另一个使用同一系统的客户也有类似的问题,他告诉我他把tmp/文件夹改成了他的主目录,一切都很好

我尝试将保存路径设置为just/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请求,这就是问题所在。

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


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

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


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

这是个坏主意
/home/aspac124/public\u html/tmp
。。一个非常糟糕的主意。切勿将会话数据放在可公开访问的目录中。从来没有。这是托管公司希望客户机拥有它的地方(我假设这就是我今天早上在php.ini文件中找到的)-我原以为这不是一个热门主意…我也有一个主意推荐另一家托管公司。这是否意味着你将相同的php.ini文件复制到每个需要利用会话变量的目录中?这是一个坏主意
/home/aspac124/public\u html/tmp
。。一个非常糟糕的主意。切勿将会话数据放在可公开访问的目录中。从来没有。这是托管公司希望客户机拥有它的地方(我假设这就是我今天早上在php.ini文件中找到的)-我原以为这不是一个热门主意…我还想推荐另一家托管公司。这是否意味着您将相同的php.ini文件复制到每个需要利用会话变量的目录中?会话固定在这种情况下不适用。这里发生的是会话劫持(通过访问服务器或客户端上的会话存储)。注意:会话固定是会话劫持的一种。@AdnanShammout是的,你是对的,我的回答写得有点太快了!我已经更新了,谢谢。选择此作为正确答案,因为它是正确的,但没有帮助,因为托管公司到目前为止在ol的技术支持方面还没有达到标准。无论如何,谢谢。会话固定不适用于这种情况。这里发生的是会话劫持(通过访问服务器或客户端上的会话存储)。注意:会话固定是会话劫持的一种。@AdnanShammout是的,你是对的,我的回答写得有点太快了!我已经更新了,谢谢。选择此作为正确答案,因为它是正确的,但没有帮助,因为托管公司到目前为止在ol的技术支持方面还没有达到标准。无论如何,谢谢你。