gpt4 book ai didi

php - PHP 脚本/目录有哪些权限?

转载 作者:IT王子 更新时间:2023-10-28 23:48:48 28 4
gpt4 key购买 nike

我正试图帮助一位 friend 将网站从一家网络酒店转移到另一家。老地方已经关门了,我只有里面内容的一个平面 tar 文件。

该网站包含 HTML 文档,可以下载一个小的 Java 应用程序(将在手机上加载)以将数据发送到该网站。

移动 Java 应用程序向 URL=<HOST>/php/register.php 发送了一个字符串.此 php 脚本包含另一个 php 脚本 ( ../inc/db_login.php ),它使用 $link=mysql_connect() 连接到 SQL DB。 .另一个文件,register.php , 是否插入了 SQL 以将新发送的数据放入数据库中。

我的问题基本上是,我应该将这 2 个 PHP 文件放在新网站的什么位置以及目录和文件应该具有什么权限?

旧的 Web 服务器显然有一个 /php/inc目录。这些都不存在于新的网络服务器上。我应该创建它们吗?他们应该有什么许可?我想将密码放在单独的 PHP 文件中的原因是为了安全。 /php/inc目录可能具有不同的权限。

新服务器有目录:

  • /httpdos
  • /httpsdos
  • /cgi-bin
  • /conf (还有一些可能无关紧要)

我的问题

  1. 文件扩展名 ( .php ) 对服务器意味着什么:因为 PHP 脚本“包含”在 HTML 代码中(在 <?...?> 之间,服务器是否需要查看文件后缀或者是它无关紧要?(我知道服务器对 <?...?> 使用react,当然)

  2. 公共(public)文件(在我的例子中是 register.php)应该放在 httpdocs/ 中吗?目录还是服务器(我认为是 apache)对某些东西使用react并将其提取到另一个目录中?

  3. PHP脚本是否应该有权限R-X (读取并执行),--X (执行)或 R-- (读)?从操作系统的角度来看,我猜 apache 只是在读取这些文件,这意味着它们应该是 R-- ,但这意味着如果 PHP 服务“停止”,客户端将在其浏览器中获取所有 PHP 代码(?)。我希望它是 --X但因为这既不是二进制文件也没有 #! , 我猜一定是 --R ?

  4. 如果公共(public) PHP 脚本可以放在另一个目录中(例如 /php 而不是 /httpdocs ),/php 应该放在什么地方? (和脚本)有权限吗?我想服务器必须知道这个 /php目录(或者是否有通常的默认值?)

  5. 包含的 PHP 脚本(../inc/db_login.php,包含 SQL 密码)不应在 /httpdocs 下我猜。这意味着我的 register.php包含不在 /httpdocs 下的文件子树。这行得通吗?服务器需要知道吗?

我知道您可能需要了解服务器配置。只需假设您的答案中的默认值(如果它被更改,您可以知道它在哪里更改)。

最佳答案

目录必须具有执行权限才能使用。通常这是 0755。通过 mod_php 运行的 PHP 脚本不会被执行而是被读取; 0644 就足够了。必须写入的目录需要由运行 Web 服务器的用户拥有。可能还有其他关于权限的问题,例如SELinux,但以上内容将帮助您了解基础知识。

其他用户或外部客户端不得访问的文档应该是 0600,由 Web 服务器用户拥有,并且位于 DocumentRoot 之外。请注意,在安全模式下运行 mod_php 将阻止脚本包含 DocumentRoot 之外的任何内容;一个可悲的缺陷。

关于php - PHP 脚本/目录有哪些权限?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2096255/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com