Как сделать так, чтобы URL-адреса загрузки с htaccess были доступны только зарегистрированным пользователям на Wordpress? - PullRequest
0 голосов
/ 14 мая 2019

В общем вопрос: как замаскировать внешние ссылки для скачивания как внутренние ссылки и быть доступными только зарегистрированным пользователям wp на уровне htaccess или с помощью PHP-скрипта? У нас есть Perl-скрипт на нашем внешнем URL, и он генерирует разные URL для загрузки. Если вы поможете нам применить его на внешнем сайте, мы можем это сделать.

Мы успешно перенаправляем www.ourwebsite.com/resources на внешнюю ссылку для скачивания с помощью простого кода htaccess:

Redirect 301 /resources https://external.com/direct-download-link1

Тем не менее, если URL-адреса (www.ourwebsite.com/resources/download-1.html и т. Д.) Удалены пользователями WordPress и могут делиться и вставлять их в адресные строки браузера, когда они не входят в систему, тогда ссылки для скачивания все еще доступны. Мы хотим предотвратить это. Так как запретить лицам, не являющимся участниками, получать прямой доступ к ссылкам на скачивание?

1 Ответ

0 голосов
/ 14 мая 2019

Если вы можете изменить направление перенаправления, перейдите на страницу PHP, где вы можете загрузить WordPress и проверить роль пользователя, чтобы убедиться, что он вошел в систему.

require('../wp-load.php');  // modify to reflect where your PHP file is in relation to Wordpress
$roles = wp_get_current_user()->roles;  // get current users role

if (!in_array('alloweduserrole',$roles)) {  // modify to match your roles that are allowed to download

    header('Location: http://www.ourwebsite.com/');
    exit;

}  // end of if user does not have the proper role
...