Издательский дом ООО "Гейм Лэнд"ЖУРНАЛ ХАКЕР #62, ФЕВРАЛЬ 2004 г.

Instant Messaging: строим свой клиент

Косякин Антон

Xakep, номер #062, стр. 062-118-4


Чуть не забыл

Безопасность! За ней следи с самого начала. Даже если ты не собираешься показывать свое творение широкому кругу людей, а делаешь только для себя, все равно следи за безопасностью. Это действительно важно, поверь. Применяя это правило для проектирования систем обмена сообщениями, даю два совета. Совет первый: никогда не передавай пароль в открытом виде и используй хеш-функции. Идеальный вариант - откопай в интернете исходники программы md5sum и пользуйся этим кодом для "шифрования" передаваемого при авторизации пользователем пароля. Таким образом, знать его будет только обладатель, а в базе данных сервера будет сохранен только некоторый набор символов. Восстановить же сам пароль можно будет только при помощи брутфорса.

Второй совет: после авторизации пользователя в системе введи некоторый идентификатор сессии, который будут знать только клиент и сервер. А все последующие передаваемые пакеты помечай этим идентификатором: включай его в заголовок, используй в качестве ключа для расшифровки и т.д. Человечество скажет тебе спасибо! :)

Заключение

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

Готовые клиенты

Могу предложить тебе скачать готовые клиенты вместе с исходниками. Вот список урлов, который может оказаться полезным:

www.miranda-im.org

Весьма популярный клиент среди win-пользователей. Распространяется по лицензии GNU GPL, т.е. кто угодно может скачать сорсы и делать с ними что захочет.

gnomeicu.sourceforge.net

Никсовые исходники популярного клона ICQ – GnomeICU. Требует GTK.

www.licq.org

Один из самых распространенных никсовых ICQ-клиентов. Есть версии и под QT, и под GTK.

Какие радости еще можно получить?

Если ты будешь обладателем IM-системы с количеством пользователем, превышающим десятки тысяч, то у тебя появится возможность проводить занятные рассылки в своей системе. А за них ты также сможешь получать свой баблос. К тому же у тебя будет храниться база паролей пользователей. А это весьма ответственная штука. Ведь у многих юзеров пароли одинаковые на все сервисы. Так что тут есть о чем подумать.

WARNING

Все вышеизложенное - мое сугубо личное мнение. Это мои проблемы, с которыми столкнулся лично я. И варианты решений проблем также придуманы мной. Поэтому я не претендую на правильность и оптимальность предложенных действий.

INFO

Мой проект называется Чижик-Пыжик. Сейчас уже написаны серверная и клиентская части, но все это находится в стадии жесткого тестирования.

Назад на стр. 062-118-3  Содержание