我有一台NGINX服务器(带有wordpress网站)并使用Google Cloud Storage来提供我的内容。我注意到网站热链接到我的文件而没有任何归属。
我想我需要:
有人会如何做到这一点?
答案 0 :(得分:1)
有几种方法可以控制对GCS存储桶和/或单个对象的访问,您需要研究它们以确定哪种方法最适合您的情况。来自Access Control Options:
您可以控制谁有权访问您的云端存储分区和 对象以及它们具有的访问级别。以下是摘要 您可以使用的访问控制选项,以及指向的链接 了解更多关于每一个:
Identity and Access Management (IAM) permissions:授予对存储桶的访问权限以及对存储桶对象的批量访问权限。我是 权限使您可以广泛控制项目和存储桶,但是 不能对个别物体进行细粒度控制。供参考 IAM特定于云存储的权限和角色,以及哪些 权限允许用户在存储桶上运行JSON和XML方法 对象,请参阅IAM Reference pages。要学习如何使用IAM 权限,请参阅Using IAM Permissions。
Access Control Lists (ACLs):为各个存储桶或对象授予用户读写权限。在大多数情况下,您应该使用 IAM权限而不是ACL。仅在需要时使用ACL 对单个对象进行细粒度控制。要学习如何使用 ACL,请参阅Create and Manage Access Control Lists。
Signed URLs (query string authentication):通过您生成的URL为对象提供对时间有限的读取或写入权限。任何人 与您共享URL的人可以访问该对象的持续时间 您指定的时间,无论他们是否拥有Google 帐户。了解如何创建签名网址:
Signed Policy Documents:指定可以上传到存储桶的内容。政策文件可以更好地控制规模和内容 类型和其他上传特征比签名的URL,并且可以 网站所有者用来允许访问者将文件上传到Google 云存储。
Firebase Security Rules:使用Firebase SDKs for Cloud Storage为移动和网络应用提供基于属性的精细访问控制。例如,您可以指定可以上载的人员或 下载对象,对象可以有多大,或者对象何时可以 下载。
这些选项并不相互排斥。例如,您可以使用 ACL通常提供对存储桶的私有访问权限,但随后创建一个 签名的URL或策略文档,允许您选择访问的任何人 存储桶中的资源,绕过ACL机制。
答案 1 :(得分:-1)
将以下信息放入.htaccess文件
RewriteEngine on
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]
第2行& 3是否允许链接图像的网站。 第4行:文件格式阻止链接