[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: htaccess
Гость_Дима
Есть папка project, в которой лежит файл kebab.html и к нему куча всего в поддиретории kebab.files
В корне есть файл index.php в котором в iframe успешно подгружается (и отображается в браузере) project/kebab.html
Проблема в том, что юзер может и напрямую в браузере увидеть project/kebab.html (без index.php, что не есть гуд)
Вопрос: как с помощью htaccess закрыть доступ к kebab.html, но так, чтобы в index.php он по прежнему отображался (в iframe)?
Комментарий: если с помощью htaccess закрываю доступ к kebab.html, то он вообще никак нигде не отображается (ни на прямую, ни в index.php). Раньше (когда подключался простенький текстовый файл) эту проблему удавалось обойти, используя вместо iframe внутри index.php include или require, но теперь это не катит, т.к. при этом не подтягиваются (и не отображаются в браузере) все файлы из project/kebab.files/
Игорь_Vasinsky
силь-ву-пле http://gering111.com/10-nastroek-htaccess/

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Guest
Цитата (Игорь_Vasinsky @ 2.04.2012 - 17:52)
силь-ву-пле http://gering111.com/10-nastroek-htaccess/

И к чему это? Я тоже могу ссылок про htaccess накидать. Нужен конкретный ответ на конкретный вопрос. Эту страничку я уже читал, но не нашел там решения для своего вопроса.
Игорь_Vasinsky
ты можешь и ссылок накидать и кучи навалить, это на суть ответа не повлияет.

перечитал пост твой - значит тебе нужно запретить грузить файл - если к нему обратились напрямую, а не из родителя index.php во фрейме которого он грузиться - так?

как вариант - переименовать project/kebab.html в project/kebab.php

в index.php объявить константу, через инклуд вешать твой супер секретный файл


листинг index.php

<?php
define("SECURE", true);
//.... твой код и т.д.
include "project/kebab.php";
//.... твой код и т.д.
?>



листинг project/kebab.php

<?php
if(!SECURE)
header("HTTP/1.0 404 Not Found"); //Или HTTP/1.1 - проверят нужно

//.... твой код и т.д.

?>



_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
I++
Не правильная проектировка, если требуются iframe которые уже давно нужно пометить как deprecated.

Костыльщики в данной ситуации проверяют поле referer, если напрямую вбить Ваш kebab.html
он не отобразится, но только если kebab.html является скриптом php. От хомяков поможет, от продвинутого юзера - нет.
killer8080
Гость_Дима
Сервер не может знать откуда пришел запрос, из фрейма, или основного окна браузера. К тому же такие блокировки могут привести к тому, что содержимое фрейма не смогут индексировать поисковики. Такие грабли раньше обходили с помощью JS.
if (self==parent) location.replace("index.php");

PS Я думал проблемы фреймов уже канули в лету user posted image
Гость_Дима
Цитата (Игорь_Vasinsky @ 3.04.2012 - 02:51)
как вариант - переименовать project/kebab.html в project/kebab.php
в index.php объявить константу, через инклуд вешать твой супер секретный файл

О, вот это хорошая идея. Спасибо smile.gif

Кстати, все, кто ругает фреймы, - скажите, а что вместо них лучше юзать, если нужно вставлять один документ в другой? Ни include, ни require не подключают, скажем, картинки вставляемого файла, если сам файл не в той же диретории, а переопределять пути совсем неудобно.
Игорь_Vasinsky
<script language="JavaScript" src="file.html"></script>

не пробывал :o хз может подцепит...

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
killer8080
Цитата (Гость_Дима @ 3.04.2012 - 11:39)
Кстати, все, кто ругает фреймы, - скажите, а что вместо них лучше юзать, если нужно вставлять один документ в другой?

А зачем вообще нужно вставлять один документ в другой? Когда можно просто нормально формировать контент?
Цитата (Гость_Дима @ 3.04.2012 - 11:39)
Ни include, ни require не подключают, скажем, картинки вставляемого файла, если сам файл не в той же диретории, а переопределять пути совсем неудобно.

Бред какой то.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.