Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 11.03.2016
Сообщений: 38
1

Насколько точно скрипт в примере определит IP адрес юзера, агент юзера?

20.03.2016, 12:42. Показов 1029. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
вот собственно сам скрипт:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<?
$ip=false;
if(isset($_SERVER['HTTP_X_FORWARDED_FOR']) && $_SERVER['HTTP_X_FORWARDED_FOR']!='127.0.0.1' && preg_match("#^([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$#",$_SERVER['HTTP_X_FORWARDED_FOR']))
{
$ip2['xff']=$_SERVER['HTTP_X_FORWARDED_FOR'];
$ipa[] = $_SERVER['HTTP_X_FORWARDED_FOR'];
}
if(isset($_SERVER['HTTP_CLIENT_IP']) && $_SERVER['HTTP_CLIENT_IP']!='127.0.0.1' && preg_match("#^([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$#",$_SERVER['HTTP_CLIENT_IP']))
{
$ip2['cl']=$_SERVER['HTTP_CLIENT_IP'];
$ipa[] = $_SERVER['HTTP_CLIENT_IP'];
}
if(isset($_SERVER['REMOTE_ADDR']) && preg_match("#^([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$#",$_SERVER['REMOTE_ADDR']))
{
$ip2['add']=$_SERVER['REMOTE_ADDR'];
$ipa[] = $_SERVER['REMOTE_ADDR'];
}
 
$ip=$ipa[0];
 
$iplong =ip2long($ip);
 
if (isset($_SERVER['HTTP_USER_AGENT']))
{
$ua=$_SERVER['HTTP_USER_AGENT'];
$ua=strtok($ua, '/');
$ua=strtok($ua, '('); // оставляем только то, что до скобки
$ua=preg_replace('#[^a-z_\./ 0-9\-]#iu', null, $ua); // вырезаем все "левые" символы
 
// Опера мини тоже посылает данные о телефоне :)
if (isset($_SERVER['HTTP_X_OPERAMINI_PHONE_UA']) && preg_match('#Opera#i',$ua))
{
$ua_om=$_SERVER['HTTP_X_OPERAMINI_PHONE_UA'];
$ua_om=strtok($ua_om, '/');
$ua_om=strtok($ua_om, '(');
$ua_om=preg_replace('#[^a-z_\. 0-9\-]#iu', null, $ua_om);
$ua='Opera Mini ('.htmlspecialchars($ua_om).')';
}
 
}else $ua='Нет данных';
?>
Вопрос: насколько точно он определит адрес клиента, могут ли они повторяться, при условии, что прокси адрес мы тоже получаем, и как добавить в него определение не только опера мини, но и андроид ,apple и т.д?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.03.2016, 12:42
Ответы с готовыми решениями:

Загрузка изображения для профиля юзера в одном контроллере с загрузкой данных юзера
Алгоритм таков: 1. При добавлении клиента необходимо загрузить фото 2. Загружаю 3. Заполняю...

Как добавить в DirectoryEdit1.Text путь к папке юзера, если имя юзера кириллицей?
Делаю такDirectoryEdit1.Text:=GetEnvironmentVariable('USERPROFILE') выдает вопросительные знаки...

Как максимально точно определить устройство юзера?
Я для определения устройства пользователя использую сейчас класс Mobile-Detect- (v 2.8.22). В...

Запустить от юзера агент-odbc должен быть на сервере
Все привет! Есть база на сервере, в базе есть форма документа с полями выбора условий для отчета....

2
Фрилансер
Эксперт JSЭксперт HTML/CSSЭксперт PHP
1846 / 1342 / 599
Регистрация: 12.01.2011
Сообщений: 5,432
20.03.2016, 14:23 2
Цитата Сообщение от maksimus-007 Посмотреть сообщение
него определение не только опера мини, но и андроид ,apple и т.д?
Проверять по операционной системе. android ,ios.
Вот так например.
PHP
1
2
3
4
$_http = $_SERVER['HTTP_USER_AGENT'];
        if(strstr($_http,"Windows")) echo 'Вы используете Windows';
        if(strstr($_http,"Android")) echo 'Вы используете Android';
        if(strstr($_http,"IOS")) echo 'Вы используете Ios';
1
0 / 0 / 0
Регистрация: 11.03.2016
Сообщений: 38
20.03.2016, 15:54  [ТС] 3
Спасибо, очень помог! Все получилось, если честно сигнатуры не мог найти точные)
0
20.03.2016, 15:54
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.03.2016, 15:54
Помогаю со студенческими работами здесь

Отправка письма из почта на адрес юзера ВК
как из почты послать письмо юзеру вк,зная его id?

Скрипт работающий автономно, без участия юзера
Всем доброй ночи друзья! Написал на PHP будильник, который при достижении определенного времени...

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

Интерфейс юзера
Всем привет. Я пытаюсь сделать графический интерфейс, который представляет из себя набор...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru