【发布时间】:2015-01-23 15:55:48
【问题描述】:
好的,所以我不太确定 php 或任何其他在服务器端执行的语言的权限。
据我所知,一个文件有以下权限:read、write、execute,它们可以组合起来,比如读取和只执行、只写等等。有三种“用户类型”,所以基本上需要为每个用户设置读、写、执行权限:用户,即:root、group、 世界。如果我将每个人的读取权限设置为“ON”,理论上,无论我是谁,我都应该能够下载 php 文件,因为所有用户都可以读取该文件。
在我的本地服务器上做了一个小实验。我有一个名为 a.php 的文件,其中包含以下代码:
<?php
echo 'executed';
?>
我已将其权限设置为 333,即 -r--r--r--。访问该文件的每个人都只能读取它。如果我使用浏览器访问 a.php,我只会看到 executed 这是 php 文件的回显结果,而不是整个文本。我不确定为什么会发生这种情况,也没有显示所有代码。这在某种程度上是一件非常好的事情,因为即使您忘记禁用读取权限,黑客也无法看到源代码。
这对我来说是个谜,如果有人能解释为什么会发生这种情况,我将不胜感激。谢谢!
【问题讨论】:
-
这个问题的答案:stackoverflow.com/questions/2010623/… 解释了权限是如何与 PHP 脚本相关的。不确定它是否能回答您的全部问题,但应该是一个好的开始。
标签: php linux unix permissions server