[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: запрет на прямой вызов файла
Ramzes_Ra
в .htaccess можно ограничить прямой доступ к файлу .php.. Мне нужно, чтобы при переходе с другой страницы на него (там путём нажатия кнопки и ПОСТы летят) страница открывалась, а при прямом вызове - нет. Я знаю, что можно прописать так
RewriteRule page.php - [F]
но у меня почему-то такой вызов не работает. Хотя все другие премудрости htaccess вроде редиректов, имена ссылок и прочее работает прекрасно + кэш + запрет просмотра папок и прочее..
Есть такой способ
<Files page.php>
order allow,deny
deny from all
</Files>
но при нём вообще даже с другой страницы доступ закрыт.
Как ограничить только прямой вызов?
Ramzes_Ra
Цитата (Guest @ 31.08.2013 - 16:12)
https://httpd.apache.org/docs/2.0/mod/core.html#limitexcept

Знаком я с документацией, и 2 примера я уже привёл, которые делают подобное. Но они не подходят. Не знаю почему. В чём может быть проблема?

Добавлю, что
RewriteRule .htaccess - [F]
у меня работает
killer8080
Ramzes_Ra
а так?
RewriteCond %{REQUEST_METHOD} !^POST$
RewriteRule page.php - [F]
Ramzes_Ra
Цитата (killer8080 @ 31.08.2013 - 16:49)
Ramzes_Ra
а так?
RewriteCond %{REQUEST_METHOD} !^POST$
RewriteRule page.php - [F]

хохох... работает.. Ничего себе)) причём по тексту видно что из-за ПОСТов должно реагировать...
Но смотри какой казус.. у меня если так
RewriteRule .*\.(jpg|gif|png|css|zip|doc|php|js)$ - [L]
RewriteRule .htaccess - [F]
RewriteCond %{REQUEST_METHOD} !^POST$
RewriteRule bet_make.php - [F]

То не работает
а Если оставить только то что ты дал
RewriteCond %{REQUEST_METHOD} !^POST$
RewriteRule bet_make.php - [F]

то работает... Каким образом они влияют?
killer8080
это убери, или хотя бы php оттуда.
А для чего это правило вообще?
Цитата (Ramzes_Ra @ 31.08.2013 - 20:09)
RewriteRule .*\.(jpg|gif|png|css|zip|doc|php|js)$ - [L]


Цитата (Ramzes_Ra @ 31.08.2013 - 20:09)
RewriteRule .htaccess - [F]

это вообще смысла не имеет, доступ к .htaccess и так закрыт в конфиге апача
Ramzes_Ra
Цитата (killer8080 @ 31.08.2013 - 17:19)
это убери, или хотя бы php оттуда.
А для чего это правило вообще?
Цитата (Ramzes_Ra @ 31.08.2013 - 20:09)
RewriteRule .*\.(jpg|gif|png|css|zip|doc|php|js)$ - [L]


Цитата (Ramzes_Ra @ 31.08.2013 - 20:09)
RewriteRule .htaccess - [F]

это вообще смысла не имеет, доступ к .htaccess и так закрыт в конфиге апача

ооо, 2 дня кодинга с 6 часовым сном плохо сказывается на соображалке..
Спасибо огромное, RewriteRule .*\.(jpg|gif|png|css|zip|doc|php|js)$ - [L] я писал для проверки, они уже не нужна, удалить забыл. а RewriteRule .htaccess - [F] это для сайта будущего, когда на сервере будет.
Ещё раз большое спасибо)
killer8080
Цитата (Ramzes_Ra @ 31.08.2013 - 20:31)
а RewriteRule .htaccess - [F] это для сайта будущего, когда на сервере будет.

а смысл какой?
Ramzes_Ra
Цитата (killer8080 @ 31.08.2013 - 17:32)
Цитата (Ramzes_Ra @ 31.08.2013 - 20:31)
а RewriteRule .htaccess - [F] это для сайта будущего, когда на сервере будет.

а смысл какой?

Ну как.. чтобы нельзя было его открыть.. конечно значения это не имеет, так как скачать можно всёравно..
А так согласен с тобой, это фигня.. Я просто очень скрытный - всё стараюсь скрыть. Я даже js код долго искал как можно спрятать или вообще не показывать в исходном коде.. Правда кроме обфускации ничего лучше не нашёл.. Но меня устроило =)
killer8080
Цитата (Ramzes_Ra @ 31.08.2013 - 20:37)
Ну как.. чтобы нельзя было его открыть..

апач и так не позволит его открыть, в конфиге по умолчанию
#
# The following lines prevent .htaccess and .htpasswd files from being
# viewed by Web clients.
#
<FilesMatch "^\.ht">
Order allow,deny
Deny from all
</FilesMatch>

Ramzes_Ra
Цитата (killer8080 @ 31.08.2013 - 17:40)
Цитата (Ramzes_Ra @ 31.08.2013 - 20:37)
Ну как.. чтобы нельзя было его открыть..

апач и так не позволит его открыть, в конфиге по умолчанию
#
# The following lines prevent .htaccess and .htpasswd files from being
# viewed by Web clients.
#
<FilesMatch "^\.ht">
Order allow,deny
Deny from all
</FilesMatch>

Странно, сколько перечитал руководств по mod_rewrite, пример именно такой с блокировкой .htaccess приводился не раз..
Благодарю за просвещение в этом вопросе)
Ramzes_Ra
Хотя тут очень мутно всё, у меня много раз не получалось то, что было в руководствах как пример. У меня они просто не работали, сам писал - работало.

Вот в теме http://phpforum.ru/index.php?showtopic=76415 bybad спрашивает как переделать из post.php?id=1 получить post/1 в адресной строке.. Я дал ему регулярное выражение, которое написал сам и которое у меня работает.. У него нет.. Я вообще ничего не понимаю когда такое происходит о_О
в игре ВоТ есть понятие Великий Белорусский рандом.. так вот, данная тема - это великий кодинговый рандом
killer8080
Цитата (Ramzes_Ra @ 31.08.2013 - 20:46)
Я дал ему регулярное выражение, которое написал сам и которое у меня работает.. У него нет..

значит у него были другие правила, конфликтующие с твоими.
Быстрый ответ:

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