Заблокировать доступ к внутренностисайта с помощью HTTP_REFERER

у меня есть контроль над HttpServer но не более ApplicationServer или Java-Приложения", сидя там, но мне нужно, чтобы заблокировать прямой доступ к определенным страницам этих приложений. Точно, я не хочу, чтобы пользователи Автоматизация доступа к формам осуществления прямых GET/POST HTTP-запросы в соответствующий сервлет.

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

я уже реализовал переписать правила в .htaccess файл, который говорит:

RewriteEngine on 

# Options +FollowSymlinks
RewriteCond %{HTTP_REFERER} !^http://mywebaddress(.cl)?/.* [NC]
RewriteRule (servlet1|servlet2)/.+?.+ - [F]

я ожидал, чтобы запретить доступ для пользователей, которые не ориентироваться на сайте, но прямой вопрос GET-запросов "servlet1" или "servlet2" сервлетов с помощью querystrings. Но мои ожидания оборвался, потому что регулярного выражения "(servlet1|servlet2)/. \?. " не работал вообще.

я получаю очень разочарован, когда я поменял expr "(servlet1|servlet2)/. " и работала так хорошо, что мои пользователи были заблокированы неважно, если они осуществляли навигацию сайта или нет.

Итак, мой вопрос: Как я могу добиться этого дело не позволяя "роботы" с прямым доступом к определенным страницам, если у меня нет доступа к/льготы/время модификации приложения?

Найдено 9 ответов:

Block user access to internals of a site using HTTP_REFERER

http://stackoverflow.com/questions/3486/block-user-access-to-internals-of-a-site-using-http-referer

Посмотреть решение →