我有一个网站,我想创建一个包含所有用户日志的log.txt文件。例如,用户随时登录并注销。也就是说,用户登录和退出的时间。我可以用数据库做这个,但会有很多行,我不想要它。如果我将log.txt文件放到/logs/log.txt,则将domain.com/log/log.txt写入地址栏的任何用户都将看到该文件。我怎么能阻止这个。 (我使用PHP)
答案 0 :(得分:2)
确实可以使用.htaccess
隐藏网站访问者的文件,或者在其他Apache配置位置放置类似的规则。但这种事情并非无足轻重,而且很容易犯错误。从站点访问者隐藏文件的最佳方法是通过项目的目录结构。例如:
www/
,包含网站访问者需要直接使用浏览器访问的所有文件。这将是我们在Apache配置中作为网站root使用的目录。如果浏览器不需要获取文件,则不应该在此处。 logs/
用于日志,lib/
用于包含在脚本中的源代码,config/
用于设置和配置文件等。因为它们不在内部网站根目录(www/
),用户无法将浏览器指向任何这些文件。如果你在共享主机上,并且他们只给你一个你的网站根目录的文件夹,那么你不能这样做。我不会从这样的公司购买托管帐户,因为有很多东西可以让你把文件放在你的网络根目录之外。
答案 1 :(得分:1)
使用.htaccess
<Files "log.txt">
order deny,allow
deny from all
allow from 1.2.3.4
</Files>
1.2.3.4是您的IP,如果您希望能够通过该网站从您的浏览器访问它。否则删除该行,这样您只能通过FTP或脚本访问
答案 2 :(得分:0)
您可以使用包含
的.htaccess文件阻止对日志文件夹的http访问deny from all