Intereting Posts
вложения приложений на родительской странице, если вложения текущей страницы меньше, чем … Изображение в виде ссылки с помощью wp_nav_menu () WP_Query -> сортировать результаты по релевантности (= большинство тегов / общих таксономических терминов) TinyMCE Styles Dropdown не добавляет теги html, кроме пролета Показать количество сообщений от зарегистрированных пользователей Возможно ли, чтобы один шаблон вызывал разные боковые панели для разных страниц? Apache и сети Пользовательские изменения плагинов не отображаются Интернационализация WP не загружена Расширение WP_Widget вызывает ошибку при использовании виджета Monster Как предотвратить привязку страницы в меню / перекладине Как удалить все экземпляры edit_post_link Показать изображение слева и содержимое справа, используя ul li Создать кнопку с использованием предоставленного кода Добавление детских терминов программно – без предупреждения, но без кубиков

Запретить доступ к папке загрузок с исключениями

На участках только зарегистрированные пользователи могут обращаться к файлам в папке uploads, если они не вошли в систему, они перенаправляются на экран входа в систему. Я использую следующее в файле .htaccess для этого:

# BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTP_REFERER} !^http://(www\.)?http://example\.com/ [NC] RewriteCond %{REQUEST_URI} !hotlink\.(doc|xls|pdf|html|htm|xlsx|docx|mp4|mov|rtf|ppt|pptx) [NC] RewriteCond %{HTTP_COOKIE} !^.*wordpress_logged_in.*$ [NC] RewriteRule .*\.(doc|xls|pdf|html|htm|xlsx|docx|mp4|mov|rtf|ppt|pptx)$ http://example.com/member-login/ [NC] </IfModule> # END WordPress 

Это отлично работает, но теперь у меня есть сценарий, когда мне нужно разрешить некоторым файлам из каталога uploads быть доступным для всех, эти файлы всегда будут связаны с главной страницей.

Есть ли способ, которым я могу это сделать, используя имя файла? Может быть, только разрешить доступ к файлам, которые добавляются с помощью public_, например?

Любые другие идеи о том, как это решить?

ура

Это на самом деле не очень хорошо работает, поскольку наличие cookie не указывает, что пользователь вошел в систему, или даже что он когда-либо регистрировался. Все это указывает на то, что кто-то каким-то образом установил этот файл cookie. Чтобы знать, что пользователь, обратившийся к файлу, фактически зарегистрирован или когда-либо был, вам нужно фактически проверить содержимое файла cookie, что вы не можете сделать в htaccess.

предоставлено, это достаточно хорошо, вероятно, для 95% случаев использования, но если вы «спрячете» что-то, что может стоить «денег», вы должны переосмыслить его.

Теперь теоретически правильное решение состоит в том, чтобы не помещать личную информацию в каталог uploads и иметь только общедоступную информацию. Частная информация, которую вы обслуживаете, с URL-адреса, который вы определяете в wordpress, например, на определенной странице или с помощью специального правила перезаписи, после проверки учетных данных пользователя.

Для вдохновения вы можете посмотреть, как плагин EDD обслуживает свой файл людям, которые платили за них.