服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - PHP教程 - php开启安全模式后禁用的函数集合

php开启安全模式后禁用的函数集合

2019-12-02 13:53PHP教程网 PHP教程

前几天看公司面试题的时候有看到这样的题目,有一些函数还是能记得的,今天刚好查了一下手册,在这里记录下。

代码如下:


<?php 
ini_set("safe_mode",true); 
?> 

 

表 42-2. 安全模式限制函数

 

 

函数名

限制

dbmopen()

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

dbase_open()

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

filepro()

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

filepro_rowcount()

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

filepro_retrieve()

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

ifx_*

sql_safe_mode 限制, (!= safe mode)

ingres_*

sql_safe_mode 限制, (!= safe mode)

mysql_*

sql_safe_mode 限制, (!= safe mode)

pg_loimport()

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

posix_mkfifo()

检查被操作的目录是否与正在执行的脚本有相同的 UID(所有者)。

putenv()

遵循 ini 设置的 safe_mode_protected_env_vars 和 safe_mode_allowed_env_vars 选项。请参考 putenv() 函数的有关文档。

move_uploaded_file()

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

chdir()

检查被操作的目录是否与正在执行的脚本有相同的 UID(所有者)。

dl()

本函数在安全模式下被禁用

backtick operator

本函数在安全模式下被禁用。

shell_exec()(在功能上和 backticks 函数相同)

本函数在安全模式下被禁用。

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)

apache_request_headers()

在安全模式下,以“authorization”(区分大小写)开头的标头将不会被返回。

header()

在安全模式下,如果设置了 WWW-Authenticate,当前脚本的 uid 将被添加到该标头的 realm 部分。

PHP_AUTH 变量

在安全模式下,变量 PHP_AUTH_USERPHP_AUTH_PW 和 PHP_AUTH_TYPE 在 $_SERVER 中不可用。但无论如何,您仍然可以使用 REMOTE_USER 来获取用户名称(USER)。(注意:仅 PHP 4.3.0 以后有效)

highlight_file()show_source()

检查被操作的文件或目录是否与正在执行的脚本有相同的 UID(所有者)。 检查被操作的目录是否与正在执行的脚本有相同的 UID(所有者)。 (注意,仅在 4.2.1 版本后有效)

parse_ini_file()

检查被操作的文件或目录是否与正在执行的脚本有相同的 UID(所有者)。 检查被操作的目录是否与正在执行的脚本有相同的 UID(所有者)。 (注意,仅在 4.2.1 版本后有效)

set_time_limit()

安全模式下不起作用。

max_execution_time

安全模式下不起作用。

mail()

在安全模式下,第五个参数被屏蔽。(注意,仅自 PHP 4.2.3 起受影响)

任何使用 php4/main/fopen_wrappers.c 的函数

??

 

延伸 · 阅读

精彩推荐