我有一个纯文本自述文件,是在我的网站根目录,是版本控制的Git。我喜欢自述文件,因为在查看回购时,GitHub会显示它。
但是,当我转到mysite.com/readme.md
时,我会得到自述文件。我不希望公众可以访问这个文件。
在不将文件从项目根移开的情况下,有效地禁止公众访问这个自述文件的最佳方法是什么?
发布于 2013-12-28 15:13:25
根据github如何访问该文件,可以通过多种不同的方式将一些内容添加到文档根目录中的htaccess文件(或自述文件所在的位置)中。
使用mod_authz:
<Files "readme.md">
Order Deny,Allow
Deny from all
</Files>
这将把所有请求禁止的403返回给/readme.md
。如果您想要白名单一个特定的IP,您可以将其添加到Deny from all
行的右侧:
Allow from 12.34.56.78
这将从12.34.56.78 IP发送白名单请求。
使用mod_rewrite (它为您提供了几个选项)
RewriteEngine On
RewriteRule ^readme\.md$ - [L,F]
这也是一回事。若要白名单IP,请在RewriteRule
行之前添加以下内容:
RewriteCond %{REMOTE_ADDR} !^12\.34\.56\.78$
您还可以将重写标志中的F
替换为R=404
,从而返回404而不是403禁止。如果需要白名单引用程序,可以添加一个条件(就在rewriterule行的上方),如下所示:
RewriteCond %{HTTP_REFERER} !^https?://github\.com/ [NC]
这将允许人们访问readme.md文件,如果链接嵌入到来自github.com
的页面上。
https://stackoverflow.com/questions/20820339
复制