Re: Как на nginx быстро наличие аутентификации проверять?

umask umask at yandex.ru
Sun Mar 16 23:44:46 MSK 2008


Такое я делал с помощью встроенного perl'а и наткнулся на криворукость программеров, которые в скриптах модифицировали URI и экранировали всё, что можно. Короче, судя по всему, сделали парсинг URI и выделение параметров своими кривыми руками уже из заэкранированного URI. Запрос клиента приходил в скрипт, скрипт экранил URI и делал редирект, т.е. запрос по редиректу приходил уже с экранированным URI.



В моём случае клиент, если приходил на бэкенд без ключа cookie или параметра в URI редиректился на получение такого ключа. Если клиент после редиректа получал ключ, то его пускало на бэкенд, если без ключа - то клиент ходил по редиректам (ну и боты вообще не редиректились).

При этом cookie позволяли добится только одного редиректа, а клиенты без куки каждый раз ходили получать значение key через редирект (т.е. GET-запрос без ключа - это три GET-запроса - 1-й - за оригинальным ресурсом, этот запрос редиректился, 2-й - за ключём, 3-й за оригинальным ресурсом, но уже с ключём авторизации).



На такую схему ушло 2 или 3 функции на встроенном перле, два локейшена и 3-4 условия (if).





> что если попробовать модифицировать 

> http://wiki.codemongers.com/NginxHttpAccessKeyModule, чтобы он проверял не 

> GET-параметр, а куки, который и выставлять на бэкенде у авторизованных пользователей





More information about the nginx-ru mailing list