php运行于安全模式否,php 安全性

本文目录一览:

PHP中的安全模式是指的什么?

手册如是说:章 24. 安全模式目录被安全模式限制或屏蔽的函数php 的安全模式是为了试图解决共享服务器(shared-server)安全问题而设立的。在结构上,试图在 php 层上解决这个问题是不合理的,但修改 web 服务器层和操作系统层显得非常不现实。因此许多人,非凡是 isp,目前使用安全模式。表格 24-1. 控制安全模式的设置选项有:设置选项 默认值safe_mode offsafe_mode_gid 0safe_mode_include_dirsafe_mode_exec_dir 1open_basedirsafe_mode_allowed_env_vars php_safe_mode_protected_env_vars ld_library_pathdisable_functions当 safe_mode 设置为 on,php 将检查当前脚本的拥有者是否和将被文件函数操作的文件的拥有者相匹配。例如: -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运行 script.php ?php假如安全模式被激活,则将会导致以下错误: warning: safe mode restriction in effect. the script whose uid is 500 is notallowed to access /etc/passwd owned by uid 0 in /docroot/script.php on line 2同时,或许会存在这样的环境,在该环境下,宽松的 gid 检查已经足够,但严格的 uid 检查反而是不适合的。您可以用 safe_mode_gid 选项来控制这种检查。假如设置为 on 则进行宽松的 gid 检查;设置为 off(默认值)则进行 uid 检查。除了 safe_mode 以外,假如您设置了 open_basedir 选项,则所有的文件操作将被限制在您指定的目录下。例如: directory /docrootphp_admin_value open_basedir /docroot/directory假如您在设置了 open_basedir 选项后运行同样的 script.php,则其结果会是: warning: open_basedir restriction in effect. file is in wrong directory in/docroot/script.php on line 2您也可以单独地屏蔽某些函数。

php调用shell的方法技巧

php调用shell的方法技巧

一、配置

查看php.ini中配置是否打开安全模式,主要是以下三个地方

safe_mode = (这个如果为off下面两个就不用管了)

disable_functions =

safe_mode_exec_dir=

二、使用

由于PHP基本是用于WEB程序开发的,所以安全性成了人们考虑的一个重要方面。于是PHP的设计者们给PHP加了一个门:安全模式。如果运行在安全模式下,那么PHP脚本中将受到如下四个方面的限制:

① 执行外部命令

② 在打开文件时有些限制

③ 连接MySQL数据库

④ 基于HTTP的认证

在安全模式下,只有在特定目录中的外部程序才可以被执行,对其它程序的调用将被拒绝。这个目录可以在php.ini文件中用 safe_mode_exec_dir指令,或在编译PHP是加上–with-exec-dir选项来指定,默认是/usr/local/php /bin。

如果你调用一个应该可以输出结果的外部命令(意思是PHP脚本没有错误),得到的’却是一片空白,那么很可能你的网管已经把PHP运行在安全模式下了。

三、如何做?

在PHP中调用外部命令,可以用如下三种方法来实现:

1) 用PHP提供的专门函数

PHP提供共了3个专门的执行外部命令的函数:system(),exec(),passthru()。

system()

原型:string system (string command [, int return_var])

system()函数很其它语言中的差不多,它执行给定的命令,输出和返回结果。第二个参数是可选的,用来得到命令执行后的状态码。

例子:

复制代码 代码如下:system(“/usr/local/bin/webalizer/webalizer”);

exec()

原型:string exec (string command [, string array [, int return_var]])

exec() 函数与system()类似,也执行给定的命令,但不输出结果,而是返回结果的最后一行。虽然它只返回命令结果的最后一行,但用第二个参数array可以得到完整的结果,方法是把结果逐行追加到array的结尾处。所以如果array不是空的,在调用之前最好用unset()最它清掉。只有指定了第二个参数时,才可以用第三个参数,用来取得命令执行的状态码。

例子:

复制代码 代码如下:exec(“/bin/ls -l”);

exec(“/bin/ls -l”, $res);

#$res是一个数据,每个元素代表结果的一行

exec(“/bin/ls -l”, $res, $rc);

#$rc的值是命令/bin/ls -l的状态码。成功的情况下通常是0

passthru()

原型:void passthru (string command [, int return_var])

passthru() 只调用命令,不返回任何结果,但把命令的运行结果原样地直接输出到标准输出设备上。所以passthru()函数经常用来调用象pbmplus(Unix 下的一个处理图片的工具,输出二进制的原始图片的流)这样的程序。同样它也可以得到命令执行的状态码。

例子:

复制代码 代码如下:header(“Content-type: image/gif”);

passthru(“./ppmtogif hunte.ppm”);

希望本文所述对大家的PHP程序设计有所帮助。

;

php设置set_time_limit(0)后还是会停止

set_time_limit(0);

当php运行于安全模式时,此功能不能生效。除了关闭安全模式或改变php.ini中的时间限制,没有别的办法。

php运行于安全模式,最后一步恢复栏目目录不成功,有救吗?

恢复栏目不成功,带表你的目录权限不够,系统无法建立栏目目录。

什么是php 的safe mode? php.exe? php-cgi.exe? php-win.exe?

安全模式下,PHP程序的行为被进行了限制,比如不能执行某些函数,只能打开指定文件夹的文件等。一般在你的主机提高个人网站,就是PHP的程序所有者不是你本人的时候,需要设置安全方式。

php.exe是提供来在命令行执行PHP文件的工具,比如你在有文件ABC.PHP,那么你可以在CMD命令提示符下执行命令php.exe abc.php来运行这个PHP文件。

php-cgi.exe是提供来作为CGI使用的,区别是在文件输出所有内容之前,会自动输出一个下面的HTTP头:

X-Powered-By: PHP/5.2.5

Content-type: text/html

php-win.exe也可以执行PHP文件,区别是大打开控制台,不显示输出内容。可以用来编写无需显示界面的文件处理、网路服务等程序。

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/160541.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-11-21 01:14
下一篇 2024-11-21 01:14

相关推荐

  • PHP和Python哪个好找工作?

    PHP和Python都是非常流行的编程语言,它们被广泛应用于不同领域的开发中。但是,在考虑择业方向的时候,很多人都会有一个问题:PHP和Python哪个好找工作?这篇文章将从多个方…

    编程 2025-04-29
  • PHP怎么接币

    想要在自己的网站或应用中接受比特币等加密货币的支付,就需要对该加密货币拥有一定的了解,并使用对应的API进行开发。本文将从多个方面详细阐述如何使用PHP接受加密货币的支付。 一、环…

    编程 2025-04-29
  • 使用PHP foreach遍历有相同属性的值

    本篇文章将介绍如何使用PHP foreach遍历具有相同属性的值,并给出相应的代码示例。 一、基础概念 在讲解如何使用PHP foreach遍历有相同属性的值之前,我们需要先了解几…

    编程 2025-04-28
  • 手机安全模式怎么解除?

    安全模式是一种手机自身的保护模式,它会禁用第三方应用程序并使用仅限基本系统功能。但有时候,安全模式会使你无法使用手机上的一些重要功能。如果你想解除手机安全模式,可以尝试以下方法: …

    编程 2025-04-28
  • Qt State Machine与状态机模式

    本文将介绍Qt State Machine和状态机模式在Qt中的实现。Qt提供了QStateMachine和QState两个类,可以方便地实现状态机模式,并且能有效地处理复杂的、多…

    编程 2025-04-27
  • PHP获取301跳转后的地址

    本文将为大家介绍如何使用PHP获取301跳转后的地址。301重定向是什么呢?当我们访问一个网页A,但是它已经被迁移到了另一个地址B,此时若服务器端做了301重定向,那么你的浏览器在…

    编程 2025-04-27
  • 显示C++设计模式

    本文将详细介绍显示C++设计模式的概念、类型、优点和代码实现。 一、概念 C++设计模式是在软件设计阶段定义,用于处理常见问题的可重用解决方案。这些解决方案是经过测试和验证的,并已…

    编程 2025-04-27
  • PHP登录页面代码实现

    本文将从多个方面详细阐述如何使用PHP编写一个简单的登录页面。 1. PHP登录页面基本架构 在PHP登录页面中,需要包含HTML表单,用户在表单中输入账号密码等信息,提交表单后服…

    编程 2025-04-27
  • Centos7进入单用户模式的解释

    本文将介绍如何在Centos7中进入单用户模式,并从以下几个方面进行详细的阐述。 一、Centos7进入单用户模式的解答 在Centos7中进入单用户模式需要执行以下步骤: 1. …

    编程 2025-04-27
  • PHP与Python的比较

    本文将会对PHP与Python进行比较和对比分析,包括语法特性、优缺点等方面。帮助读者更好地理解和使用这两种语言。 一、语法特性 PHP语法特性: <?php // 简单的P…

    编程 2025-04-27

发表回复

登录后才能评论