Карусель тем сервиса MYBB2.Ru
Ссылка на тему: http://silverforum.mybb2.ru/viewtopic.php?t=51

Как показать состояние ICQ на своей домашней странице Введение Если у в

 
Как показать состояние ICQ на своей домашней странице
Введение

Если у вас есть своя домашняя страница, и вы хотите получать обратный ход от ее посетителей, то вы наверняка поместите на нее свои координаты - email, номер ICQ и так далее. Довольно забавной фичей может быть показ значка вашего состояния в ICQ, как минимум - информация о том, находитесь вы прямо сейчас в сети или нет.... (тут можно еще написать различной пурги, но мне пока лень :)) ).

Старым решением было использовать скрипт от Мирабилис - была у них такая программка, которая отсылала по сети картинку с обозначением состояния пользователя, причем был выбор из картинок разного стиля, а они могли сообщать не только "онлайн/оффлайн", но и дополнительные состояния типа Away, DND и так далее. Для использования такой удобной фичи было достаточно вставить на страницу тег вроде:

Увы, всему хорошему приходит конец, и эта программка была прибита. Не знаю, из каких соображений - безопасности (чтобы спамерам было сложнее видеть пользователей в сети?), или быстродействия - но теперь этот код показывает нечто бесполезное.

Новый способ, изобретенный мной, заключается в использовании ICQ Web Front и собственного PHP-скрипта. Web Front - это плагин к Аське, превращающий ее в мини вебсервер. То есть, при подключении Аськи к сети, на вашем компьютере появляется маленький вебсайт, на который другие пользователи могут попасть, используя перенаправление:
http://members.icq.com/ваш-номер-ICQ
Сразу после установки Web Front, этот мини-сайт генерируется в некотором виде по умолчанию. С него другие люди могут видеть ваши данные и скачивать специально выделенные вами файлы.

Минусом использования Web Front является то, что люди могут видеть ваш сетевой адрес (IP), т.е. злобный хакер - ваш враг (буде таковому случится) может атаковать ваш компьютер. Другая проблема - если у вас медленное соединение с сетью, посетители Web Frontа могут забивать канал, что тоже обидно. В общем, рекомендую держать на компьютере firewall. Кстати, можно заблокировать файрволом доступ к Web Front, тогда на него никто не сможет зайти, но для определения вашего сетевого статуса это неважно :)))

Идея заключается в том, что в зависимости от того, в сети вы или нет, http://members.icq.com/ваш-номер-ICQ возвращает либо перенаправление (фреймами) на ваш мини-сайт (если ICQ включена), либо сообщение "веб фронт недоступен" (если ICQ выключена). Ваш сайт может сделать соответствующий запрос, проанализировать полученный ответ и вывести "ONLINE" или "OFFLINE" посетителю.
Конкретный алгоритм
Установите ICQ Web Front. Эта фича есть только в новых версиях аськи (2002), поэтому рекомендую скачать самую последнюю. Инструкции далее относятся к ICQ 2002a:
В Аське: My ICQ - Add/Remove Features - Install new Features
Выделите Web Front и скажите Add Features. Аська скачает и установит плагин.
Если у вас на компьютере есть другой вебсервер или прокси, надо поменять порт, на котором будет "сидеть" веб фронт: Services - My ICQ Web Front - Customize My ICQ Web Front - Advanced - Web Server Port Number. Установите порт на другое значение, например, 90.
Включите ICQ Web Front, нажав Services - My ICQ Web Front - Activate My ICQ Web Front.
Проверьте, работает ли ваш Web Front, открыв http://members.icq.com/ваш-номер-ICQ (например, http://members.icq.com/110345832) в любом браузере. Должна появится симпатичная страничка в аськином стиле, с вашим статусом и информацией.
На веб сайт положите скрипт, который будет анализировать страницу http://members.icq.com/ваш-номер-ICQ и выдавать соответствующее сообщение. Вот пример такого скрипта на PHP4, выводящего сообщение о вашем состоянии прямо в текст веб страницы:

[code:1> // ICQ Web Front Activity Detector 1.0 by Sergey A. Galin, 2002
// http://sergey_galin.chat.ru

$icq="110345832"; // Change this to your ICQ number

$front="http://members.icq.com/$icq";
$linkto="http://wwp.icq.com/$icq";

$f=@fopen($front, "rt");
$tx=@fread($f, 1024);

echo
" "Щелкните, чтобы открыть мой персональный Центр Сообщений ICQ",
"">Мой текущий статус ICQ: ";
if(!strlen($tx))
echo "определить не удалось";
else
if(strstr($tx, else
echo "OFFLINE";
echo "
";

?>[/code:1>
Минусами этой версии является то, что она должна быть установлена непосредственно на сайте (который должен еще поддерживать PHP), и то, что в случае проблем со связью между сервером страницы и ICQ страница дольше грузится. Можно избежать этого, положив этот код в отдельный файл и загрузив его внутрь страницы внутри inline frame (тег iframe).
Другая версия скрипта, использующая картинки, есть на этом сайте. Вы можете использовать ее так:
[code:1>
width=88 height=31 alt="Мой статус ICQ" border=0>[/code:1>
Но не забудьте сначала настроить свой ICQ Web Front!

Ссылка на тему: http://silverforum.mybb2.ru/viewtopic.php?t=51



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

создать форум