Intereting Posts
Как вы добавляете Подробнее … ссылку на сообщения? Сообщите пользователю, что мы хотели бы, чтобы они очистили свой файл cookie. Предоставить рабочую кнопку для очистки файлов cookie для пользователя Невозможно сохранить многозадачность виджетов Сценарий инициализации для «стандартных» аспектов веб-сайта WordPress? Изменить текст описания в библиотеке изображений Список авторов, основанный на недавнем активном Какое действие следует задействовать при добавлении ролей и возможностей? Отображение кнопки на каждом сообщении Искал и много пробовал: возможно ли устранить блокировку рендера в ручном режиме Включите раздел на веб-сайт, который разработан в PHP-симфонии, хотя веб-сайт разработан с помощью шаблона Не удалось создать каталог / wp-content / upgrade / Аутентификация с помощью приложения Rails? Что нужно отключить для работы во внутренней сети без доступа к Интернету? Как отображать категории продуктов на главной странице? как создавать и показывать сеансы в прессе?

Как защитить почтовые вложения, связанные с настраиваемым типом сообщения, от не зарегистрированных пользователей, на одном подсайте многоуровневой установки?

Я разрабатываю простой раздел «только для членов» на веб-сайте с единственной целью разрешить клиенту отправлять файлы своим членам. Я быстро понял, что сами вложения сообщений не защищены каким-либо образом в WordPress. Например, если пользователь не был зарегистрирован, и если они знали прямой URL-адрес файла, они могли бы получить к нему доступ / поделиться им с другими. Это большая проблема, так как документы довольно чувствительны к бизнесу клиента.

Область участника строится с использованием всех инструментов, которые вы ожидаете, – настраиваемого шаблона страницы в паре с параметрами current_user_can, wp_redirects, настраиваемых ролей с использованием плагина членов и настраиваемого типа сообщений для сообщений «файл». Каждое сообщение файла в пользовательском типе сообщения имеет обменные операции, которые клиент может использовать для прикрепления файлов / документов (.jpg, .gif, .pdf, чтобы назвать несколько). Я использую WPAlchemy, и это класс Media Access для удовлетворения требований к метакоксам.

Область участника будет работать на одном конкретном сайте в рамках многоуровневой установки, которая включает в себя 3 сайта (все связанные с одной и той же компанией).

Я был бы очень благодарен, если бы кто-то мог направить меня в правильном направлении. Я бы предпочел не использовать массив плагинов, так как мне нравится держать вещи простыми и как знать, что на самом деле делает код. Я также понимаю, что это необязательно является вопросом WordPress и более вопросом .htaccess (как я видел из вопросов, которые я встречал, и их ответов), но я не могу не думать, что мой вопрос отличается тем, что он относится к многоузловому, и возможной необходимости в отдельной папке загрузки.

Вот мои мысли до сих пор о защите вложений:

  1. Я мог бы каким-то образом создать отдельный каталог для загрузки мультимедиа, в котором метакоксы загружают файлы с каждого сообщения в пользовательский тип сообщения. Поскольку эти файлы отделены от остальных загружаемых медиафайлов сайтов (необходимо защитить только вложения участника). Это упростит защиту именно этой папки с помощью .htaccess.

    1.1. Является ли какая-то модификация .htaccess определенно способ пойти сюда?

    1.2. Как я мог создать отдельный каталог для загрузки мультимедиа, и обменялись ли файлы обмена WPAlchemy здесь? Я видел uploads_dir но не знаю, как его использовать.

  2. Вместо того, чтобы создавать отдельный каталог для загрузки мультимедиа, как описано выше, возможно, лучшим решением будет только защита вложений, принадлежащих моему пользовательскому типу сообщений? Но потом я понятия не имею, как это связано с решением .htaccess. Кажется, что иметь отдельную папку было бы проще …

Я видел следующие вопросы, которые очень похожи на мои собственные:

  1. Как защитить загрузки, если пользователь не зашел в систему?

    Похоже, он имеет дело с не-многоуровневой установкой WP, а также весь сайт является участником-участником и частью моего сайта. Помните, я не хочу, чтобы все загрузки были защищены, только те, которые были прикреплены к настраиваемому типу сообщений. Мне нравится идея передачи запросов через php-скрипт ? Возможно, я мог бы использовать этот скрипт и изменить его, чтобы использовать отдельный каталог загрузки на 1 сайте в моей многоуровневой установке?

  2. Защита загрузок в многопользовательском режиме

    а также..

  3. Как ограничить доступ к загруженным файлам?

Обновить:

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

Solutions Collecting From Web of "Как защитить почтовые вложения, связанные с настраиваемым типом сообщения, от не зарегистрированных пользователей, на одном подсайте многоуровневой установки?"

Андрей,

В случае, когда ваш собственный тип сообщения существует только на одном подсайте вашей установки Multi Site, вы можете в своем файле шаблона, в котором управляет отображением и выводом вашей пользовательской работы типа сообщения с помощью простых условных функций, таких как;

  • is_singular ( 'post_type_name');
  • is_user_logged_in ();

… и на самом деле это может быть так просто;

 <?php if(is_user_logged_in()) : ?> <?php echo wp_get_attachment_url( 12 );?> <?php else : ?> //Do what you want here, such as nothing or redirect to login page or alert user that some content is hidden etc. <?php endif;?> 

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

PS. Замените wp_get_attachment_url () тем, что вам подходит;

  • wp_get_attachment_metadata ()
  • wp_read_image_metadata ()
  • wp_get_attachment_image ()
  • wp_get_attachment_image_src ()
  • wp_get_attachment_thumb_file ()
  • wp_get_attachment_thumb_url ()
  • wp_get_attachment_link ()
  • wp_get_attachment_url ()

@Codex … ЗДЕСЬ

ЗАМЕТКА

Или … в случае использования WPAlchemy вместо этого вы замените вышеприведенный wp_get_attachment … и т. Д. Вместо своего кода метабокса.

 <?php custom_metabox->the_field('name'); ?>