我可以将我的网站资源设为私有吗?

Posted

技术标签:

【中文标题】我可以将我的网站资源设为私有吗?【英文标题】:Can I make my website's resources private? 【发布时间】:2020-06-26 02:38:19 【问题描述】:

我想将我网站的图片等资源设为私有,并且只能由我主机上的本地文件加载。谁能告诉我怎么做,拜托

【问题讨论】:

问题是您所说的“私有”和“由本地加载”......它们是否必须通过外部请求访问?如果不是,则将它们放在您的 http 主机的 DOCUMENT_ROOT 文件夹之外,如果是,则另外使用路由脚本来访问这些资源,从而允许您实现所需的任何限制。 【参考方案1】:

如果您有单独的图片文件夹,请在您拥有图片的文件夹中创建一个 .htaccess 文件,并将以下内容添加到该 .htaccess 文件中:

Require local #Make sure there is no file in the directory

要隐藏所有目录中的大多数图像,请将其添加到根 .htaccess 文件中:

<FilesMatch "\.(jpeg|jpg|png|webp|gif)$">
Require local
</FilesMatch>

我更喜欢第二种,因为它的灵活性。

或者,如果您具有 root 访问权限(如果您在 VPS 中/或在您自己的服务器上),则使用以下命令:

打开 httpd.conf 或 apache2.conf(其中任何一个),并添加以下内容:

<Directory "/path/to/directory/with/images">
Require local
</Directory>

或者,如果包含图像的目录还包含需要公开的文件,请执行以下操作:

<Directory "/path/to/directory/with/images">
<FilesMatch "\.(jpeg|jpg|png|webp|gif)$">
Require local
</FilesMatch>
</Directory>

或者,您可以将图像文件移出 DOCUMENT_ROOT(@arkascha 的想法)

【讨论】:

以上是关于我可以将我的网站资源设为私有吗?的主要内容,如果未能解决你的问题,请参考以下文章

我可以使用 cpanel 将我的 React Native 应用程序托管到我的网站吗?

定期网站解析消耗大量数据下载。我应该将我的逻辑迁移到服务器吗?如何?

我可以将一个美味的模型资源字段设为只读吗?

我可以使用 aws amplify 和 @auth 装饰器将 GraphQL 突变设为私有吗?这被认为是一种安全的方法吗?

如何将我的网站从 mysql 迁移到 mysqli? [复制]

我可以将复制构造函数设为私有并仍然使用默认实现吗