Данная методика конечно устарела, но, тем неменее, столкнулся с такой задачкой: требовалось сделать запароленный раздел ( авторизация + регистрация пользователей), в котором через iframe подгрузить страницу из поддиректории. Приэтом, сама эта поддиректория должна быть недоступна по прямой ссылке.
Реализовал я это все следующим образом:
1) На хостинге установлен Apache, поэтому создал файл .htaccess с кодом:
RewriteEngine on
#RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://my\site\.ru/ [NC]
RewriteRule ^subdir([^/]?) http://my.site.ru/index.php [R=302,L]
#RewriteRule ^subdir/([^/]+) http://my.site.ru/index.php [R=302,L]
2) в шаблон всех страниц в поддиректории вставил JavaScript код:
<script>
if( self == top )
location.href='/index.php';
</script>
Готово! Можно, конечно добавить проверку на REFERER уже на сервере, например на PHP (в общем, на том языке, на котором написан сам сайт).
Comments on: "Прячем iframe от прямого доступа" (2)
А в закрытом разделе авторизачия через что? Если это не бейсик, а на куках или сессиях, то в поддиректории Вашей можно проверку в файлы вставить, так будет проще, чем во всех остальных файлах на сайте вешать JS.
в закрытом разделе обычная авторизация по паролю и логину средствами php