【问题标题】:How to avoid showing files content on website如何避免在网站上显示文件内容
【发布时间】:2019-02-22 21:24:11
【问题描述】:

我有一个简单的PHP 网站,我想知道有没有办法避免用户访问我网站上的文件? 比如css文件和其他东西?

为了防止我的文件显示在文件夹和目录中,我使用了htaccess 文件并将这段代码放在htaccess 中:

Options -Indexes

但有些用户仍然可以访问文件内容,如 css 代码。 例如,如果用户访问此网址:

www.mysite.com/folder

这条信息应该显示给他:

禁止

 You don't have permission to access /css/ on this server.

但如果用户访问此网址:

www.mysite.com/folder/file.css

然后css就会出现在他面前...

我想知道如何防止这个问题? 并避免将文件限制为用户?

【问题讨论】:

  • 如果您无法在您的站点中打开 css 文件,您将如何将它们包含在您的站点中?我认为您可以使用 HTTP_REFERER。
  • 我想知道为什么初学者总是如此害怕有人能够访问他们实际发布的内容。这是一种奇怪的恐惧。但是,即使您以不受限制的方式发布这些文档,又有什么区别呢?您是否真的认为您的 css 规则是如此庞大的知识产权以至于您需要保护它?其他人会从未经授权的访问中获得巨额利润吗?来吧...
  • 如果你真的需要保护那些简单的css规则,那么使用一个简单的路由脚本来访问而不是依赖于你的http服务器文件中的URL到物理文件的映射系统。路由脚本将使您完全控制谁有权访问什么。但这也意味着您需要投资实施这样的授权方案和逻辑......

标签: .htaccess security web hosting detection


【解决方案1】:

您需要允许访问某些静态文件,例如 .css.js.jpg 等...才能正确显示您的网络。

如果你想避免盗链,你应该用这个内容创建一个.htaccess

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?yourdomain.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?yourdomain2.com [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ http://hpmouse.googlepages.com/hotlink.gif [NC,R,L]

Source

【讨论】:

    猜你喜欢
    • 2022-08-03
    • 2018-08-07
    • 1970-01-01
    • 2014-05-25
    • 1970-01-01
    • 2013-02-15
    • 2016-10-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多