chmod() has been disabled for security reasons

最近用 codeigniter 写一个小系统,引用了session 库,codeigniter默认的session存储方式为files。鉴于安全性,文件即肯定涉及到权限问题。

在类 UNIX 操作系统中,这可以通过在该目录上执行 chmod 命令,将权限设置为 0700 来实现, 这样就可以只允许目录的所有者执行读取和写入操作。但是要注意的是,脚本的执行者通常不是你自己, 而是类似于 'www-data' 这样的用户,所以只设置权限可能会破坏你的程序。

但用户买的是万网的虚拟主机,默认是没有开启 chmod 函数的设置。于是就碰到了这个问题:"chmod() has been disabled for security reasons"。解决方法有两个:

1.开启设置

登录万网虚拟主机控制面板:点击左侧【高级环境设置】->【php.ini设置】,将【chmod函数】设置为开启。

2.更换session存储方式为数据库驱动

在config.php文件里设置

$config['sess_driver'] = 'database';
$config['sess_save_path'] = 'ci_sessions';

要求在数据库中建表:ci_sessions,如MySql:

CREATE TABLE IF NOT EXISTS `ci_sessions` (
    `id` varchar(40) NOT NULL,
    `ip_address` varchar(45) NOT NULL,
    `timestamp` int(10) unsigned DEFAULT 0 NOT NULL,
    `data` blob NOT NULL,
    KEY `ci_sessions_timestamp` (`timestamp`)
);

参考资料

http://codeigniter.org.cn/user_guide/libraries/sessions.html
https://help.aliyun.com/knowledge_detail/36434.html

时间: 2024-10-01 13:32:46

chmod() has been disabled for security reasons的相关文章

Warning: chmod() has been disabled for security reasons in

如果你有服务器权限操作方法很简单打开PHP.INI,找到这行:  代码如下 复制代码 disable_functions = 在后面那里加上要禁用的函数,如禁用多个函数,要用半角逗号 , 分开 给个例子:  代码如下 复制代码 disable_functions = passthru,exec,system,popen,chroot,scandir,chgrp,chown,escapesh ellcmd,escapeshellarg,shell_exec,proc_open,proc_get_s

PHP提示Warning:phpinfo() has been disabled函数禁用的解决方法_php技巧

本文实例讲述了PHP提示Warning:phpinfo() has been disabled函数禁用的解决方法.分享给大家供大家参考.具体分析如下: 今天在一朋友服务器测试一个网站时发现我在测试phpinfo时碰到PHP Warning:phpinfo() has been disabled for security reasons 提示了,按话的意思我总结了解决办法,下面我们一起来看看吧. 在运行phpinfo时碰到提示如下:PHP Warning: phpinfo() has been d

PHP Warning: phpinfo() has been disabled函数禁用

在运行phpinfo时碰到提示如下 PHP Warning: phpinfo() has been disabled for security reasons in XX.php on line XX 这段话的意思是告诉我们由于安全考虑 phpinfo() 函数被禁用, 如果你有服务器管理权限请修改 php.ini 配置文件参数并重启apache 重新启用. 打开php安装路径打开php.ini文件 具体实例 在php.ini中存在 disable_functions配置,默认配置中,cli执行

使用php代码加亮函数构造php小后门

函数 [  后门构造 ] 我们知道php非常强大,并且有很多有趣的功能,比如它就自带了一个php代码加亮的函数,叫做:highlight_string,它的参数就是一个字符串,如果这个字符串中包含了PHP代码,那么它将高亮显示,并且直接输出在浏览器中.比如如下的代码:<?phphighlight_string('<?php phpinfo(); ?>');?> 执行后,在浏览器中输出:<code><font color="#000000">

php中的安全模式是指的什么?

手册如是说: 章 24. 安全模式 目录 被安全模式限制或屏蔽的函数 PHP 的安全模式是为了试图解决共享服务器(shared-server)安全问题而设立的.在结构上,试图在 PHP 层上解决这个问题是不合理的,但修改 WEB 服务器层和操作系统层显得非常不现实.因此许多人,特别是 ISP,目前使用安全模式. 表格 24-1. 控制安全模式的设置选项有: 设置选项 默认值 safe_mode Off safe_mode_gid 0 safe_mode_include_dir "" s

CentOS 6.5 64位系统使用百度云免费备份文件

环境: 系统版本:CentOS 6.5 x86_64 PHP版本:php 5.3.3 一.介绍 因为自己的vps的空间很小,考虑到我自己的百度云盘有几十T,不使用怪可惜的,但是百度云盘没有Linux版本的,所以有位大神写了一个百度pcs上传脚本,现在需要通过这个脚本来把连接百度云,并且把文件上传到百度云.百度pcs上传脚本官网:http://oott123.github.io/bpcs_uploader/ 二.安装配置 1.系统要求 Linux并且需要安装php及curl,php和curl安装不

php安全之狗尾续貂(转)

安全 原创:san(小许) 来源:http://www.xfocus.org A Study In Scarlet - Exploiting Common Vulnerabilities in PHP Applications 之狗尾续貂 by san@netguard.com.cn Shaun Clowes的文章Exploiting Common Vulnerabilities in PHP Applications的确写的很棒, 考虑到了很多方面,我这个文章只是狗尾续貂,补充一些其它没怎么提

php安全之狗尾续貂

安全 Shaun Clowes的文章Exploiting Common Vulnerabilities in PHP Applications的确写的很棒, 考虑到了很多方面,我这个文章只是狗尾续貂,补充一些其它没怎么提到的问题.本文侧重于解决问题,而不是 攻击. 1.古老的欺骗SQL语句 在默认模式下,即使是你忘了把php.ini拷到/usr/local/lib/php.ini下,php还是打开magic_quotes_gpc=on. 这样所有从GET/POST/Cookie来的变量的单引号(

PHP入门教程之PHP基本语法学习

前两天和朋友小聚,朋友提出我的博客既然主要针对的是PHP初学者,应该适当增加适合PHP初学者的文章,同时网上也看到不少人在问如何学习PHP的问题,今天开始和大家分享PHP入门应该学习的基本知识. 大体上我打算针对PHP的入门学习,主要分以下几个步骤进行:介绍PHP的基本语法.基本常用函数的学习.PHP与Mysql数据库之间的基本交互操作,同时结合入门实例介绍PHP的基本应用.闲话少说,我们先开篇入门学习PHP的基本语法. 在进行PHP基本语法入门学习之前,首先确保安装配置PHP的运行环境. 一.