chmod()hasbeendisabledforsecurityreasons
最近用 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
相關文章
- chmod 命令——chmod 755與 chmod 4755區別
- chmod 命令
- chmod 使用
- chmod 6751 oracleOracle
- [Bash] chmod and chown
- linux中 chmod +x和chmod u+x以及chownLinux
- chmod命令(change mode)
- 拯救chmod -R 000 /*
- linux chmod命令(轉)Linux
- chmod命令詳細用法
- chown與chmod的區別
- Linux基礎命令---chmodLinux
- chmod/chkconfig命令使用
- Linux chmod命令詳解Linux
- UNix下chmod,chown命令 詳解
- chmod 755 a.sh命令解釋
- Linux下chmod賦權詳解Linux
- 怎麼用linux命令之chmod方法Linux
- 簡述Linux chmod命令的知識Linux
- 雲伺服器chmod命令用法詳解伺服器
- Linux-許可權管理(chmod、umask)Linux
- DBCA建庫出現CHMOD NOT FOUND錯誤
- linux chmod命令詳細使用引數Linux
- 常用命令--chmod--chown--區別
- Linux中chmod命令的定義及作用!Linux
- grid 安裝報錯一則--chmod /devdev
- [root@founder14 oracle]# chmod +777 backupOracle
- 圖文介紹Linux chmod目錄許可權Linux
- 每天一個 Linux 命令(27):linux chmod 命令Linux
- Docker的`COPY --chmod`可將映象檔案大小減少35%Docker
- 檔案許可權管理命令chmod,chown與文字搜尋命令grep
- 詳細對比C語言中的chmod()函式和fchmod()函式C語言函式
- chmod 4775 四位數中第一位詳解
- 詳細記錄 mac 系統下使用 chmod 命令修改檔案許可權Mac
- Linux chmod命令修改檔案與資料夾許可權命令程式碼Linux
- 主機偵探:Centos7系統使用chmod修改檔案許可權方法CentOS
- 在阿里雲ECS上執行chmod+777-R/etc該如何挽救阿里
- linux為檔案/目錄分配使用者組/許可權(chown chgrp chmod)Linux