|
|
|||||
Регистрация: Jun 2003
Сообщений: 31
|
Ну, вроде бы, на все предидущие вопросы Вы мне ответили, за что огромное Вам спасибо!!! Но вот появился новый вопрос...
Вопрос касаеться безопасности!!! Как в чате передовать логин, чтоб нельзя было его подделать??? Можно передовать в форме отправки сообщения hidden полем, но это небезопасно Каждый умелец может его изменить... Выход один: передовать hidden полем не логин, а его закодированую копию. ВНИМАНИЕ!!! Главный вопрос: подскажите, пожалуйста, способ кодировки логина в нечитаемую строковую переменную так, чтоб имелся обратный алгоритм декодировки. Я себе мыслю это так, при входе в чат, пхп-скрипт кодирует логин и передаёт его чату: http://www.myserver/chat?login="закодированый логин". А в чате перед каждой отправкой сообщения происходит декодировка логина и отправка сообщения... Правильно ли я думаю??? Вот только эта кодировка должна быть очень сложной, чтоб интернет-вредители не смогли её взломать Вообщем, как мне обезопасить свой чат от взлома, а именно от входа в чат под чужими никами. Ответ можно линком на статью... |
|
|||||
"Вождь"
|
кодировка - md5, и вообще все не правильно.
воспользуйся cookie'зами. Сильная весчь =)
__________________
а мы летим орбитами путями не избитыми... |
|
|||||
Регистрация: Jul 2003
Адрес: Санкт-Петербург, Россия
Сообщений: 41
|
ага, насчёт md5 согласен.. сам использовал.
правда он в обратную сторону не расшифровывается, что и хорошо :-) поэтому получается примерно так. логин на самом деле тебя мало интересует.. больше интересует пара логин-пароль. логин можно передавать в открытом виде, ну а пароль надо защищать. я делал так - пароль передаётся зашифрованным по md5, поэтому никакой возможности его расшифровать нет. когда серверный скрипт получает логин и зашифрованный пароль он лезет в базу пользователей и ищет пароль на этот логин, шифрует его по md5 и смотрит, совпал ли результат кодирования с тем, что прислали или нет. а можно сразу в базе хранить уже зашифрованные пароли (чтобы даже если эту базу сопрут, ни один пароль не стал бы известен). в этом случае, правда непонятно, как восстанавливать забытые пароли (дешифровать md5 нельзя, на всякий случай напомню :-)). |
|
|||||
Регистрация: Jun 2003
Сообщений: 31
|
Огромное Вам спасибо!!!
Теперь ещё один вопрос: Есть таблица, в которую заносятся логины посетителей, которые сейчас в чате... Из этой таблице я вывожу в главное окно чата: "Сейчас в чате... Парни:... Девушки:..." Так вот в эту таблицу я вношу данные при входе каждого посетителя. А как мне удалять ихние логины при ихнем выходе из чата??? Как мне произвести "delete from имя_таблицы where login ="$login"" именно при выходе посетителя? Пробывал Java-скриптом, но событие OnUnload такое глюкавое!!! Оно производит удаление чувака из базы даже при обновлении окна(F5), и вообще оно как-то криво работает!!! |
|
|||||
Ветеран форума
|
PaWell
всё неправильно... и передавать с каждой мессагой пароль в мд5 неправильно и вообще подумай ЗАЧЕМ ты пишешь этот чат? гениальный люди придумали IRC так вот возми и лутше напиши клиент на ПХП для ирки... |
|
|||||
Регистрация: Jul 2003
Адрес: Санкт-Петербург, Россия
Сообщений: 41
|
2 nagash:
зачем делать голословные утверждения? :-) давайте аргументировать. хотя я согласен, что могут быть проблемы ( например, если перехватывать траффик, то можно утащить пароль), но это самый простой метод. иначе придётся возиться с сессиями (или их эмуляцией собственными силами). чат пишут потому что интересно (по-крайней мере это было так у меня), а так же потому, что irc пусть и хорошо, но не всегда то, что нужно. насколько мне известно, для того, чтобы написать клиент для irc, надо лезть на некие нестандартные порты. а на бесплатных хостингах это запрещается.. я на wallst не могу даже обычный whois сделать - нельзя на 43-ий порт ломиться :-) |
|
|||||
Регистрация: Jul 2003
Адрес: Санкт-Петербург, Россия
Сообщений: 41
|
2 PaWell:
да, это проблема. честно говоря, не знаю, как решить. мне пришлось жить с такой глюкавостью :-) кроме того была кнопка "выход". да... ещё можно при закрытии браузера не делать ничего, а удалять пользователей по тайм-ауту (кстати, решает проблему удаления пользователей при разрыве коннекта, который ты уж точно никаким событием не отловишь). у меня было так: поскольку каждые n секунд запускается получение новых сообщений - эти запросы можно считать посылкой сообщения "я жив", т.е. пользователь ещё в чате. но как только мы не получаем m таких запросов мы считаем, что пользователь либо ушёл, либо у него разорвалась связь - и удаляем его из списка. была даже задумка сделать так, что если не получен один или два запроса, то в чате ник отмечается особым цветом, чтобы другие видели, что этот человек возможно уже отключился. да. всё что я говорю - это из моего личного опыта и не является абсолютно верным :-) просто информация для размышления. |
|
|||||
Ветеран форума
|
Цитата:
|
|
|||||
Регистрация: Jul 2003
Адрес: Санкт-Петербург, Россия
Сообщений: 41
|
я же просил, давайте аргументировать :-) я уже видел три сообщения, содержащие только утверждения, что всё, сказанное выше - неверно, но ни одно из них ничего не говорило о том, что же верно.
можно утверждать, что любое утверждение неверно :-) в том числе и ваши утверждения тоже. |
|
|||||
Ветеран форума
|
Цитата:
это намного проще того что вы тут накрутили... и безопасность на несколько порядков выше... Цитата:
и чего же нет в ирке того что тебе нужно? ну тык добавь... что тебе мешает в твоём чате добавить некие радости... а основной движок - это ирка... Цитата:
Цитата:
грустно... а чтобы скрипт пинги пускал не судьба? |
Часовой пояс GMT +4, время: 17:41. |
|
« Предыдущая тема | Следующая тема » |
|
|