ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 

  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА














     АРХИВ :: Apache-Talk
Apache-Talk mailing list archive (apache-talk@lists.lexa.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [apache-talk] =?koi8-r?B?UmU6IFthcGFjaGUtdGFsa10g8NLFxMzP1sXOycUgLSBtb2RfYWNjZQ==?==?koi8-r?B?bCDJIGJhY2tlbmQg0yDQ0s/XxdLLz8ogzsEgSVAgxM/T1NXQ?=



On Wed, 13 Feb 2002, Alexey Zvyagin wrote:

> Привет всем!
>
> > mod_realip не подходит для mod_access. Для этого лучше взять
> > http://develooper.com/code/mpaf/
>
> Спасибо!
> Именно этот модуль и подсказал более элегантное решение для бекенда, на
> котором установлен mod_perl
>
> use Apache::Constants ();
> sub My::ProxyRemoteAddr ($) {
> my $r = shift;
>
>     # we'll only look at the X-Forwarded-For header if the requests
>     # comes from our proxy at localhost
>     return Apache::Constants::OK unless ($r->connection->remote_ip eq
> "127.0.0.1");
>
>     if (my ($ip) = $r->header_in('X-Real-IP') =~ /^(\d+\.\d+\.\d+\.\d+)$/o)
> {
>       $r->connection->remote_ip($ip);

Если я не ошибаюсь, то это решение некорректно.
После пристального перечитывания документации по mod_realip, я
действительно нашел там, что

---
Модуль изменяет IP адрес клиента в поле r->connection->remote_ip
на адрес, заданный в заголовке "X-Real-IP" или на последний адрес,
заданный в заголовке "X-Forwarded-For".

[...skipped...]

Нужно заметить, что эта замена никак не влияет на модули mod_access и
mod_status, поскольку они используют поле r->connection->remote_addr.
---

Но тогда, видимо, его и нужно менять в Вашем модуле. А то, что меняется
сейчас, с успехом может делать и mod_realip.

Кстати - я правильно понимаю, что модули на Си работают быстрее, чем
перловые, или там какие-то хитрые механизмы по преобразованию перла в
объектный код есть?


b.r.,
[IAB22-RIPE]   -= Ilya Basalaev a.k.a. Scarab. =-   Phone: [+7-3832-239288]
Novosibirsk State Regional Scientific Library, Senior system administrator.

=============================================================================
=               Apache-Talk@lists.lexa.ru mailing list                      =
Mail "unsubscribe apache-talk" to majordomo@lists.lexa.ru if you want to quit.
=       Archive avaliable at http://www.lexa.ru/apache-talk                 =



 




Copyright © Lexa Software, 1996-2009.