我有像product.exe一样的静态文件的下载。 我想用.htaccess文件限制对这些文件的访问,以便只有特定的用户才能下载它。
我认为这可以用mod_rewrite处理,我发现这个片段在线阻止不良站点使用引用。
RewriteEngine on # Options +FollowSymlinks RewriteCond %{http_REFERER} http://example.com/downloads/confirm/3811 [NC,OR] RewriteRule .* - [F]
来源: http : //www.JavaScriptkit.com/howto/htaccess14.s@R_502_6832@
而不是基于引用来阻止,我想允许基于引用。 这样,引用者可以是一个URL,不能访问没有第一login。我正在考虑走这条路线,并使用http引用来授予文件的权限。 我知道这可能不是最好的方式,我想推荐人可以被欺骗,但它不一定非常安全。 我也接受其他想法来限制访问权限。
“RewriteEngine不允许在这里”使用XAMPP .htaccess错误
如何处理.htaccess规则中的特殊字符?
Codeigniter htaccess删除index.PHP和www
.htaccess文件扩展名卸妆代码打破网站forms
Apache日志说:拒绝 – 但它的工作(htaccess的)
如何使用.htaccess文件将所有stream量从一个域redirect到另一个域?
利用第三方Js的浏览器caching
htaccess mod-rewrite:从根目录链接到子目录 – 忽略子目录中的目录?
如何使用.htaccess添加文件types扩展?
在.htaccess中设置一个环境variables并在PHP中检索它
如果你想允许基于引用者:
RewriteCond %{http_REFERER} !^http://goodsite-1.com/ [NC] RewriteCond %{http_REFERER} !^http://goodsite-2.com/from/there.PHP [NC] RewriteCond %{http_REFERER} !^$ # There are some users/browsers not sending referrer.. RewriteRule .* - [F]
或者你可以允许基于一个cookie,你可以使用例如PHP设置:
RewriteCond %{http_cookie} !^.*cookie-name.*$ [NC] RewriteRule .* - [F]
或者也只允许发布请求:
RewriteCond %{REQUEST_METHOD} !=POST RewriteRule .* - [F]
以及您的@R_502_6832@中的“发布请求”链接到要下载的文件:
<form method="post" action="path/to/download.mp3"> <input type="submit" value="Click here to download!" /> </form>
其实你可以结合这些方法。
由于一些安全问题http_referrer不是一个可靠的头。
一些浏览器配置导致一个空的http_referrer头
有一些工具可以处理http请求标头。 你可以看看firefox开发者工具(Ctrl + Shift + I> Network)
总结以上是内存溢出为你收集整理的使用.htaccess来限制对文件下载的访问全部内容,希望文章能够帮你解决使用.htaccess来限制对文件下载的访问所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)