是否有可能看到php文件的内容(如果我看到服务器上可用的php文件列表)

时间:2017-09-13 06:51:24

标签: php apache .htaccess

我们可以说我可以看到服务器上可用的文件列表。检查附加的屏幕截图。有没有办法检查文件内容? (假设从现场网站上市)

enter image description here

1 个答案:

答案 0 :(得分:-1)

我很抱歉我用来回答这个问题的方法。我收到有关代码缩进4个空格的错误,但我的答案很好,但我无法发布我的答案,因为Stack Overflow系统中的错误..我添加了截图到这个答案,包括我的原始答案(截图来自答案)例子)并希望我的答案仍然有用。我没有联系Stack Overflow工作人员,因为这是一个众所周知的问题。另见this question和其他类似问题的人。

error message

我的回答(截图/屏幕截图)

enter image description here

由于我无法将代码放在单独的代码块中,我将它们全部放在1个代码块中,请参阅上面的截图以了解数字,代码1 是第一个代码块在图片中,代码2 是您在屏幕截图等上找到的第二个代码... 屏幕截图已经过编辑,我在图片中添加了代码块编号.. < /强>

/** Code 1 **/

<?php // This can be used in a file that should be included to an other file
if(!defined('NO_CONTENT_AVAILABLE')) {
die('This file cannot be accessed directly!<br /><br />Something went wrong and the content is out for a walk...'); /** Do not change it's a text for users who visit this document... **/
}
/** Your content for tthe file below this line **/
?>

/** Code 2 **/

 <?php
 define('NO_CONTENT_AVAILABLE',1); /** You'll need this line on top OR above the line where you'll use the file that require NO_CONTENT_AVAILABLE to be defined **/
 include $_SERVER['DOCUMENT_ROOT'] . '/path/to/your/file.php'; /** the file that require NO_CONTENT_AVAILABLE to be defined **/
 ?>

/** Code 3 **/

Options -Indexes

/** Code 4 **/

<RequireAll>
    Require ip 178.221.255.121 2a02:a430:fe83:1:ca:4240:2e0:16 192.168.150.254
</RequireAll>

所有其他IP地址无法打开目录,并会收到状态码403 FORBIDDEN或其他状态,具体取决于您的配置

  

访问者应该可以访问这些文件,但是您不需要列表,因为不应该直接访问这些文件。这说我的答案中只有两个选项符合您的需求:

  1. 使用上面的PHP代码更新所有需要直接访问权限的文件,将definedefined添加到您的所有文件中将会为您做很多工作需要编辑很多文件......
  2. Options -Indexes添加到您的.htaccess文件
  3. 使用上述两个选项,这就是我在自定义编码网站上所做的。即使您没有显示索引,仍然可以在任何网络浏览器中访问这些文件,这就是您可能想要使用上述两个选项的原因......
  4. 我希望我能够提供您需要的信息,这个答案将带您走向正确的方向。