Для ограничения доступа к файлам в WordPress и предотвращения прямого доступа по ссылке, можно использовать несколько подходов.
1. Использование htaccess-файла:
- Создайте пустой файл с именем .htaccess, если такого файла еще нет в папке с файлами, к которым вы хотите ограничить доступ.
- Внесите следующие строки кода в .htaccess-файл:
```
<FilesMatch "^\.(htaccess|htpasswd)$">
Deny from all
</FilesMatch>
<FilesMatch "\.(txt|pdf|docx)$">
Order Allow,Deny
Deny from all
</FilesMatch>
```
- Замените расширения файлов (txt, pdf, docx) на те, которые вы хотите ограничить.
- Сохраните .htaccess-файл и загрузите его в папку с файлами.
Теперь файлы с указанными расширениями будут недоступны для прямого доступа по ссылке. Однако, они могут быть загружены и просмотрены через iframe на вашем сайте или при отправке по почте.
2. Использование функций программирования:
- Создайте папку в публичной области вашего сайта, где будут храниться ваши файлы.
- В функции, отвечающей за вывод файлов на вашем сайте, добавьте проверку на допустимое открытие файла:
```php
$allowed_files = array('file1.pdf', 'file2.docx'); // Список разрешенных файлов
if (in_array($filename, $allowed_files)) {
// Вывод iframe с указанным файлом
} else {
// Редирект на главную страницу сайта или отображение сообщения об ошибке
}
```
Таким образом, только файлы, перечисленные в массиве $allowed_files, будут открыты в iframe на вашем сайте. Остальные файлы будут редиректиться на главную страницу или будет отображаться сообщение об ошибке.
Оба подхода могут быть использованы в зависимости от ваших потребностей и уровня защиты, который вам необходим.