-3

我有一个站点,我想创建一个包含所有用户日志的 log.txt 文件。例如,用户随时登录并注销。也就是说,用户登录和退出的时间。我可以用数据库来做这个,但是会有很多行,我不想要它。如果我将 log.txt 文件放入 /logs/log.txt,任何将 domain.com/log/log.txt 写入地址栏的用户都会看到该文件。我该如何防止这种情况。(我使用 PHP)

4

3 回答 3

2

.htaccess确实,您可以使用或通过在其他 Apache 配置位置放置类似规则来隐藏网站访问者的文件。但是这种事情不是小事,很容易出错。对站点访问者隐藏文件的最佳方法是通过项目的目录结构。例如:

  • www/包含网站访问者需要直接使用浏览器访问的所有文件的目录。这将是我们在您的 Apache 配置中用作网站根目录的目录。如果浏览器不需要获取文件,它不应该在这里。
  • 其他目录,例如logs/日志、lib/包含在脚本中的源代码、config/设置和配置文件等。由于它们不在网站根目录 ( www/) 内,因此用户无法将浏览器指向这些文件中的任何一个。

如果您在共享主机上,并且他们只给您一个文件夹,即您的网站根目录,那么您就不能这样做。不过,我不会从这样的公司购买托管帐户,因为有很多可以让您将文件放在 Web 根目录之外的地方。

于 2012-05-06T19:09:01.773 回答
1

使用 .htaccess

   <Files "log.txt">
        order deny,allow
        deny from all
        allow from 1.2.3.4
    </Files>

1.2.3.4 是您的 IP,如果您希望能够通过网站从浏览器访问它。否则删除该行,因此您将只能通过 FTP 或脚本访问

于 2012-05-06T18:55:17.440 回答
0

您可以使用包含以下内容的 .htaccess 文件来阻止对日志文件夹的 http 访问

deny from all
于 2012-05-06T18:52:10.470 回答