Назад | Перейти на главную страницу

apache rewritecond на динамическом IP-адресе

Я хочу ограничить доступ к определенному набору страниц по IP-адресу (доступ к этой области разрешен только 2 или 3 человекам). К сожалению, по крайней мере один из них является динамически выделяемым IP-адресом от интернет-провайдера. Один из очень длинных вариантов, который я рассмотрел, - это своего рода настраиваемая настройка типа dyndns, при которой клиент регистрирует изменение своего IP-адреса, который затем перезаписывает файл конфигурации apache и перезагружает его. Учитывая, что у нас настроена учетная запись dyndns, мы всегда можем получить оттуда их текущий IP-адрес и периодически обновлять / перезагружать файл конфигурации apache. Но есть ли способ более элегантный?

Вот текущая строка (с фиктивным ip):

RewriteCond %{REMOTE_ADDR} !^12\.23\.34\.45

и я также пробовал:

RewriteCond %{REMOTE_HOST} !^name\.dtdns\.net

что в любом случае было долгим шансом - очевидно, их IP-адрес никогда не вернется к этому имени. У меня нет доступа к mod_perl на этом сервере, поэтому я ничего не могу там делать. Есть другой способ?

Вы используете аутентификацию на основе IP. Ничего плохого в этом нет, я использовал его, хотя всегда в сочетании с другими методами аутентификации. Но если IP-адрес меняется, я не думаю, что есть какой-либо ярлык для обновления конфигурации Apache при изменении адреса, как вы описали.

Альтернативой является использование аутентификации пользователя / пароля или аутентификации на основе сертификата клиента с SSL.