我有基于 Wordpress 的网站。只有登录的用户才能看到帖子、站点和文件(我使用 s2member 插件)。
我在禁用未登录用户访问文件时遇到问题。
我上传文件,附在帖子上。只有登录的用户才能看到帖子和附件。
问题是未登录的用户可以直接下载文件(例如http://my-site.pl/files/secret_file.pdf)。
我怎样才能防止这种情况,一些插件,.htaccess?
我的网站在共享主机上,我只能通过 ftp 访问。
我有基于 Wordpress 的网站。只有登录的用户才能看到帖子、站点和文件(我使用 s2member 插件)。
我在禁用未登录用户访问文件时遇到问题。
我上传文件,附在帖子上。只有登录的用户才能看到帖子和附件。
问题是未登录的用户可以直接下载文件(例如http://my-site.pl/files/secret_file.pdf)。
我怎样才能防止这种情况,一些插件,.htaccess?
我的网站在共享主机上,我只能通过 ftp 访问。
有一些潜在的解决方案,但没有一个在实践中脱颖而出——每个都有自己的刺。
有一些商业插件可以对您的部分或全部 WP 网站实施访问限制。有些允许限制文件,有些则不允许。Amember 是该领域中较为成熟的参与者之一。(但是,我不能推荐他们的报价。在我遇到的其他问题中,它在多服务器设置上表现不佳。)自从我上次检查以来,可能有一些免费插件可以做到这一点。
如果您决定自己编写代码,则有多种选择。其中三个包括:
使用 php 而不是 Apache 提供文件,并要求用户在提供文件之前登录。有用。如果您决定草率,则设置起来相对容易。如果您想正确设置它并不容易:考虑需要恢复的部分文件等。
使用 Apache 有条件地提供文件。本质上,您在令牌文件夹中创建一个用户特定的文件,并在用户登录时将该文件的名称存储为 cookie。然后,如果相应的文件不存在于 Apache 重写规则中,则拒绝访问令牌文件夹。这不容易设置
完全不限制文件并保持目前的状态:指向只有成员才能看到的公开可用文件的链接。这里的理由是,无论您如何限制对 pdf 的访问,如果心怀不满的用户决定共享它,它最终会出现在某个 torrent 站点或某个下载站点上。
在.htacces中使用它。这允许用户仅下载或查看 .gif、.jpg、.jpeg、.png 和 .bmp文件。如果您不想允许这样做,请删除“允许来自 env=let_me_in”行, 我希望这会起作用。
# BEGIN WordPress
<IfModule mod_rewrite.c>
# If the URI is an image then we allow accesses
SetEnvIfNoCase Request_URI "\.(gif|jpe?g|png|bmp)$" let_me_in
Order Deny,Allow
Deny from All
# Allow accesses only if an images was requested
Allow from env=let_me_in
</IfModule>
# END WordPress