PHP safe_mode开启对于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等函数会收到限制
同样的,一些php扩展中的函数也将会受到影响。(加载模块:在安全模式下dl函数将被禁止,如果要加载扩展的话,只能修改php.ini中的扩展选项,在php启动的时候加载)。
在php安全模式打开的时候,需要执行系统程序的时候,必须是在safe_mode_exec_dir选项指定目录的程序,否则执行将失败。即使允许执行,那么也会自动的传递给escapeshellcmd函数进行过滤。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
PHP date()函数警告: It is not safe to rely on the system解决方法
近来总是有系统邮件提示,开始没在意,后来不断提示就看了一下.提示以下信息 复制代码 代码如下: PHP Warning: date(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of t
-
php5 non-thread-safe和thread-safe这两个版本的区别分析
先从字面意思上理解,None-Thread Safe就是非线程安全,在执行时不进行线程(thread)安全检查:Thread Safe就是线程安全,执行时会进行线程(thread)安全检查,以防止有新要求就启动新线程的 CGI 执行方式耗尽系统资源. 再来看PHP的两种执行方式:ISAPI和FastCGI.FastCGI执行方式是以单一线程来执行操作,所以不需要进行线程的安全检查,除去线程安全检查的防护反而可以提高执行效率,所以,如果是以 FastCGI(无论搭配 IIS 6 或 IIS 7)执
-
sourcesafe管理phpproj文件的补充说明(downmoon)
后来发现sourcesafe管理界面,(Admin登录),tools--Options--File Types--File Group--Add "PHP"--"*.php;*.phpproj;*.sln" 问题好像没有完全解决,但出错的机率少了! 有没有更好的办法?
-
PHP3 safe_mode 失效漏洞
受影响的系统: PHP 3.00 -------------------------------------------------------------------------------- 描述: PHP Version 3.0是一个HTML嵌入式脚本语言.其大多数语法移植于C.Java和Perl并结合了 PHP的特色.这个语言可以让web开发者快速创建动态网页. 因其执行在web服务器上并允许用户执行代码,PHP内置了称为'safe_mode'的安全特性, 用于控制在允许PHP操作的
-
PHP 5.3 下载时 VC9、VC6、Thread Safe、Non Thread Safe的区别分析
一共给了四个版本,VC9 x86 Non Thread Safe.VC9 x86 Thread Safe.VC6 x86 Non Thread Safe.VC6 x86 Thread Safe,这让我这个菜鸟头疼啊,还好 PHP 官网提供下载的地方左边有个英文 choose 我看懂了,我估摸着就是如何来选择版本的意思吧,于是开始查字典及上网查找,终于看明白了具体意思,拿来做个备忘先. 一.如何选择 PHP5.3 的 VC9 版本和 VC6 版本 VC6 版本是使用 Visual Studio 6
-
解析PHP中VC6 X86和VC9 X86的区别及 Non Thread Safe的意思
PHP现在推出5.3.0版本了,不过下载的时候有几个不同版本选择.那就是VC6 X86和VC9 X86.首先我来解答: VC6是什么?VC6就是legacy Visual Studio 6 compiler,就是使用这个编译器编译的. VC9是什么?VC9就是the Visual Studio 2008 compiler,就是用微软的VS编辑器编译的.那我们如何选择下载哪个版本的PHP呢?如果你是在windows下使用Apache+PHP的,请选择VC6版本:如果你是在windows下使用IIS
-
php中安全模式safe_mode配置教程
(1) 打开php的安全模式 php的安全模式是个非常重要的内嵌的安全机制,能够控制一些php中的函数,比如system(), 同时把很多文件操作函数进行了权限控制,也不允许对某些关键文件的文件,比如/etc/passwd, 但是默认的php.ini是没有打开安全模式的,我们把它打开: safe_mode = on (2) 用户组安全 当safe_mode打开时,safe_mode_gid被关闭,那么php脚本能够对文件进行访问,而且相同 组的用户也能够对文件进行访问. 建议设置为: safe_
-
解决php的“It is not safe to rely on the system’s timezone settings”问题
如果使用PHP5.3以上版本时,如果没有正确的配置php.ini就会出现PHP日期函数的错误.以前很多旧的PHP编程教程没有说到这个问题,所以不少读者会觉得困惑,下面笔者为大家讲述解决这个问题的三种方法. "PHP Warning: date() [function.date]: It is not safe to rely on the system's timezone settings. You are *required* to use the date. timezone settin
-
PHP错误提示It is not safe to rely on the system……的解决方法
在php程序开发中有时会出现类似于这样的警告: PHP Warning: date(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are
-
PHP safe_mode开启对于PHP系统函数有什么影响
safe_mode是提供一个基本安全的共享环境. 在一个多用户共享的phpweb服务器上,当这台服务器开启了safe_mode模式,有以下函数将会受到影响. 首先,以下尝试访问文件系统的函数将会被限制,运行服务器的用户id,如果想要尝试操作某个文件,必须要用户该文件的读取或者写入的访问权限. 因此,在safe_mode打开的情况下,下列函数将会收到限制: ckdir, move_uploaded_file, chgrp, parse_ini_file, chown,rmdir, copy, re
-
perl 常用系统函数列表
常用系统函数列表 指令:print语法:print Filehandle LIST说明:这个Filehandle可以看作在I(INPUT)/O(OUTPUT)之间的一个桥梁,可以利用FILEHANDLE来做出数据读入写出的动作.STDIN是代表从哪连输入数据,例如从电脑的键盘输入;STDOUT是代表从哪连输出数据;例如从电脑的屏幕输出;STDERR是代表从哪连输出错误的数据,例如从电脑的屏幕输出.而在PERL语言中有三个标准FILEHANDLE: 1.STDIN(标准输入):是代表STDIN的F
-
js常用系统函数用法实例分析
本文实例讲述了js常用系统函数用法.分享给大家供大家参考. 具体代码如下: 复制代码 代码如下: <html> <head> </head> <body> <script type="text/javascript"> //1. escape()函数,把字符串转成各计算机平台通用的unicode编码:解码(转回去)则用enescape(). var str = '王美人'; document.write(escape(str)
-
PHP类和对象相关系统函数与运算符小结
本文总结了PHP类和对象相关系统函数与运算符.分享给大家供大家参考,具体如下: 系统函数 class_exists() 判断某个类是否存在 interface_exists() 判断接口是否存在 get_class() / __CLASS__ 获取某个对象所处的类名 get_parent_class() 获取某个对象所属父类的类名 get_class_methods() 获取一个类所有方法,返回索引数组 get_class_vars() 获取一个类所有属性,下标为属性名 get_declared
-
iOS安全防护系列之字符串及系统函数隐藏详解
前言 用hopper打开macho文件可以看出你具体函数跳转与字符串的使用,那么在项目中,你的加密Key就容易泄漏,你使用的加密方法如果是系统的,那么可以被fishhook给hook住,所以字符串和系统方法的隐藏可以作为安全防护的一环. 一 字符串加密 如果你使用对称加密,你的秘钥很可能被macho文件暴露 要想字符串不进常量区,可以先用一个字符去异或,然后再异或回来,字符串直接换算,就不会被macho暴露. //测试环境 static NSString * KEY(){ unsigned ch
-
JS中注入eval, Function等系统函数截获动态代码
现在很多网站都上了各种前端反爬手段,无论手段如何,最重要的是要把包含反爬手段的前端javascript代码加密隐藏起来,然后在运行时实时解密动态执行. 动态执行js代码无非两种方法,即eval和Function.那么,不管网站加密代码写的多牛,我们只要将这两个方法hook住,即可获取到解密后的可执行js代码. 注意,有些网站会检测eval和Function这两个方法是否原生,因此需要一些小花招来忽悠过去. 挂钩代码 首先是eval的挂钩代码: (function() { if (window._
-
SQL Server系统函数介绍
一.常用函数: APP_NAME: 返回当前会话的应用程序名称(如果应用程序进行了设置). SELECT APP_NAME() COALESCE: 返回其参数中第一个非空表达式 SELECT COALESCE(NULL,NULL,123,NULL) COL_LENGTH(table,column):返回table表中column字段的长度: SELECT COL_LENGTH('person','gender'),COL_LENGTH('person','FirstName'); COL_NAM
-
ORACLE 系统函数大全SQLSERVER系统函数的异同
字符函数 下面是Oracle支持的字符函数和它们的Microsoft SQL Server等价函数. 函数 Oracle Microsoft SQL Server 把字符转换为ASCII :ASCII ASCII 字串连接: CONCAT --------------(expression + expression) 把ASCII转换为字符 CHR, CHAR 返回字符串中的开始字符(左起) INSTR ,---------------CHARINDEX 把字符转换为小写 LOWER -----
-
php 常用的系统函数
字符串函数 strlen:获取字符串长度,字节长度 substr:字符串截取,获取字符串(按照字节进行截取) strchr:与substr相似,从指定位置截取一直到最后 strrchr(获取文件后缀名):与strchr一样,只是从右边开始查找字符 strtolower:所有的字符都小写(针对英文字母) strtoupper:所有的字符都大写 strrev:字符串反转(只能反转英文:英文存储只有一个字节),按照字节进行反转 strpos:从字符串中找对应字符出现的位置(数字下标),从最左边开始找
-
PHP中函数gzuncompress无法使用的解决方法
前言 gzuncompress函数不是php自带的系统函数而是一个插件函数了所以要使用 gzuncompress函数我们必须安装一个插件,下面来看看PHP函数gzuncompress无法使用的问题解决办法吧. 一.解决过程 1.gzuncompress函数需要zlib支持才可以正常使用 2.可以使用探针检查当前php版本中是否已经开启了该函数 3.解决方式,额外编译php,安装zlib组件 二.解决步骤 1.开发环境为centos6.5 bit php5.3 2.参考代码(不可以直接拿去用,请思
随机推荐
- 收藏AngularJS中最重要的核心功能
- vbs 查找硬盘分区中指定扩展名文件的实现代码
- iOS10 App适配权限 Push Notifications 字体Frame 遇到的问题
- JS+CSS实现的经典tab选项卡效果代码
- .net 反序题目的详细解答第1/2页
- 网页(aspx)与用户控件(ascx)交互逻辑处理实现
- PHP与SQL注入攻击[二]
- 在IIS7.0下面配置PHP 5.3.2运行环境的方法
- 新手学PHP之数据库操作详解及乱码解决!
- php实现将任意进制数转换成10进制的方法
- 详解Linux的SOCKET编程
- JS简单实现数组去重的方法分析
- 从外部的js文件中获取ASPX页面的控件ClientID
- ASP.NET ASHX中获得Session的方法
- vue省市区三联动下拉选择组件的实现
- ionic 3.0+ 项目搭建运行环境的教程
- Mysql常见问题集锦
- jQuery 操作下拉列表框实现代码
- JScript的条件编译
- 详解a标签添加onclick事件的几种方式