`

【面试题】php.ini中safe_mode开启对PHP系统函数的影响

阅读更多

 

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

 

影响系统操作的函数:

 

  如果需要执行操作系统的程序时,必须在safe_mode_exec_dir中指定程序的路径,否则执行将失败。

exec() 只能在 safe_mode_exec_dir 设置的目录下进行执行操作。基于某些原因,目前不能在可执行对象的路径中使用 ..。escapeshellcmd() 将被作用于此函数的参数上。 

system() 只能在 safe_mode_exec_dir 设置的目录下进行执行操作。基于某些原因,目前不能在可执行对象的路径中使用 ..。escapeshellcmd() 将被作用于此函数的参数上。 

passthru() 只能在 safe_mode_exec_dir 设置的目录下进行执行操作。基于某些原因,目前不能在可执行对象的路径中使用 ..。escapeshellcmd() 将被作用于此函数的参数上。 

popen() 只能在 safe_mode_exec_dir 设置的目录下进行执行操作。基于某些原因,目前不能在可执行对象的路径中使用 ..。escapeshellcmd() 将被作用于此函数的参数上。 

 

 

操作文件系统操作的函数:

fopen() 检查被操作的目录是否与正在执行的脚本有相同的 UID(所有者)。
mkdir() 检查被操作的目录是否与正在执行的脚本有相同的 UID(所有者)。
rmdir() 检查被操作的目录是否与正在执行的脚本有相同的 UID(所有者)。
rename() 检查被操作的文件或目录是否与正在执行的脚本有相同的 UID(所有者)。 检查被操作的目录是否与正在执行的脚本有相同的 UID(所有者)。

unlink() 检查被操作的文件或目录是否与正在执行的脚本有相同的 UID(所有者)。 检查被操作的目录是否与正在执行的脚本有相同的 UID(所有者)。
copy() 检查被操作的文件或目录是否与正在执行的脚本有相同的 UID(所有者)。 检查被操作的目录是否与正在执行的脚本有相同的 UID(所有者)。 (on source and target ) 
chgrp() 检查被操作的文件或目录是否与正在执行的脚本有相同的 UID(所有者)。
chown() 检查被操作的文件或目录是否与正在执行的脚本有相同的 UID(所有者)。
chmod() 检查被操作的文件或目录是否与正在执行的脚本有相同的 UID(所有者)。 另外,不能设置 SUID、SGID 和 sticky bits
touch() 检查被操作的文件或目录是否与正在执行的脚本有相同的 UID(所有者)。 检查被操作的目录是否与正在执行的脚本有相同的 UID(所有者)。
symlink() 检查被操作的文件或目录是否与正在执行的脚本有相同的 UID(所有者)。 检查被操作的目录是否与正在执行的脚本有相同的 UID(所有者)。 (注意:仅测试 target)
link() 检查被操作的文件或目录是否与正在执行的脚本有相同的 UID(所有者)。 检查被操作的目录是否与正在执行的脚本有相同的 UID(所有者)。 (注意:仅测试 target)

 其他:

set_time_limit() 在安全模式下不起作用。 
max_execution_time 在安全模式下不起作用。 
mail() 在安全模式下,第五个参数被屏蔽。

 

 

 

0
0
分享到:
评论

相关推荐

    腾讯php面试题解析

    **题目描述:** 说明 PHP.ini 中开启 safe_mode 后对系统函数的影响。 - **safe_mode**:安全模式。当开启此模式时,会增加对服务器资源的保护。这包括: - 限制文件上传/下载操作。 - 限制执行某些可能危及...

    公司面试题之-腾讯PHP工程师笔试题.doc

    在 safemode 开启的情况下,PHP 对系统函数的影响包括:限制文件访问、限制执行命令、限制网络访问等。safemode 的目的是为了提高 PHP 的安全性。 三、魔术方法 魔术方法是 PHP 中的一种特殊方法,它们是按照一定...

    jsj_PHP新浪面试题,面试必看。.pdf

    以下是对所给面试题的详细解析: 1. `echo count("abc");` 这个语句会输出字符串"abc"的字符数量,即3。`count()`函数用于计算数组或对象元素的数量,对字符串而言,它计算的是字符数。 2. `PHPIPIP` 可能是指PHP...

    jsj_PHP新浪面试题,面试必看。[借鉴].pdf

    5. `php.iniSafe_mode`: `safe_mode`是旧版PHP中的一个安全特性,用于限制脚本执行的安全环境。但在PHP 5.4之后已被移除,现在更推荐使用其他安全策略如`open_basedir`。 6. `SQL`和`MySQL`: SQL(Structured Query...

    jsj_PHP新浪面试题,面试必看。[参考].pdf

    4. `echo`, `print`, `print_r()`: 这些都是PHP中的输出函数。`echo`是最快速的,用于输出一个或多个字符串。`print`也只接受一个参数并输出,但它是语句而非函数。`print_r()`则用于打印变量的结构化信息,对于数组...

    PHP新浪面试题,面试必看。

    `php.ini` 中的 Safe_mode 配置有何影响? `safe_mode` 是 PHP 的一个配置选项,用于增加脚本执行的安全性。当其被启用时,PHP 脚本将受到限制,例如禁止直接执行某些文件系统操作。 #### 6. 同时写同一文件会发生...

    jsjPHP新浪面试题面试必看.pdf

    5. **安全模式**:`php.ini`中的`Safe_mode`是一个过时的安全特性,它允许管理员限制PHP脚本能做什么,防止恶意代码执行。但在PHP 5.3版本后已被移除。 6. **数组操作**:PHP中的数组可以通过索引访问,如`$a['a']`...

    腾讯PHP工程师笔试题

    根据提供的文件信息,这里将对腾讯PHP工程师笔试题中的各个知识点进行详细解析: ### 1. POSIX与Perl样式正则表达式的区别 - **ereg** 和 **ereg_replace**:这两个函数是Perl兼容的正则表达式函数,在PHP 5.5.0...

    PHP工程师笔试题及答案

    5、打开 php.ini 中的 Safe_mode,会影响哪些参数? 答案:system,passthru,exec,shell_exec,popen,phpinfo 等等大部分的文件操作函数。 知识点:安全机制、php.ini 配置 6、写个函数来解决多线程同时读写一个...

    PHP笔试题目汇总 提高您的面试成功率

    答: Safe_mode开启后,会限制一些可能造成安全风险的函数,包括: - `system` - `passthru` - `exec` - `shell_exec` - `popen` - `phpinfo` 6. 解决多线程同时读写文件问题的函数示例: 答: 使用文件锁来...

Global site tag (gtag.js) - Google Analytics