仅当文件属于WordPress中已发布的帖子/页面时才允许文件访问

时间:2013-01-27 18:52:54

标签: wordpress file plugins attachment

我需要知道是否有插件根据与其相关的帖子/页面的状态来限制对上传文件的访问。

换句话说,当我将图片上传到帖子但帖子未发布时,我需要WordPress才能访问该图片,直到我将帖子切换为已发布。

我可以自己编写代码,如果有插件,请告诉我,以便节省时间。

1 个答案:

答案 0 :(得分:1)

好吧,我不知道任何特定插件会这样做,但您需要做的是实际更改.htaccess直接访问文件权限以实现URL限制。

Stephan Harris撰写了一篇非常好的文章,用几种方法在wordpress中处理这个问题。

http://www.stephenharris.info/2012/restricting-direct-access-to-files-in-wordpress/

在他的文章中,Stephan Harris提到了防止直接访问的方法。 我仍然觉得很难想象在出版/未出版的基础上需要这样做的情况。

但是仍然 - 您可以轻松检查后状态(使用get_post_status())并将其应用于他的脚本/方法中以实现您想要的效果。 特别注意他重定向所有(IMAGE)请求以通过index.php的方法 - 在那里你可以轻松插入权限检查。

您可以应用的第二种方法是更改​​上传文件夹,从而使人们更难以猜测" ,正如你所说,URL。 这可以在逐个帖子的基础上(每个帖子不同的文件夹)或随机字符串完成。

你可以通过各种方式做到这一点,其中一个方法在这里描述:

http://codex.wordpress.org/Function_Reference/wp_upload_dir

或者只是使用像THIS ONE这样的插件,根据帖子标题提供文件夹名称。在授权用户发布之前,这是未知的。)