在WordPress中保护上传媒体的最好方法是什么?

时间:2011-12-01 作者:Jonnny

我是WordPress的新手,因为我通常手工编写我的东西,我一直在上传一些媒体以显示到受保护页面的链接,这很好,但是,任何人都可以访问媒体的直接url。有人有什么建议可以阻止这一切吗?我不愿意直接侵入。htaccess。

1 个回复
最合适的回答,由SO网友:bow-viper1 整理而成

您需要做的第一件事是通过上载空白索引来禁用对文件存储的目录的直接访问。html文件到wp内容/上载/及其所有子目录。这样,就没有人可以在您的上传目录中浏览,手动查找该媒体。

为了防止搜索引擎抓取您的受保护页面,并防止用户在搜索中免费查看,您可能还需要在受保护页面的部分添加noindex元标记:

<meta name="robots" content="noindex">
或者,您可以手动禁用受保护的页面,或者通过将受保护的目录添加到您的robot来禁用整个目录。txt文件。

为了防止图像和其他媒体的热链接,您需要将高级媒体上载到特定目录,然后只需将以下重写规则添加到您的。htaccess文件:

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www.)?domain/wp-content/uploads/premium/.*$ [NC]
RewriteRule \\.(gif|jpe?g|png)$ - [F]
在最后一行中添加任意数量的文件扩展名,用管道分隔。显然,您还想替换您的\\u域。com在上述代码中。

如果您希望那些热链接的用户看到“无热链接”,请在中使用以下代码。htaccess文件:

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\\.)?domain.com/wp-content/uploads/premium/.*$ [NC]
RewriteRule \\.(gif|jpg)$ http://www.domain.com/no-hot-linking.jpg [R,L]
您还可以将上述代码的最后一行更改为您希望重新引导访问者访问的特定URL,例如您的主页或要求用户成为高级成员以查看内容的登录页。

结束

相关推荐

Updates for a private plugin?

如果我写一个私有插件,有没有办法使用WordPress自动更新机制来更新它 我想封装这个功能,但它是我自己的5个博客特有的,所以它不是公共插件资源的好候选。但我喜欢这种简单的更新机制 有没有办法做到这一点