邪恶八进制信息安全团队技术讨论组's Archiver

EvilOctal 2007-2-12 16:59

[转载]SAFE MODE Restriction in effect 的问题

原始链接:[url]http://x.discuz.net/405175/viewspace_20399.html[/url]

当 safe_mode 设置为 on,PHP 将通过文件函数或其目录检查当前脚本的拥有者是否和将被操作的文件的拥有者相匹配。例如:
[quote]-rw-rw-r--   1 rasmus  rasmus     33 Jul  1 19:20 script.php
-rw-r--r--   1 root    root     1116 May 26 18:01 /etc/passwd [/quote]
运行 script.php
[code]<?php
readfile(&#39;/etc/passwd&#39;);
?>  [/code]
如果安全模式被激活,则将会导致以下错误:
[quote] Warning: SAFE MODE Restriction in effect. The script whose uid is 500 is not
allowed to access /etc/passwd owned by uid 0 in /docroot/script.php on line 2 [/quote]

haohappy的说法:

原因在于你使用了安全模式,而你上传文件的用户uid和拥有者的uid不同,导致没有访问权限。比如安全模式下,你的ftp上传用户uid为123,而上传后拥有者的uid为456,就会出现这样的错误。

有两种解决方法:
1。关闭安全模式;
2。在命令行下chown改文件/目录的拥有者

当然两种方法都要求你有服务器的权限。

Helvin 2007-3-6 07:43

3. safe_mode_gid=1

另外:PHP 6.0.0 中去除了安全模式

页: [1]
© 1999-2008 EvilOctal Security Team