Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.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 安全chmod特权?_Php_Apache_Unix_Chmod - Fatal编程技术网

Php 安全chmod特权?

Php 安全chmod特权?,php,apache,unix,chmod,Php,Apache,Unix,Chmod,标准的chmod权限是文件的“644”和目录的“755”,不是吗 在大多数情况下,PHP不需要写入文件或目录。所以我不能从所有组中获取写入权限吗 我可以将“444”分配给所有文件,将“555”分配给所有目录 那不是更安全吗 提前谢谢 注意:chmod()。 但是,它更安全,因为在编写此文件之前必须对其进行chmoding chmod() 那不是更安全吗 使用可禁用特定功能。 如果chmod();它只是被禁用,使用chmod()的PHP代码将发出警告 指令禁用功能不应与指令混淆禁用功能处于激活状态

标准的chmod权限是文件的“644”和目录的“755”,不是吗

在大多数情况下,PHP不需要写入文件或目录。所以我不能从所有组中获取写入权限吗

我可以将“444”分配给所有文件,将“555”分配给所有目录

那不是更安全吗

提前谢谢


注意:
chmod()。
但是,它更安全,因为在编写此文件之前必须对其进行chmoding

chmod()
那不是更安全吗

使用可禁用特定功能。
如果
chmod();它只是被禁用,使用
chmod()
的PHP代码将发出警告

指令
禁用功能
不应与指令混淆<代码>禁用功能
处于激活状态,即使指令
安全模式
设置为0;当启用、禁用或限制安全模式时


注意,在PHP5.3中,安全模式被认为是不推荐的;这意味着该指令在PHP 5.3中仍然被接受,但在任何时候都不能再使用。

新创建的文件和目录的默认权限由环境变量设置。文件的所有者和root用户可以更改权限

如果您不需要在应用程序中使用chmod,请将其保留在禁用列表中。你应该以这样的方式看待安全性:许多比我聪明的人现在已经使chmod成为我应用程序中更安全的部分之一。因此,我将利用我的可用时间确保其他部件的安全

在服务器上使应用程序成为只读的,如果您将其自动化,则可以这样做。但是,当您对应用程序代码进行更改时,会使事情变得非常困难。在某个时刻,您将来回进行一些代码更改,并在服务器上进行测试。。。然后忘记将文件/目录权限重置回只读

如果您的生产机器上只有一个用户帐户,我只会坚持使用默认权限——事情可能是为您管理的。或者,您可以删除组和“其他”权限,如下所述

典型的生产设置是拥有您所属的应用程序组。您还需要一个单独的用户来运行php应用程序。保留所有者和组的完全权限,并从“其他”中删除所有权限。这样:

  • 开发人员保留他们的个人登录-您可以跟踪谁在何时做了什么
  • 您和其他开发人员可以将新代码复制到服务器
  • 应用程序可以运行代码
  • 应用程序无法访问代码之外的任何内容
  • 其他用户无法看到您的代码
我猜管理您的生产服务器是其他人的工作?他们将花时间确保没有人可以登录和闲逛。虽然您确实需要确保没有人可以运行操作系统命令,但我认为最好的开始是了解。默认的php服务器设置应该是ok。应用程序中最不安全的部分是您所见过的部分。 如果有人要访问系统调用,很可能是通过表单。即使消除了系统调用,表单仍然容易存储javascript。除非您在应用程序中存储信用卡,否则更可能的目标是用户浏览器中的密码/会话。

对不起,我的英语太差了

我想有三个可能的原因

  • 检查php.ini中的safe\u mod标志,如果safe\u mod在上,则该函数可能会出现一些问题
  • 如果您有plesk,那么如果您与其他用户创建的文件夹或文件不是使用plesk创建的,则会出现问题
  • 您可能缺少一个php库

  • 但是如果chmod()在PHP的disable_functions列表中,它是非常安全的,是吗?通常如果chmod被禁用,您希望能够更改权限。检查umask功能是否已启用。使用此功能,您可以更改文件的标准权限!!!还要注意禁用任何允许执行系统命令的函数,如system,因为可以调用system(“chmod 777$file”);这是一个很好的答案,但是回答了一个错误的问题,不是吗p OP说
    chmod()
    列在
    disable\u functions
    指令中,他问这不是更安全吗?我回答了这个问题。在一篇评论中,OP也问到,但是如果chmod()在PHP的disable_functions列表中,它是非常安全的,是吗?我可以分配[…]这样会更安全吗?你的意思是,这个问题与使用“444”表示目录,使用“555”表示文件有关吗?我认为这个问题是相对于前一句,而不是之前的那句。我将在接下来的12小时内删除我的答案。谢谢你的详细回答。你说得对,有人在照看我的服务器。但我问这个问题是因为有人设法将一个远程文件上传到我的根目录,并通过调用这个远程脚本将恶意代码插入到其他几个文件中。如果你使目录和文件不可写,这种情况就不会再发生了,对吗?不幸的是,有些事情可能会再次发生。您可能会关闭一些功能,但不会阻止访问。在网站的某个地方,有权做一些事情。在根目录中创建文件是程序堆栈的下一步。你需要消除上面的空隙。如果您还不能确定这是什么,那么更改文件权限在短期内可能会有所帮助。它是米