2015-09-16 2 views
-1

это мой код, чтобы обнаружить мою систему IP AddressКак определить локальный адрес IP-

<?php 

if ($_POST['login']) { 

    $uname = $_POST['uname']; 
    $pass = $_POST['pass']; 

    $email = $_POST['email']; 
    $phnoe = $_POST['phnoe']; 
    $ipd = $_SERVER['REMOTE_ADDR']; 

    if (mysql_query("Insert Into nennetwork (name, email, password, phone, useripp) Values ('$uname', '$email', '$pass', '$phnoe', '$ipd')")) 
     $pdmsg = "New Member Added!!"; 
} 

и мой IP является 192.168.7.16, но он дает адрес сервера как 103.18.164.206 .. я хочу, чтобы мои System Ip Возможно ли это?

+0

use '$ _SERVER ['SERVER_ADDR']' – Saty

+0

Вы не можете получить IP-адрес клиента с PHP. –

ответ

2

использование $_SERVER['SERVER_ADDR'];

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

Дополнительные знания

  1. $_SERVER['HTTP_HOST'] - дает http://192.168.0.1/index.php
  2. $_SERVER['SERVER_NAME'] - дает www.example.com
  3. $_SERVER['SERVER_ADDR'] - дает 127.0.0.1
  4. $_SERVER['REMOTE_ADDR'] - также дает 127.0.0.1

EDIT 01

$ipAddress = $_SERVER['REMOTE_ADDR']; 
if (array_key_exists('HTTP_X_FORWARDED_FOR', $_SERVER)) { 
    $ipAddress = array_pop(explode(',', $_SERVER['HTTP_X_FORWARDED_FOR'])); 
} 
+0

Нет вставки адреса хоста – ashlliza

+0

ОК, это дает адрес хоста, но IP, о котором я упомянул, является IP-адресом моего компьютера. – ashlliza

+0

@Moderator это неправда. предположим, что у меня есть доступ к Интернету, а мой ip-адрес - «2.187.xx.xx», а мой ip-адрес сети - «192.168.2.1'. Я запустил сервер wamp на «192.168.2.20», и я обращаюсь к нему из браузера моего компьютера. ** Какой код показывает ip '192.168.2.1'? ** – TechJS

1

Как кажется, ваша страница размещена на интернет-сети (например, IP-сервера является 2.178.x.x). В этом случае я могу сказать, что вы cant.

Веб-серверы не могут получить доступ в сети пользователя. например, у вас есть Wi-Fi-модем и 3 человека. веб-сервер может видеть только ваш внешний (интернет) IP-адрес не внутренний (в сети wifi, например, 192.168.x.x)

Так что ответ: вы не можете.

Смежные вопросы