Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Локальный IP: есть ли простой способ? 
V
    Опции темы
Gold Dragon
Дата 5.6.2012, 14:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 10
Всего: 71



Какой самый простой способ определить что запрос идёт с локального IP?


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
Vardoulacha
Дата 5.6.2012, 14:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 184
Регистрация: 11.8.2005

Репутация: 7
Всего: 8



адресация локальных сетей
http://ru.wikipedia.org/wiki/%D0%9B%D0%BE%....86.D0.B8.D1.8F

получаем ИП-адрес кто делает запрос и смотрим что за адрес, является ли он локальным
PM MAIL   Вверх
Gold Dragon
Дата 5.6.2012, 14:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 10
Всего: 71



класс!  smile 

я спрашиваю как проще условие составить. а ещё есть 127.х.х.х

Я пробую через ip2long(), но что-то сегодня с логикой не то... пропускает условия... Не выкладываю своё решение, только потому чтобы с толку не сбить ни кого smile


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
Vardoulacha
Дата 20.6.2012, 04:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 184
Регистрация: 11.8.2005

Репутация: 7
Всего: 8



ну не знаю, я бы сделал простую проверку, определил ИП адрес того что запрашивает ресурс и обычным условием сравнил по шаблону попадает ли адрес в нужные диапазоны

задача как я понимаю состоит в том чтобы доступ получили только те у кого ИП локальной сети?
PM MAIL   Вверх
Aliance
Дата 20.6.2012, 09:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 14
Всего: 137



Наверное тут, как и в любой задачи, нужно грамотно поставить вопрос.

Цитата(Gold Dragon @  5.6.2012,  15:33 Найти цитируемый пост)
Какой самый простой способ определить что запрос идёт с локального IP? 

Исходя из вопроса, нужно:
0) иметь список локальных ИП
1) получить текущий ИП пользователя
2) сравнить 1 с 0

Но если задача более общая, типа подключить девелоперский конфиг - можно ее решить и немного по-другому. Сделать проверку по хосту скажем, или сравнить ИП вручную с локальным ИП офиса, зависит от условий все же. А так, по хорошему, повторюсь, во 2 посту был ответ на вопрос.
PM MAIL WWW ICQ Skype   Вверх
Gold Dragon
Дата 20.6.2012, 12:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 10
Всего: 71



в третьем я уже сказал что локальных (и служебных) намного больше). Может есть простой способ определить локальный хост чем проверять весь список


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
Aliance
Дата 20.6.2012, 13:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 14
Всего: 137



Для нас так и остается тайной зачем это нужно?
PM MAIL WWW ICQ Skype   Вверх
Gold Dragon
Дата 20.6.2012, 13:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 10
Всего: 71



например исключить отправку статистики с сайта


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
Aliance
Дата 20.6.2012, 14:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 14
Всего: 137



Я обычно решаю такую задачу так:

- в .htaccess пишу что-то типа
Код

SetEnv ENVIROMENT development

- во входной точке проекта (обычно это index.php) пишу что-то типа:
Код

defined( 'ENVIROMENT' ) || define( 'ENVIROMENT', ( getenv( 'ENVIROMENT' ) ? getenv( 'ENVIROMENT' ) : 'production' ) );

- далее в коде делаю проверку что-то типа:
Код

if (ENVIROMENT == 'production') {
    // тут посылаем твою статистику
}


Соответственно на сервере в .htaccess пишем production, на локальной машине development. Если проект в репозитории, то файл ставим в игнор. Данный подход используется во многих (если не во всех) популярных фрейморках (в частности ZF, Kohana).

Так же можно легко подключать нужный конфиг с настройками БД, например. И в общем-то определять ИПшник необходимость отпадает. Вот почему я спрашивал про то, зачем задача такая стоит.
PM MAIL WWW ICQ Skype   Вверх
Gold Dragon
Дата 20.6.2012, 14:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 10
Всего: 71



Aliance, такое есть, но тут малость другая задача.. Допустим, пользователь поставил себе CMS на локалке. Через определённое время на офсайт разработчика должно прийти сообщение что очередная копия движка установлена в сети. Так вот, одна из задач не отправлять такую статистику когда пользователь разместил сайт не в Интернете, а на локалке

Я прекрасно понимаю что самый простой способ иметь диапазоны всех не внешних IP и сравнивать их. Но может есть какой-то "интересный" способ.. Если нет, то не беда. буду просто сравнивать smile


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
Fortop
Дата 20.6.2012, 14:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: 20
Всего: 42



Цитата(Gold Dragon @  20.6.2012,  14:30 Найти цитируемый пост)
Но может есть какой-то "интересный" способ

Нет такого способа.

Более того, я могу поставить себе локально IP  8.8.8.8
Как вы определите разместил я в интернете или нет?

Я бы в рамках CMS смотрел домен/хост на котором я стою. Затем делал попытку запроса на активацию на внешний сервер.
При получении запроса на активацию на сервере пытался бы достучаться по полученным данным в запросе. Если достучался - значит сайт доступен извне.
Если не достучался - значит не доступен.

Эдакий handshake.


--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
Gold Dragon
Дата 20.6.2012, 14:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 10
Всего: 71



Цитата(Fortop @  20.6.2012,  15:44 Найти цитируемый пост)
Более того, я могу поставить себе локально IP  8.8.8.8
Как вы определите разместил я в интернете или нет?
что значит поставить? А как насчёт глобальной уникальности IP-адресов

Цитата(Fortop @  20.6.2012,  15:44 Найти цитируемый пост)
Я бы в рамках CMS смотрел домен/хост на котором я стою.
у меня на локалке доменные адреса соответствуют интернетоваским. Чаще всего пищу домен первого уровня qqq, но иногда и ru. Так что скрипт не особо поймёт что за сеть



--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
Fortop
Дата 20.6.2012, 15:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: 20
Всего: 42



Цитата(Gold Dragon @  20.6.2012,  14:57 Найти цитируемый пост)
что значит поставить? А как насчёт глобальной уникальности IP-адресов

Да то и значит. Взять руками и поставить себе нужный IP
И уникальность меня в локальной сети абсолютно не волнует.

Так что у себя локально я ДНС гугла.
Цитата(Gold Dragon @  20.6.2012,  14:57 Найти цитируемый пост)
у меня на локалке доменные адреса соответствуют интернетоваским. Чаще всего пищу домен первого уровня qqq, но иногда и ru. Так что скрипт не особо поймёт что за сеть

Если вы создаете у себя локальные домены такие же как существующие снаружи - то вы сами себе злобный буратино.

Но разработчику CMS на это абсолютно насрать.
Его должно волновать только две вещи:
возможность отправить запрос на сервер активации (доступный из интернет и имеющий к нему доступ соответственно).
возможность отправить ответ с сервера активации к этой копии CMS.

Если обе вещи прошли успешно, значит CMS доступна извне и можно считать ее в статистику.

Добавлено через 8 минут
CMS -> GET http://my.server.ru/myCMSuniqueIDwithHost  ->
сервер смотрит, доступна ли CMS извне используя полученный Ид и хост ->
my.server.ru -> GET http://myCMSHost/myCMSuniquerID ->
CMS смотрит ее ли спрашивают, если да, то пишет ОК. ->
my.server.ru получает ОК и радуется считая статистику.



--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
Gold Dragon
Дата 20.6.2012, 15:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 10
Всего: 71



у меня сайт на локальном сервере. комп подключен к Интернету. Запросы выполняются. На офсайт пришла нужная мне информация. НО(!) я получил статистику с сайта которого реально в Интернете нет. Вот и хочется минимизировать такие вещи.

Что касается, подмены IP и т.п. то это больше исключения...


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
Fortop
Дата 20.6.2012, 15:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: 20
Всего: 42



Цитата(Gold Dragon @  20.6.2012,  15:14 Найти цитируемый пост)
у меня сайт на локальном сервере. комп подключен к Интернету. Запросы выполняются. На офсайт пришла нужная мне информация. НО(!) я получил статистику с сайта которого реально в Интернете нет. Вот и хочется минимизировать такие вещи.

Блин. Еще один доцент Авас.

Не прийдет нужная информация на офсайт.
По причине того, что ты с офсайта не сможешь получить подтверждения.

Так сложно понять простую схему?
Запрос на активацию -> обратный запрос подтверждения -> если ответ ок, записали статистику (если нет ответа, то не пишем)


Это сообщение отредактировал(а) Fortop - 20.6.2012, 15:54


--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0955 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.