Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何确保目录不会被修改_Php_Security - Fatal编程技术网

Php 如何确保目录不会被修改

Php 如何确保目录不会被修改,php,security,Php,Security,假设我在服务器上有一个目录和文件列表: /stuff/ /other_stuff/ index.php /important_stuff/ index.php script.php 在script.php脚本中,我如何确保重要内容目录(\uuu DIR\uuu)中的文件不能被任何其他脚本修改?假设您正在使用linux,并且可以更改文件所有权和权限 php由Web服务器用户(通常称为apache或www数据)运行。确保此用户无权在您的重要内容文件夹中写入内容。这可以通过将此文件提供给

假设我在服务器上有一个目录和文件列表:

/stuff/
/other_stuff/
  index.php
/important_stuff/
  index.php
  script.php

在script.php脚本中,我如何确保
重要内容
目录(
\uuu DIR\uuu
)中的文件不能被任何其他脚本修改?

假设您正在使用linux,并且可以更改文件所有权和权限


php由Web服务器用户(通常称为apache或www数据)运行。确保此用户无权在您的重要内容文件夹中写入内容。这可以通过将此文件提供给另一个用户来实现,但要使www数据(或apache或其他)组的成员能够读取这些文件。

假设您使用的是linux,并且您可以更改文件所有权和权限


php由Web服务器用户(通常称为apache或www数据)运行。确保此用户无权在您的重要内容文件夹中写入内容。这可以通过将此文件提供给另一个用户来实现,但要让www数据(或apache或其他)组的成员能够读取这些文件。

正确的答案是关于所有权/权限。另外,如果你是在linux下,那么谷歌搜索“chattr immutable”


但如果您想检查是否有更改,请使用正确答案是关于所有权/权限。另外,如果你是在linux下,那么谷歌搜索“chattr immutable”


但是,如果您想检查是否有更改,请使用什么是操作系统?无论哪种方式-设置ACL或CHMOD您需要的权限。您尝试过了吗。htaccess目录和文件权限是什么?是否存在您试图预料到的特定攻击?如果所有服务器脚本都由相同的用户ID运行,您就无法相互保护。@Barmar和fans:给根用户一个脚本(例如),给每个人一个执行和读取脚本的权利,但没有写入脚本的权利。这个脚本如何不受非root用户运行的脚本的保护?操作系统是什么?无论哪种方式-设置ACL或CHMOD您需要的权限。您尝试过了吗。htaccess目录和文件权限是什么?是否存在您试图预料到的特定攻击?如果所有服务器脚本都由相同的用户ID运行,您就无法相互保护。@Barmar和fans:给根用户一个脚本(例如),给每个人一个执行和读取脚本的权利,但没有写入脚本的权利。如何使此脚本不受非根用户运行的脚本的保护?例如:用户www数据位于组www数据、www-site1、www-site2、www-siteN中。具体站点1位于/var/www/site1中,并且递归地具有以下权限:0640和所有者/组为www-site1:www-site1例如:用户www数据位于组www数据、www-site1、www-site2、www-siteN。具体站点1位于/var/www/site1中,具有递归权限:0640和所有者/组为www-site1:www-site1didn不知道文件属性+1@greg0ire但它是不可移植的:在*BSD下,我们必须使用chflagsdid,因为我们不知道文件属性+1@greg0ire但它是不可移植的:在*BSD下,我们必须使用CHFLAG