首页 > 代码库 > 请说明在 php .ini 中 safe_mode 开启之后对于 PHP 系统函数的影响

请说明在 php .ini 中 safe_mode 开启之后对于 PHP 系统函数的影响

开启之后,主要会对系统操作、文件、权限设置等方法产生影响,平常项目基本上也用不到这些方法。主要我想还是用来应对webshell吧,减少被人植入webshell所带来的某些安全问题。

————

webshell就是以asp、php、jsp或者cgi等网页文件形式存在的一种命令执行环境,也可以将其称做为一种网页后门。黑客在入侵了一个网站后,通常会将asp或php后门文件与网站服务器WEB目录下正常的网页文件混在一起,然后就可以使用浏览器来访问asp或者php后门,得到一个命令执行环境,以达到控制网站服务器的目的。

————

safe_mode是提供一个基本安全的共享环境。在一个多用户共享的phpweb服务器上,当这台服务器开启了safe_mode模式,有以下函数将会受到影响。

首先,一下尝试访问文件系统的函数将会被限制,运行服务器的用户id,如果想要尝试操作某个文件,必须要用户该文件的读取或者写入的访问权限。

因此,在safe_mode打开的情况下,下列函数将会收到限制:

ckdir,

move_uploaded_file,

chgrp,

parse_ini_file,

chown,

rmdir,

copy,

rename,

fopen,

require,

highlight_file,

show_source,

include,symlink,

link,

touch,

mkdir,

unlink

以上都是跟操作文件系统有关的函数,除此之外,一些PHP扩展的函数也会受到限制,不能在程序里面直接加载扩展,只能到php.ini里加载,而且php如果需要执行操作系统的程序时,必须在safe_mode_exec_dir中指定程序的路径,否则执行将失败。

此外还有

exec,

shell_exec,

pasathru,

system,

popen等函数会收到限制

http://blog.csdn.net/zqtsx/article/details/9052233

请说明在 php .ini 中 safe_mode 开启之后对于 PHP 系统函数的影响