- Как узнать, какую версию интернет-протокола (IP) использует клиент при подключении к моему серверу?
- 7 ответов
- Как проверить наличие сетевого протокола на своем компьютере
- Читайте также
- 15. Как проверить работу Tor?
- Как спрятать информацию на своем компьютере от посторонних глаз
- Как самостоятельно распознать наличие в компьютере шпионского ПО?
- Как самостоятельно распознать наличие в компьютере программ-шпионов
- Наличие нескольких аргументов
- Глава 34. Как проверить и отредактировать распознанный текст
- Наличие внешней клавиатуры
- Наличие дополнительной клавиатуры
- 4.1.1 Наличие компонентов продукта
- 4.1.2 Наличие компонентов системы
- Как проверить, что Интернет подключен?
- Как проверить компьютер?
- Как проверить файл или папку?
Как узнать, какую версию интернет-протокола (IP) использует клиент при подключении к моему серверу?
Я хочу проверить через php, если кто-то подключается к моему сайту через IPv4 или IPv6. Адрес клиента можно найти в $_SERVER[«REMOTE_ADDR»] , но, как проверить, является ли он IPv4 или IPv6? Спасибо за ваше время Андре
7 ответов
$ip = "255.255.255.255"; if(filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4)) < echo "Valid IPv4"; >else
$ip = "FE80:0000:0000:0000:0202:B3FF:FE1E:8329"; if(filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6)) < echo "Valid IPv6"; >else
Для получения дополнительной информации проверьте функцию PHP filter_vars и list of filters for validation .
Вы можете использовать это:
Вышеприведенные решения с использованием регулярных выражений хороши, но не забудьте сначала проверить, что ваш сервер даже поддерживает IPv6! Многие системные администраторы отключили IPv6, потому что это вызывает много головной боли. (Многие приложения были написаны исключительно с учетом IPv4).
На сервере с двумя стеками (что является обычным развертыванием) это всегда будет возвращать 6 из -за сопоставленных IPv4-адресов IPv6 . Чтобы исправить это, также убедитесь, что строка не начинается с ::ffff: (и вы, вероятно, тоже хотите удалить это).
Это немного устарело, но с первого взгляда я бы вместо этого проверил на «.» вместо «:». Я знаю, что это не имеет большого значения, если смотреть на суперглобальный $ _SERVER или что-то в этом роде, но символ «:» МОЖЕТ появляться в других случаях соединений IPv4, поскольку он используется для разделения адреса и порта. Строка IPO6 OTOH с указанным портом или без него никогда не будет иметь точку / точку. Если этот символ присутствует, это IPv4.
Ложный совет! Эта строка может содержать ::ffff:10.20.30.40 ! Это происходит на моем сервере. Лучше проверить на точку . персонаж; он появляется только в IPv4. Кстати, хотя адрес касперда иногда действителен, он никогда не возвращается сервером. Точка действительно является доказательством IPv4 здесь.
Как насчет подсчета числа ‘.’ и/или ‘ : ‘ в $_SERVER[«REMOTE_ADDR»] ?
Если в $_SERVER[«REMOTE_ADDR»] есть больше 0 ‘ : ‘ и символ , я полагаю, вы можете считать, что пользователь подключен через IPv6.
Другим решением может быть использование расширения : есть constants (см. конец страницы), которые, как представляется, связаны с IPv4 и IPv6:
FILTER_FLAG_IPV4 (целое число)
Разрешить только IPv4-адрес в «validate_ip» фильтр.FILTER_FLAG_IPV6 (целое число)
Разрешить только IPv6-адрес в «validate_ip» фильтр.
Не думайте, что если есть «.» это IPv4, IPv6 также может содержать адреса в стиле IPv4, например: 0: 0: 0: 0: 0: 127.0.0.1
Поскольку у самого высокого голосованного ответа есть довольно значительная проблема, я собираюсь поделиться своим собственным.
Это возвращает true, если адрес, который выглядит как IPv6, передан, и false, если передан адрес, который выглядит как IPv4 (или IPv4-отображаемый IPv6). Фактические адреса еще не проверены; используйте filter_var() , если вам нужно проверить их.
IPv4 сопоставленный адрес по-прежнему является недействительным IPV4-адресом, почему вы считаете его IPV4?
@CemKalyoncu, потому что с сетевой точки зрения, когда у вас есть сопоставленный IPv4, IPv6 не используется — поэтому, если вам нужно выполнить обратный поиск DNS или что-то подобное, это должен быть IPv4.
Если вы будете выполнять разбор, вам нужно будет применить правила IPv6. Также входящий канал будет IPv6, даже если отправитель использует IPv4.
Как проверить наличие сетевого протокола на своем компьютере
Под сетевым протоколом мы будем понимать TCP/IP — специально разработанный протокол для обмена информацией между компьютерами в сети. Он отличается высокой скоростью передачи данных и является базовым для таких протоколов, как HTTP (просмотр Web-страничек), FTP (файловый обмен) и некоторых других. Собственно говоря, это фундамент, на котором строится вся работа в Интернете.
Обычно TCP/IP устанавливается по умолчанию вместе с новым сетевым подключением, но все же будет правильно проверить его наличие в системе. Для этого нужно сделать следующее.
1. Щелкнуть правой кнопкой мыши на рабочем столе компьютера по значку Сетевое окружение и выбрать Свойства.
2. В открывшемся окне (рис. 1.10) нужно выбрать сетевое подключение, которое вы используете для работы в Интернете или локальной сети, потом тоже нажать на нем правую кнопку мыши и выбрать Свойства. Если же у вас нет ни одного сетевого подключения, то настроить его (например, для выхода в Интернет) можно следующим образом:
• воспользуемся ссылкой Создание нового подключения, которая находится в левой части окна в разделе Сетевые задачи, при этом запустится мастер новых подключений;
• в первом окне мастера (рис. 1.11) просто нажимаем кнопку Далее, поскольку окно является приветственным;
• во втором окне (рис. 1.12) выбираем Подключить к Интернету и нажимаем кнопку Далее;
• теперь выбираем Установить подключение вручную (рис. 1.13) — будем считать, что у нас есть интернет-карта, которую мы купили на почте или в киоске, а в ней под защитным слоем находятся имя пользователя и пароль для настройки нового соединения, а также номер телефона поставщика услуг Интернета, на который мы должны позвонить с помощью модема;
? в следующем окне мастера (рис. 1.14) выбираем Через обычный модем — это наиболее распространенный случай, если у вас, конечно, не установлен скоростной Интернет, а к компьютеру не подключен скоростной модем ADSL;
? в следующем диалоговом окне (рис. 1.15) предлагается ввести имя поставщика услуг Интернета (интернет-провайдера). Здесь вы можете написать все, что угодно, поскольку введенное слово будет являться просто названием этого подключения;
? теперь (рис. 1.16) вводим номер телефона, на который будем дозваниваться при подключении к Интернету. Хотя это и телефонный номер, на другой стороне провода установлен модем провайдера, а не обычный телефон. Именно через этот модем мы и подключимся к Интернету. Обратите внимание, что в номере телефона можно использовать команды для своего модема (так, литера p означает импульсный набор, а запятая делает паузу после набора цифры);
? в предпоследнем диалоговом окне (рис. 1.17) нужно ввести имя пользователя и два раза пароль. Почему дважды? Потому что первый раз вы просто вводите пароль, а потом его подтверждаете. Подтверждать пароль нужно по той причине, что в первый раз можно ошибиться — ведь символы пароля всегда отображаются звездочками, чтобы любопытный гражданин Дудкин, стоящий за нашей спиной, не смог его подсмотреть;
в последнем диалоговом окне (рис. 1.18) можно поставить флажок Добавить ярлык подключения на рабочий стол, чтобы потом не искать его в окне Сетевые подключения, а быстро найти на рабочем столе.
3. Итак, мы выбрали сетевое подключение, нажали на нем правую кнопку мыши и перешли на его Свойства.
4. Здесь возможны два варианта:
• если это сетевое подключение для работы в локальной сети, то сразу появится окно со списком компонентов (рис. 1.19), которое нужно пролистать вниз и отыскать в нем надпись Протокол Интернета (TCP/IP);
• если же это подключение к Интернету с домашнего компьютера, которое мы только что настроили, то в открывшемся окне сначала нужно выбрать вкладку Сеть, а потом в разделе Компоненты, используемые этим подключением найти Протокол Интернета (TCP/IP) (рис. 1.20).
5. Надеюсь, что TCP/IP у вас установлен, если нет, то его нужно доустановить. Делается это так:
• нажимаем на кнопку Установить;
• в открывшемся окне (рис. 1.21) выбираем тип сетевого компонента Протокол;
• нажимаем на кнопку Добавить и в новом окне (рис. 1.22) выбираем протокол TCP/IP.
Теперь при необходимости можно настроить свойства протокола TCP/IP, нажав на кнопку Свойства в окне Мой выход в Интернет — свойства (см. рис. 1.20). Для выхода в Интернет с домашнего компьютера это вам не понадобится, но если вы работаете в локальной сети предприятия, где принято использовать IP-адреса, то вам нужно узнать IP-адрес (а также и другие данные: маску подсети, шлюз и адрес DNS-сервера) у своего сетевого администратора и ввести их в окне свойств.
Данный текст является ознакомительным фрагментом.
Читайте также
15. Как проверить работу Tor?
15. Как проверить работу Tor? Чтобы проверить то, как Tor обеспечивает анонимность нужно зайти на один из сайтов, которые могут определять и высвечивать IP-адрес и некоторые другие данные о пользователе. Список приведен ниже.Чтобы узнать свой настоящий IP-адрес — можно зайти на
Как спрятать информацию на своем компьютере от посторонних глаз
Как спрятать информацию на своем компьютере от посторонних глаз Мы не рассматриваем в данном случае программы, предназначенные для шифрования информации на дисках, подобно тому, как это делает Secret Disk Server. Желающие ознакомиться с программами, защищающими информацию на
Как самостоятельно распознать наличие в компьютере шпионского ПО?
Как самостоятельно распознать наличие в компьютере шпионского ПО? Отличительной чертой Spyware является то, что их трудно распознать с помощью штатных антивирусных программ. Поэтому для борьбы с ними рекомендуется использовать специальные утилиты, которые во множестве
Как самостоятельно распознать наличие в компьютере программ-шпионов
Как самостоятельно распознать наличие в компьютере программ-шпионов Отличительной чертой Spyware является то, что их трудно распознать с помощью штатных антивирусных программ. Для борьбы с ними предназначены специальные утилиты, которые можно скачать в Интернете. Но
Наличие нескольких аргументов
Наличие нескольких аргументов Если для связи с некоторой функцией требуется более одного аргумента, то наряду с именем функции можно задавать список аргументов, разделенных запятыми, как показано ниже. printnum(i,j) int i, j; < printf(" Новых точек = %d. Всего точек = %d. ", i, j); >Мы
Глава 34. Как проверить и отредактировать распознанный текст
Глава 34. Как проверить и отредактировать распознанный текст После завершения распознавания результат появляется в диалоговом окне Текст. Диалоговое окно Текст — это встроенный редактор программы FineReader; в нем вы имеете возможность проверить результаты распознавания и
Наличие внешней клавиатуры
Наличие внешней клавиатуры С помощью класса Registry разработчик может получать или устанавливать значения параметров в реестре. Предположим, что нужно узнать, подключена ли к устройству внешняя клавиатура. За данную функцию отвечает параметр HasKeyboard в разделе
Наличие дополнительной клавиатуры
Наличие дополнительной клавиатуры Узнать о наличии в системе подключаемой клавиатуры можно с помощью функции API или просмотрев значение соответствующего ключа в реестре. Использование реестра рассматривалось несколько раньше. В листинге 13.22 приведен код, который
4.1.1 Наличие компонентов продукта
4.1.1 Наличие компонентов продукта Для тестирования пакета программ должны иметься в наличии все его поставляемые компоненты (см. 3.1.2 h), а также нормативные документы, указанные в описании продукта (см. 3.1.2
4.1.2 Наличие компонентов системы
4.1.2 Наличие компонентов системы Для тестирования пакета программ необходимо наличие составных частей всех вычислительных систем, указанных в описании
Как проверить, что Интернет подключен?
Как проверить, что Интернет подключен? Как же определить, есть ли на вашем компьютере Интернет? Самый простой способ — попытаться загрузить страницу. Для этого откройте браузер и введите в адресную строку любой интернетский адрес (подробнее об этом читайте в начале
Как проверить компьютер?
Как проверить компьютер? Помимо постоянного наблюдения за выполняющимися программами, антивирус Microsoft Security Essentials проверяет содержимое дисков по расписанию. По умолчанию он делает это раз в неделю. Кроме того, вы можете запустить проверку и вручную, в любое время.Чтобы
Как проверить файл или папку?
Как проверить файл или папку? Чтобы проверить отдельно взятый файл или папку с файлами, воспользуйтесь контекстным меню.Например, вы скачали файл из Интернета. Откройте папку, в которую сохранен этот файл, и щелкните на его значке правой кнопкой мыши.В контекстном меню