如何将外部下载链接屏蔽为只有登录用户才能访问?

时间:2019-05-08 作者:maxwassim

如何屏蔽外部下载链接,使其仅可供登录用户访问?

如直接下载链接示例:www.example.com/direct-download-link1

我们想把它伪装成:www.ourwebsite.com/direct-download-link1

上述链接只能由已登录的成员访问。

怎么办?

1 个回复
SO网友:coolpasta

根据你的问题,我将做出一个假设:

你关心你的链接output by the back-end 而且基于JS的解决方案并不好,因为它会破坏假定的安全性。

我的建议?在您的设置中,不要在用户登录后尽早检查代码库中几乎所有存在输出链接的地方,而是执行以下操作:

$user = wp_get_current_user();
if( $user->exists ) {
    add_filter( \'public_link_root\', function() { return \'example.com\'; } );
}
当您必须输出链接时,如果您以正确的方式编写了系统(并且可以执行其他检查),请执行以下操作,而不是反复执行该检查,因为已经确定用户已登录:

$link_to_output = apply_filters( \'public_link_root\', \'ourwebsite.com\' ) . \'/resources/whatever/here\';
别忘了esc_url 无论何时输出链接,如果需要,可以将所有这些内容包装在一个函数中。

相关推荐

Plain permalinks not working!

对于我的wordpress网站,普通永久链接不起作用。帖子url正在更改,但当我们单击帖子时,它不会重定向到帖子页面。它将出现在主页上。例如:http://example.com/?p=14523 如果我将永久链接更改为其他自定义格式,它将正常工作并显示帖子页面。例如:http://example.com/2018/09/01/postname/ 我尝试创建一个新的.htaccess 将永久链接更改为普通后的文件。仍然不工作。