Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: IP адрес в реальное имя

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Как подменить IP
thefreedom
Отправлено: 25 Мая, 2016 - 12:00:52
Post Id



Новичок


Покинул форум
Сообщений всего: 55
Дата рег-ции: Окт. 2012  


Помог: 0 раз(а)




Добрый день.
Есть всем известная функция $SERVER = '$_SERVER["REMOTE_ADDR"]'; которая вытаскивает IP адрес смотрящего и может его выводить пользователю. Как вместо IP адреса подставлять фамилии из какого-нить созданного заранее файла напр:
10.0.0.1 - Иванов
10.0.0.2 - Петров
10.0.0.3 - Сидоров
И соответственно выводить вместо IP адреса фамилию.
 
 Top
igosja
Отправлено: 25 Мая, 2016 - 12:14:46
Post Id



Гость


Покинул форум
Сообщений всего: 77
Дата рег-ции: Март 2013  
Откуда: https://vhol.org


Помог: 3 раз(а)




IP адрес не является уникальным для каждого компьютера, поэтому такая операция не имеет смысла. У меня на работе порядка 30 компьютеров имеют один IP, не зависимо от того, Иванов на нем работает или Петров.
Что касается реализации, то можно создать файлик с именем, скажем, ip_to_name.php:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $ip_to_name_array = array(
  3.     '10.0.0.1' => 'Иванов',
  4.     '10.0.0.2' => 'Петров',
  5.     '10.0.0.3' => 'Сидоров',
  6. );
  7. ?>

Подключите его в index.php и выводите фамилию так:
PHP:
скопировать код в буфер обмена
  1. print $ip_to_name_array[$_SERVER["REMOTE_ADDR"]];

(Отредактировано автором: 25 Мая, 2016 - 12:20:04)

 
 Top
thefreedom
Отправлено: 25 Мая, 2016 - 12:20:42
Post Id



Новичок


Покинул форум
Сообщений всего: 55
Дата рег-ции: Окт. 2012  


Помог: 0 раз(а)




igosja пишет:
IP адрес не является уникальным для каждого компьютера, поэтому такая операция не имеет смысла. У меня на работе порядка 30 компьютеров имеют один IP, не зависимо от того, Иванов на нем работает или Петров.
" Я и не говорю про ваш случай я говорю про наш у нас у каждого свой.
(Добавление)
igosja пишет:
print $ip_to_name_array[$_SERVER["REMOTE_ADDR"]];
Спасибо а как избавиться от ошибки если данного совпадения не существует или выводить фразу скажем неизвесный IP
 
 Top
igosja
Отправлено: 25 Мая, 2016 - 12:33:50
Post Id



Гость


Покинул форум
Сообщений всего: 77
Дата рег-ции: Март 2013  
Откуда: https://vhol.org


Помог: 3 раз(а)




С проверкой будет так:
PHP:
скопировать код в буфер обмена
  1. if (isset($ip_to_name_array[$_SERVER["REMOTE_ADDR"]]))
  2. {
  3.     print $ip_to_name_array[$_SERVER["REMOTE_ADDR"]];
  4. }
  5. else
  6. {
  7.     print 'неизвесный IP';
  8. }
 
 Top
thefreedom
Отправлено: 25 Мая, 2016 - 12:43:40
Post Id



Новичок


Покинул форум
Сообщений всего: 55
Дата рег-ции: Окт. 2012  


Помог: 0 раз(а)




igosja пишет:
С проверкой будет так:
PHP:
скопировать код в буфер обмена
  1. if (isset($ip_to_name_array[$_SERVER["REMOTE_ADDR"]]))
  2. {
  3.     print $ip_to_name_array[$_SERVER["REMOTE_ADDR"]];
  4. }
  5. else
  6. {
  7.     print 'неизвесный IP';
  8. }


Подключаю файл так:
$ip_to_name_array = fopen("users.txt", "r");

В файле:
'10.0.0.60' => 'Иванов',
'10.0.0.237' => 'Петров',
'10.0.0.9' => 'Сидоров',
Не работает с файла может по другому читать нужно ? Или писать в в файле ? Пробовал и PHP файл создавать не читает он его почему-то

(Отредактировано автором: 25 Мая, 2016 - 12:55:46)

 
 Top
igosja
Отправлено: 25 Мая, 2016 - 12:56:48
Post Id



Гость


Покинул форум
Сообщений всего: 77
Дата рег-ции: Март 2013  
Откуда: https://vhol.org


Помог: 3 раз(а)




fopen делать не надо.
Под фразой "Подключите его в index.php" я имел ввиду такой код в index.php:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. include ('ip_to_name.php'); //Подключите его в index.php
  3.  
  4. if (isset($ip_to_name_array[$_SERVER["REMOTE_ADDR"]]))
  5. {
  6.     print $ip_to_name_array[$_SERVER["REMOTE_ADDR"]];
  7. }
  8. else
  9. {
  10.     print 'неизвесный IP';
  11. }

(Отредактировано автором: 25 Мая, 2016 - 13:19:35)

 
 Top
thefreedom
Отправлено: 25 Мая, 2016 - 13:00:11
Post Id



Новичок


Покинул форум
Сообщений всего: 55
Дата рег-ции: Окт. 2012  


Помог: 0 раз(а)




igosja пишет:
fopen делать не надо.
Под фразой "Подключите его в index.php" я имел ввиду такой код в index.php:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. include (ip_to_name.php); //Подключите его в index.php
  3.  
  4. if (isset($ip_to_name_array[$_SERVER["REMOTE_ADDR"]]))
  5. {
  6.     print $ip_to_name_array[$_SERVER["REMOTE_ADDR"]];
  7. }
  8. else
  9. {
  10.     print 'неизвесный IP';
  11. }



Notice: Use of undefined constant ip_to_name - assumed 'ip_to_name' in...... Не понимает он его или не видит почему-то
include предназначена для включения файлов в код сценария PHP во время исполнения сценария PHP в примере include "$i.txt"; через кавычки но так тоже не работает ((
(Добавление)
thefreedom пишет:
igosja пишет:
fopen делать не надо.
Под фразой "Подключите его в index.php" я имел ввиду такой код в index.php:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. include (ip_to_name.php); //Подключите его в index.php
  3.  
  4. if (isset($ip_to_name_array[$_SERVER["REMOTE_ADDR"]]))
  5. {
  6.     print $ip_to_name_array[$_SERVER["REMOTE_ADDR"]];
  7. }
  8. else
  9. {
  10.     print 'неизвесный IP';
  11. }


Разобрался кодировка у файла была не та )


Notice: Use of undefined constant ip_to_name - assumed 'ip_to_name' in...... Не понимает он его или не видит почему-то
include предназначена для включения файлов в код сценария PHP во время исполнения сценария PHP в примере include "$i.txt"; через кавычки но так тоже не работает ((

(Отредактировано автором: 25 Мая, 2016 - 13:08:51)

 
 Top
igosja
Отправлено: 25 Мая, 2016 - 14:02:47
Post Id



Гость


Покинул форум
Сообщений всего: 77
Дата рег-ции: Март 2013  
Откуда: https://vhol.org


Помог: 3 раз(а)




Скопируйте еще раз код, я ответы редактировал.
Файл ip_to_name.php
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $ip_to_name_array = array(
  3.     '10.0.0.1' => 'Иванов',
  4.     '10.0.0.2' => 'Петров',
  5.     '10.0.0.3' => 'Сидоров',
  6. );

Файл index.php
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. include ('ip_to_name.php'); //Подключите его в index.php
  3.  
  4. if (isset($ip_to_name_array[$_SERVER["REMOTE_ADDR"]]))
  5. {
  6.     print $ip_to_name_array[$_SERVER["REMOTE_ADDR"]];
  7. }
  8. else
  9. {
  10.     print 'неизвесный IP';
  11. }
 
 Top
thefreedom
Отправлено: 01 Июня, 2016 - 08:50:25
Post Id



Новичок


Покинул форум
Сообщений всего: 55
Дата рег-ции: Окт. 2012  


Помог: 0 раз(а)




{
print 'неизвесный IP';
}

А как сделать так, чтобы если неизвестный IP адрес то перекидывало на предыдущую страницу типо:

<html><head><meta http-equiv='Refresh' content = '5; URL =index.html'></head></html>
 
 Top
Viper
Отправлено: 01 Июня, 2016 - 08:53:20
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)




thefreedom пишет:
А как сделать так, чтобы если неизвестный IP адрес то перекидывало на предыдущую страницу типо:


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB