Php and remote address

$_SERVER

Переменная $_SERVER — это массив ( array ), содержащий такую информацию, как заголовки, пути и местоположения скриптов. Записи в этом массиве создаются веб-сервером, поэтому нет гарантии, что каждый веб-сервер будет предоставлять любую из этих переменных; серверы могут опускать некоторые из них или предоставлять другие, не указанные здесь. Однако большинство из этих переменных учтены в спецификации » CGI/1.1 и, скорее всего, будут определены.

Замечание: При запуске PHP в командной строке большинство из этих записей будут недоступны или не будут иметь никакого значения.

В дополнение к перечисленным ниже элементам, PHP будет создавать дополнительные элементы со значениями из заголовков запросов. У элементов будет имя HTTP_ , за которым следует имя заголовка, написанное с заглавной буквы и с подчёркиванием вместо дефиса. Например, заголовок Accept-Language будет доступен как $_SERVER[‘HTTP_ACCEPT_LANGUAGE’] .

Индексы

‘ PHP_SELF ‘ Имя файла скрипта, который сейчас выполняется, относительно корня документов. Например, $_SERVER[‘PHP_SELF’] в скрипте по адресу http://example.com/foo/bar.php будет /foo/bar.php . Константа __FILE__ содержит полный путь и имя файла текущего (то есть подключённого) файла. Если PHP запущен в командной строке, эта переменная содержит имя скрипта. ‘argv’ Массив аргументов, переданных скрипту. Когда скрипт запущен в командой строке, это даёт C-подобный доступ к параметрам командной строки. Когда вызывается через метод GET, этот массив будет содержать строку запроса. ‘argc’ Содержит количество параметров, переданных скрипту (если запуск произведён в командной строке). ‘ GATEWAY_INTERFACE ‘ Содержит используемую сервером версию спецификации CGI; к примеру ‘CGI/1.1’ .. ‘ SERVER_ADDR ‘ IP-адрес сервера, на котором выполняется текущий скрипт. ‘ SERVER_NAME ‘ Имя хоста, на котором выполняется текущий скрипт. Если скрипт выполняется на виртуальном хосте, здесь будет содержатся имя, определённое для этого виртуального хоста.

Замечание: В Apache 2 необходимо установить UseCanonicalName = On и ServerName . В противном случае это значение отразит имя хоста, предоставленное клиентом, которое может быть подделано. Небезопасно полагаться на это значение в контексте, требующем безопасности.

‘ SERVER_SOFTWARE ‘ Строка идентификации сервера, указанная в заголовках, когда происходит ответ на запрос. ‘ SERVER_PROTOCOL ‘ Имя и версия информационного протокола, через который была запрошена страница; к примеру ‘HTTP/1.0’ ; ‘ REQUEST_METHOD ‘ Какой метод был использован для запроса страницы; к примеру ‘GET’ , ‘HEAD’ , ‘POST’ , ‘PUT’ .

Замечание:

PHP-скрипт завершается после отправки заголовков (то есть после того, как осуществляется любой вывод без буферизации вывода), если метод запроса был HEAD .

‘ REQUEST_TIME ‘ Временная метка начала запроса. ‘ REQUEST_TIME_FLOAT ‘ Временная метка начала запроса с точностью до микросекунд. ‘ QUERY_STRING ‘ Строка запроса, если есть, через которую была открыта страница. ‘ DOCUMENT_ROOT ‘ Директория корня документов, в которой выполняется текущий скрипт, в точности та, которая указана в конфигурационном файле сервера. ‘ HTTPS ‘ Принимает непустое значение, если запрос был произведён через протокол HTTPS. ‘ REMOTE_ADDR ‘ IP-адрес, с которого пользователь просматривает текущую страницу. ‘ REMOTE_HOST ‘ Удалённый хост, с которого пользователь просматривает текущую страницу. Обратный поиск DNS основан на значении переменной REMOTE_ADDR .

Замечание: Сервер должен быть настроен, чтобы создавать эту переменную. Для примера, в Apache необходимо присутствие директивы HostnameLookups On в файле httpd.conf , чтобы эта переменная создавалась. Смотрите также gethostbyaddr() .

‘ REMOTE_PORT ‘ Порт на удалённой машине, который используется для связи с сервером. ‘ REMOTE_USER ‘ Аутентифицированный пользователь. ‘ REDIRECT_REMOTE_USER ‘ Аутентифицированный пользователь, если запрос был перенаправлен изнутри. ‘ SCRIPT_FILENAME ‘

Читайте также:  Generic class and methods in java

Абсолютный путь к исполняемому скрипту.

Замечание:

Если скрипт запускается в командной строке (CLI), используя относительный путь, такой как file.php или ../file.php , переменная $_SERVER[‘SCRIPT_FILENAME’] будет содержать относительный путь, указанный пользователем.

‘ SERVER_ADMIN ‘ Эта переменная получает своё значение (для Apache) из директивы конфигурационного файла сервера. Если скрипт запущен на виртуальном хосте, это будет значение, определённое для данного виртуального хоста. ‘ SERVER_PORT ‘ Порт на компьютере сервера, используемый сервером для соединения. Для установок по умолчанию, значение будет ’80’ ; используя SSL, например, это значение будет таким, какое сконфигурировано для соединений безопасного HTTP.

Замечание: Чтобы получить физический (реальный) порт в Apache 2, необходимо установить UseCanonicalName = On и UseCanonicalPhysicalPort = On , иначе это значение может быть подменено и не вернуть реальной значение физического порта. Полагаться на это значение небезопасно в контексте приложений, требующих усиленной безопасности.

‘ SERVER_SIGNATURE ‘ Строка, содержащая версию сервера и имя виртуального хоста, которые добавляются к генерируемым сервером страницам, если включено. ‘ PATH_TRANSLATED ‘ Путь файловой системы (не document root) к текущему скрипту, после того как сервер выполнил отображение virtual-to-real.

Замечание: Пользователи Apache 2 могут использовать директиву AcceptPathInfo = On в конфигурационном файле httpd.conf для задания переменной PATH_INFO .

‘ SCRIPT_NAME ‘ Содержит путь к текущему исполняемому скрипту. Это полезно для страниц, которые должны указывать на самих себя. Константа __FILE__ содержит полный путь и имя текущего (то есть включённого) файла. ‘ REQUEST_URI ‘ URI, который был предоставлен для доступа к этой странице. Например, ‘ /index.html ‘. ‘ PHP_AUTH_DIGEST ‘ При выполнении аутентификации HTTP Digest этой переменной присваивается заголовок ‘Authorization’, отправленный клиентом (который затем следует использовать для проведения соответствующей проверки). ‘ PHP_AUTH_USER ‘ При выполнении HTTP-аутентификации этой переменной присваивается имя пользователя, предоставленное пользователем. ‘ PHP_AUTH_PW ‘ При выполнении HTTP-аутентификации этой переменной присваивается пароль, предоставленный пользователем. ‘ AUTH_TYPE ‘ При выполнении HTTP-аутентификации этой переменной присваивается тип аутентификации, который используется. ‘ PATH_INFO ‘ Содержит любой предоставленный пользователем путь, содержащийся после имени скрипта, но до строки запроса, если она есть. Например, если текущий скрипт запрошен по URL http://www.example.com/php/path_info.php/some/stuff?foo=bar , то переменная $_SERVER[‘PATH_INFO’] будет содержать /some/stuff . ‘ ORIG_PATH_INFO ‘ Исходное значение переменной ‘ PATH_INFO ‘ перед обработкой PHP.

Читайте также:  Java функция внутри функции

Примеры

Пример #1 Пример использования $_SERVER

Источник

How to Get Remote IP Address in PHP

Or if you want to get ip address by host name use: Question: I am using VPN, and thus if i check http://whatismyip.com it will give me different ip than or . whatismyip gives my original ip address while or gives my VPN ip address !! Change your script to make it’s logic more short and transparent: Solution 2: Seems like you are looking to grab ip address of some website .

How to Get Remote IP Address in PHP

Getting the real remote IP address of the client can sometimes be quite tricky for PHP programmers.

Receiving the correct remote ip address has a crucial role both for tracking activity and for the security purposes.

This tutorial is aimed at helping programmers to overcome such problems. Go ahead and see how to get the real remote IP address in PHP. Often, programmers try to use $_SERVER[‘REMOTE_ADDR’] for detecting the real IP address of the client :

function getRemoteIPAddress( ) < $ip = $_SERVER['REMOTE_ADDR']; return $ip; > ?>

However, don’t get surprised to know that with the code above, you may not receive the real IP Address . In case the client uses a proxy server, the function above will not be able to help you to determine the exact IP address of the Client . Luckily, there is another solution to the issue.

So, for finding the right IP address, you need to run the following function:

 function getRealIPAddr( ) < //check ip from share internet if (!empty($_SERVER['HTTP_CLIENT_IP'])) < $ip = $_SERVER['HTTP_CLIENT_IP']; > //to check ip is pass from proxy elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) < $ip = $_SERVER['HTTP_X_FORWARDED_FOR']; > else < $ip = $_SERVER['REMOTE_ADDR']; > return $ip; >?>

Finally, it’s done, and you can be sure to have the exact IP address of the client.

What is IP Address

The IP address is the abbreviation for the Internet Protocol Address. It is considered a numerical label that is assigned to any device linked to the computer network using the Internet Protocol as a means to communicate.

The two principal functions of the IP address are:

An IP address is specified as a 32-bit number by the Internet Protocol version 4. However, the new IPv6 version applies 128 bites for an IP address. the internet assigned numbers authority administers the space of the IP addresses. Every ISP administrator should assign an IP address to any device operating with its network.

Get User IP Address in PHP, Use $_SERVER [‘REMOTE_ADDR’] to Find the User’s IP Address in PHP. We can use the $_SERVER [‘REMOTE_ADDR’] expression to find the IP address from where the user is accessing the current page. $_SERVER is the super global variable in PHP, and it takes a variety of array elements as arguments. We use the …

Источник

How to Get Remote IP Address in PHP

Getting the real remote IP address of the client can sometimes be quite tricky for PHP programmers.

Receiving the correct remote IP address has a crucial role both for tracking activity and for the security purposes.

This tutorial is aimed at helping programmers to overcome such problems. Go ahead and see how to get the real remote IP address in PHP. Often, programmers try to use $_SERVER[‘REMOTE_ADDR’] for detecting the real IP address of the client:

 function getRemoteIPAddress( ) < $ip = $_SERVER['REMOTE_ADDR']; return $ip; > ?>

However, don’t get surprised to know that with the code above, you may not receive the real IP address. In case the client uses a proxy server, the function above will not be able to help you to determine the exact IP address of the client. Luckily, there is another solution to the issue.

So, for finding the right IP address, you need to run the following function:

 function getRealIPAddr( ) < //check ip from share internet if (!empty($_SERVER['HTTP_CLIENT_IP'])) < $ip = $_SERVER['HTTP_CLIENT_IP']; > //to check ip is pass from proxy elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) < $ip = $_SERVER['HTTP_X_FORWARDED_FOR']; > else < $ip = $_SERVER['REMOTE_ADDR']; > return $ip; > ?>

Finally, it’s done, and you can be sure to have the exact IP address of the client.

What is IP Address

The IP address is the abbreviation for the Internet Protocol Address. It is considered a numerical label that is assigned to any device linked to the computer network using the Internet Protocol as a means to communicate.

The two principal functions of the IP address are:

An IP address is specified as a 32-bit number by the Internet Protocol version 4. However, the new IPv6 version applies 128 bites for an IP address. The Internet Assigned Numbers Authority administers the space of the IP addresses. Every ISP administrator should assign an IP address to any device operating with its network.

Источник

Оцените статью