|
|
|
| Здравствуйте =))
У меня такой вопрос....
Как программа может узнать, обращаются к ней с мобилы или с компа?
Т.е. либо что-то вроде:
<?php if (/*если это WAP*/) { ?>
WML-код страницы
<?php }else{ ?>
HTML-код страницы
<?php } ?>
|
либо в .htaccess это можно как-то разграничить, либо как-то еще, но чтобы пользователь, хоть с компа, хоть с мобилы писал imya_sajta.ru и получал корректный результат! | |
|
|
|
|
|
|
|
для: Sfinks
(29.03.2005 в 06:05)
| | По сути наверное никак... но ведь все пользователи мобильных телефонов ходят через прокси-сервера и их немного. Т.е. допустим все жители Н.Новгорода выходящие в WAP будут идентифцироваться сервером как посетитель с IP-адресом 217.118.93.2, в Москве наверное таких адресов должно быть несколько. Т.е. следут поставить ловушку на IP-адреса $_SERVER['REMOTE_ADDR'] http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=2870&page=1 и опеределить хост при помощи функции gethostbyaddr()
<?php
$hostname = gethostbyaddr($_SERVER['REMOTE_ADDR']);
echo $hostname;
?>
|
Для того, же Билайна будет выведено "nnfw2.beelinegprs.com"
...хотя ни фига мы так не опередлим, если WAP и GPRS-пользователи ходят с одного IP-адреса :((( | |
|
|
|
|
|
|
|
для: cheops
(29.03.2005 в 09:44)
| | Слушайте гуру в этом деле =) Единственное , что можно сделать так
это только при помощи юзер агента.
$_SERVER["HTTP_USER_AGENT"]
|
| |
|
|
|
|
|
|
|
для: Akira
(29.03.2005 в 10:33)
| | а какой юзерагент у мобильников и прочих пресмыкающихся? | |
|
|
|
|
автор: cheops (из ННГУ) (29.03.2005 в 17:40) |
|
|
для: RV
(29.03.2005 в 12:46)
| | Хм... а это идея, только боюсь он может быть пустой.... | |
|
|
|
|
|
|
|
для: cheops (из ННГУ)
(29.03.2005 в 17:40)
| | Да хотя бы даже упростить задачу....
На одном и том же домене юзер пишет wap.домен.ru - получает wml, пишет домен.ru или www.домен.ru - получает html.
Хотя, при наличии только домена третьего уровня - ето плохо =(( Согласитесь, писать (а главное запоминать) что-то вроде wap.ext.org.ru не очень удобно =(( | |
|
|
|
|
|
|
|
для: Sfinks
(29.03.2005 в 19:53)
| | User Agent не пустой =) Имеет виду типа
ТАк , что только так и не иначе. | |
|
|
|
|
|
|
|
для: Akira
(30.03.2005 в 00:16)
| | Здорово, Akira у вас нет базы с USER_AGENT-ами сотовых телефонов? Я думаю эта информация была бы интересна всем кто занимается WAP... | |
|
|
|
|
|
|
|
для: cheops
(30.03.2005 в 09:39)
| | Вся база пропала =( НА петерхосте был проект, но он загнулся, а я не услидил. | |
|
|
|
|
|
|
|
для: cheops
(30.03.2005 в 09:39)
| | А что нам мешает создать такую базу?
В любом месте Вашего сайта положить простейший скрипт, который будет сохранять USER_AGENT обратившегося, и Вам, Cheops, как местному авторитету, создать новую тему, типа "Создадим базу!" с не длинным пояснением что к чему и просьбой КО ВСЕМ обратиться к указанному адресу с мобил через WAP. Даже кто не часто ходит на сам форум, получит письмо на мыло, и чего-то мы добьемся! =))
Давайте проведем эксперимент?!.. М? | |
|
|
|
|
|
|
|
для: Sfinks
(02.04.2005 в 01:09)
| | А как мы "заставим" людей заходить со своих мобильных? | |
|
|
|
|
|
|
|
для: Akira
(02.04.2005 в 10:17)
| | Почему ЗАСТАВИМ???...... ПОПРОСИМ!!!
Я же написал - в теме кратко описать зачем это нужно, и ПОПРОСИТЬ открыть адрес.
А скрипт сохранит USER_AGENT и выведет пользователю например "Спасибо за сотрудничество! Результаты будут размещены там-то тогда-то".
За одно и узнаем сколько людей здесь готовы помочь в общем деле.
ОБЩЕМ - потому что, как сказал Cheops, эта база будет очень интересна всем, кого интересует WAP. | |
|
|
|
|
|
|
|
для: Akira
(02.04.2005 в 10:17)
| | Да, здесь нужен именно хорошо-раскрученный WAP-проект, куда тьма народу с разных сотяр ходят - а мы так не сможем отсеять роботов, менеджеров закачки и посетителей с мобил. | |
|
|
|
|
|
|
|
для: cheops
(02.04.2005 в 11:33)
| | Да не нужен здесь проект! Чисто в пределах этого форума! У Вас 700 зарегистрированных пользователей! Просто попросить их обратиться к коду:
<?php
$file = fopen("u_agents.txt", "a");
if($file)
{ fwrite($file, "\n".$_SERVER['USER_AGENT']);
fclose($file);
}
echo "Спасибо за сотрудничество!"
?>
| который, например, будет лежать на www.softtime.ru/sua.php
Человек 50 откликнется, уже что-то.... Хоть названия фирм будут! А додумать (дописать) номера моделей уже можно вручную! Или вообще при проверке (использовании результатов) не проверять номер модели, а проверять только
<?php
if(substr($_SERVER['USER_AGENT'],0,5) == "NOKIA")
// значит ето уже телефон, а следовательно WAP!
?>
|
| |
|
|
|
|
|
|
|
для: Sfinks
(02.04.2005 в 11:49)
| | Да поленятся, я в первую очередь, ведь не все любят WAP, я например терпеть не могу набирать что-то на телефоне (я даже sms-ки через шнурок отправляю с компа) - здесь бы нужен профильный ресурс - какой-нибудь WAP-чат или ещё что-то в этом духе - мы так ловить очень долго будем. | |
|
|
|
|
|
|
|
для: cheops
(30.03.2005 в 09:39)
| | Я могу за пару дней подробнейшую базу составить. Только она не нужна. Я определяю с помощью условий вроде
if (stristr("Samsung",$HTTP_USER_AGENT)) $agent="Samsung";
| - 20 условий ВПОЛНЕ хватает. | |
|
|
|
|
|
|
|
для: OZ
(09.06.2005 в 00:59)
| | Согласен, списка производителей достаточно!
А он у тебя имеется?.... Такой, чтобы никого не забыть....
Если есть, выложи плиз =)) | |
|
|
|
|
|
|
|
для: Sfinks
(10.06.2005 в 12:04)
| |
<?php
Function telname($agent)
{
If (strpos($agent, "/")>0) $agent=substr($agent,0,strpos($agent, "/"));
$agent=strtoupper($agent);
If (stristr($agent, "ERICSSON")) $name="Ericsson";
If (stristr($agent, "SONYERICSSON")) $name="SonyEricsson";
if (stristr($agent, "NOKIA")) $name="Nokia";
if (stristr($agent, "SAMSUNG") || stristr($agent, "SEC-")) $name="Samsung";
if (stristr($agent, "SIE")) $name="Siemens";
if (stristr($agent,"MOT")) $name="Motorola";
If (stristr($agent, "LG ") || stristr($agent, "LG-")) $name="LG";
if (stristr($agent, "SHARP")) $name="Sharp";
if (stristr($agent, "ALCATEL")) $name="Alcatel";
if (stristr($agent, "PANASONIC")) $name="Panasonic";
if (stristr($agent, "SAGEM")) $name="Sagem";
if (stristr($agent, "PANTECH")) $name="Pantech";
if (stristr($agent, "NEC")) $name="NEC";
if (stristr($agent, "BENQ")) $name="BenQ";
return $name;
}
?>
|
| |
|
|
|
|
|
|
|
для: OZ
(10.06.2005 в 13:19)
| | Да парни, чет вы тут мутите, особенно с проверками. Вот пример простой функции. Для себя накатал за пару минут:
<?
function user_agent_detecter($userep){
$usagent = getenv("HTTP_USER_AGENT");
$usagent = trim(substr($usagent, 0, strpos($usagent,'/')));
$flag = false;
for($i=0; $i<count($userep); $i++){
if(!$flag){
$usagent = eregi_replace($userep[$i], $userep[$i+1], $usagent);
$flag=true;
}else{ $flag = false; }
}
return $usagent;
}
//Вырезаем некрасивые места, чтобы выделить чисто модель телефона:
$userep = array(
'MOT-','Motorola',
'SIE','Siemens',
'Nokia','Nokia ',
'SGH','',
'UP.Browser','',
' MIC', '',
'-', ' '
);
echo user_agent_detecter($userep);
?>
|
Можно сделать определение на тип браузера. Не спорю что мой метод самый лучший. Но в 80% он работает. Пример:
<?
$winserf = array(
'Mozilla',
'Opera'
);
$ua = user_agent_detecter($userep);
if(in_array($ua, $winserf)) echo "Этоне мобила!";
else echo "Модель вашего телефона: ".$ua;
?>
|
На выходе функции имеем:
Nokia 7200 вместо Nokia7200/2.0 (3.110) Profile/MIDP-1.0 Configuration/CLDC-1.0
SAMSUNG X100 вместо SAMSUNG SGH-X100 UP.Browser/6.1.0.6 (GUI) MMP/1.0
Siemens C62 вместо SIE-C62/97
Просто ипонятно, а главное пашет. Тока для фильтрации мобильный броузер или нет нужен список по которому будет идти проверка валидный юзерагент или нет. У меня $winserf но не факт что он лучше, хотя вам решать: составитьсписок основных броузеров или моделей мобил. Каждому свое. | |
|
|
|
|
|
|
|
для: Sfinks
(29.03.2005 в 06:05)
| | Вот я тут пособирал чуть-чуть....
Alcatel-TH4/1.0 UP.Browser/6.2.ALCATEL MMP/1.0
LG-C1100 MIC/WAP2.0 MIDP-2.0/CLDC-1.0
LG-G1600 AU/4.10 Profile/MIDP-1.0 Configuration/CLDC-1.0
LG-G5600 MIC/WAP2.0 MIDP-2.0/CLDC-1.0
MOT-C650/0B.D2.23R MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.0
Motorola-E365 UP.Browser/6.1.0.7.3 (GUI) MMP/1.0
MOT-V600/0B.09.38R MIB/2.2 Profile/MIDP-2.0 Configuration/CLDC-1.0
Nokia3100/1.0 (03.10) Profile/MIDP-1.0 Configuration/CLDC-1.0
Nokia7200/2.0 (3.110) Profile/MIDP-1.0 Configuration/CLDC-1.0
Nokia7210/1.0 (5.52) Profile/MIDP-1.0 Configuration/CLDC-1.0
SAMSUNG SGH-X100 UP.Browser/6.1.0.6 (GUI) MMP/1.0
SAMSUNG-SGH-E100/T2 UP.Browser/6.1.0.6 (GUI) MMP/1.0
SAMSUNG-SGH-X100/PEARL UP.Browser/6.1.0.6 (GUI) MMP/1.0
SEC-SGHC100/1.0 UP.Browser/5.0.5.1 (GUI)
SIE-C62/97
SIE-C65/25 UP.Browser/7.0.0.1.c.3 (GUI) MMP/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.1
SIE-CX65/12 UP.Browser/7.0.0.1.c.3 (GUI) MMP/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.1
SIE-MC60/13 Profile/MIDP-1.0 Configuration/CLDC-1.0 UP.Browser/6.1.0.7.3 (GUI) MMP/1.0
SonyEricssonT68/R201A Profile/MIDP-1.0 Configuration/CLDC-1.0
TTPCom WAP
|
Будет еще, дополню!
А кто все же не поленится, загрузите через WAP страницу http://ua.bol.org.ru
Заодно получите ссылку на бесплатную JAVA-игру =)) | |
|
|
|
|
|
|
|
для: Sfinks
(02.04.2005 в 16:10)
| | Вот еще....
BOL-LOADER
MOT-C380/0B.D2.23R MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.0
MOT-C650/0B.D2.23R MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.0
Nokia3120/1.0 (05.91) Profile/MIDP-1.0 Configuration/CLDC-1.0
PHILIPS 530 / Obigo Internet Browser 2.0
SAMSUNG-SGH-X600/K3 UP.Browser/6.1.0.6 (GUI) MMP/1.0
SEC-SGHC100G/1.0 UP.Browser/5.0.5.1 (GUI)
SIE-C60/25 Profile/MIDP-1.0 Configuration/CLDC-1.0 UP.Browser/6.1.0.7.3 (GUI) MMP/1.0
SonyEricssonT230/R101
SonyEricssonZ600/R601 Profile/MIDP-1.0 Configuration/CLDC-1.0
|
| |
|
|
|
|
|
|
|
для: Sfinks
(03.04.2005 в 03:45)
| | а у меня есть вот такой:
Mozilla/4.1 (compatible; MSIE 5.0; Symbian OS; Nokia 6600;422) Opera 6.10 [ru]
|
| |
|
|
|
|
|
|
|
для: Loki
(10.06.2005 в 13:31)
| | А это не КПК? | |
|
|
|
|
|
|
|
для: Loki
(10.06.2005 в 13:31)
| | Это или с компа зашли или со смартфона. Разницы для представления контента нет - если как Mozilla умеет идентифицироваться, значит и WEB-контент отобразит. | |
|
|
|
|
|
|
|
для: OZ
(10.06.2005 в 13:57)
| | Эх-хе-хе зря вы так. Производителей много ох как много ;)
Сони еще маскиуреться под SE =)
Symbian или WM вам вообще может не сообшить какой телефон ;) | |
|
|
|
|
|
|
|
для: Akira
(10.06.2005 в 14:23)
| | кому нужна база??? качайте
http://xwap.org/user.txt | |
|
|
|
|
|
|
|
для: skor
(31.10.2005 в 20:11)
| | Да парни, чет вы тут мутите, особенно с проверками. Вот пример простой функции. Для себя накатал за пару минут:
<?
function user_agent_detecter($userep){
$usagent = getenv("HTTP_USER_AGENT");
$usagent = trim(substr($usagent, 0, strpos($usagent,'/')));
$flag = false;
for($i=0; $i<count($userep); $i++){
if(!flag){
$usagent = eregi_replace($userep[$i], $userep[$i+1], $usagent);
$flag=true;
}else{ $flag = false; }
}
return $usagent;
}
//Вырезаем некрасивые места, чтобы выделить чисто модель телефона:
$userep = array(
'MOT-','Motorola',
'SIE','Siemens',
'Nokia','Nokia ',
'SGH','',
'UP.Browser','',
' MIC', '',
'-', ' '
);
echo user_agent_detecter($userep);
?>
|
Можно сделать определение на тип браузера. Не спорю что мой метод самый лучший. Но в 80% он работает. Пример:
<?
$winserf = array(
'Mozilla',
'Opera'
);
$ua = user_agent_detecter($userep);
if(in_array($ua, $winserf)) echo "Это не мобила!";
else echo "Модель вашего телефона: ".$ua;
?>
|
На выходе функции имеем:
Nokia 7200 вместо Nokia7200/2.0 (3.110) Profile/MIDP-1.0 Configuration/CLDC-1.0
SAMSUNG X100 вместо SAMSUNG SGH-X100 UP.Browser/6.1.0.6 (GUI) MMP/1.0
Siemens C62 вместо SIE-C62/97
Просто ипонятно, а главное пашет. Тока для фильтрации мобильный броузер или нет нужен список по которому будет идти проверка валидный юзерагент или нет. У меня $winserf но не факт что он лучше, хотя вам решать: составитьсписок основных броузеров или моделей мобил. Каждому свое. | |
|
|
|
|
|
|
|
для: MajoR
(17.02.2006 в 03:04)
| | - | |
|
|
|
|
|
|
|
для: MajoR
(17.02.2006 в 03:04)
| | - | |
|
|
|