Forum Webscript.Ru
Программирование => PHP => Тема начата: tarya от 21 Октября 2005, 11:37:53
-
Здоровеньки булы.
Ситуация такая, есть интранет сайтик, для своих доступ свободный, все кто пытается из вне зайти (мол наш сотрудник в командировке) запрашивает авторизацию и после прохождения ее попадает на сайт.
Заметил интересную особенность $ip = getenv("REMOTE_ADDR"); выдает на разных машинках в офисе то внешний адрес например 143.45.67.156, то на других машинках увнутреннюю подсетку 192.168.0.100. Что интересно что люди работающие в терминалах, что по сути является все ходят с одного адреса - тоже самое, у одних одно у других другое, и найти логику пока не могу.
Эта сложность вызвает проблему авторизации. Пускать без авторизации можно только людей приходящих с 143.45.67.156 (адрес компании) так как если всех определять наприме $ip = getenv("HTTP_CLIENT_IP") = то у всех приходящих, даже из далека определяется адрес внутренний, например 192.168.0.100 - я так вчера из дому зашел и получается что если у меня дома или у когото чужого совпал бы адрес с маской что сравниваю я - то все, чел заходит без авторизации. Одним словом какая то дырка обнаружилась и ее нужно как то подправить.
Кто что посоветует? Особенно непонятно почему половину людей в офисе один Ай-пи определяется а у других другой.
Спасибо.
-
tarya
Имхо, PHP тут ни при чем.
Трабла где-то в районе сети и терминалов.
-
Если ip не совпадает с внешним, то отправляй на авторизацию.
-
tarya:
половину людей в офисе один Ай-пи определяется а у других другой
у этих двух половин клиентов есть какие-нибудь различия? проверь, может наведет на какие-нибудь мысли.
И какая архитектура сети?
-
Если сеть нормально построена, то доступ в и-нет производится через интранет прокси-файрвол.
Имхо, у половины интранет-пользователей отсутствует галочка в браузере - "не использовать прокси для локальных адресов".
И еще, вы не указали, каким образом был осуществлен доступ к вашему веб-серверу "из дома" - а это можно сделать кучей способов - например, используя VPN, через терминальный сервер с модемом, через тот же модем с авторизацией в интранет-домене, напрямую...
Не надо объяснять, что remote IP будет разный в каждом из случаев.
-
Вообще уже разобрался, поднастроил фаервол. Спасибо.