Помогите по чату и мелкому вопросу
| |
Joirik | Дата: Суббота, 09 Ноября 2013, 12:37 | Сообщение # 1 |
был не раз
Сейчас нет на сайте
| Привет всем!Я столкнулся с проблемой чата,я хочу чат чисто на html,php без ajax, как бы я не пытался ,текст ,который игрок отправляет появляется на первой строке чата,а нужно что-бы новые сообщение появлялись внизу после старых ,а у меня наоборот,новое появляется первым,а старые уходят вниз.Помогите ,что делать?И еще вопросик ,как узнавать игрок в онлайне или нет?Просто не все игроки нажимают кнопку "Выход" ,некоторые просто закрывают вкладку.Как организовать ,что б ,при закрытие моей игры в базу строка online менялась на значение 0 ?
Joirik Skype:joiriki
|
|
| |
staconik | Дата: Суббота, 09 Ноября 2013, 13:33 | Сообщение # 2 |
участник
Сейчас нет на сайте
| О проверке на онлайн: С каждым запросом делаешь обновление в строке о специальной, записавая текущее время! И например делаешь скрипт для крона, который будет сверять дату последнего запроса и дату которая сейчас на значительное различие!
|
|
| |
Joirik | Дата: Суббота, 09 Ноября 2013, 13:38 | Сообщение # 3 |
был не раз
Сейчас нет на сайте
| Тяжело и я не понял,а если игрок вообще запросов не делает,просто выключил браузер?
Joirik Skype:joiriki
|
|
| |
lvovand | Дата: Суббота, 09 Ноября 2013, 13:47 | Сообщение # 4 |
старожил
Сейчас нет на сайте
| вставлю 5 копеек про онлайн: можно на сайте включить использование сессий, при авторизации писать в базу идентификатор сессии и потом кроном периодически проверять тех пользователей, у которых статус онлайн на наличие файла этой сессии на сервере, и если файла сессии нет, то обнулять онлайн у данного пользователя.
Разработка и продвижение сайтов. Дизайн
|
|
| |
Step | Дата: Воскресенье, 10 Ноября 2013, 10:25 | Сообщение # 5 |
почетный гость
Сейчас нет на сайте
| Joirik, Ну смотри - sql-запрос у тебя выглядит примерно так: Код select * from `chat` WHERE `id`>'1' ORDER BY `id` DESC - нужно просто убрать DESC
|
|
| |
maker-rus | Дата: Воскресенье, 10 Ноября 2013, 15:15 | Сообщение # 6 |
Гений
Сейчас нет на сайте
| Цитата staconik ( ) О проверке на онлайн: С каждым запросом делаешь обновление в строке о специальной, записавая текущее время! И например делаешь скрипт для крона, который будет сверять дату последнего запроса и дату которая сейчас на значительное различие! Цитата lvovand ( ) вставлю 5 копеек про онлайн: можно на сайте включить использование сессий, при авторизации писать в базу идентификатор сессии и потом кроном периодически проверять тех пользователей, у которых статус онлайн на наличие файла этой сессии на сервере, и если файла сессии нет, то обнулять онлайн у данного пользователя. Тут без js не обойтись, никак, если делать корректно. А не шаманить с cron'ом. (но это в случае, если ты не собираешься использовать php сокеты) Цитата Joirik ( ) Я столкнулся с проблемой чата,я хочу чат чисто на html,php без ajax, как бы я не пытался ,текст ,который игрок отправляет появляется на первой строке чата,а нужно что-бы новые сообщение появлялись внизу после старых ,а у меня наоборот,новое появляется первым,а старые уходят вниз.Помогите ,что делать? клик по ответу
Сообщение отредактировал maker-rus - Воскресенье, 10 Ноября 2013, 15:22 |
|
| |
lvovand | Дата: Воскресенье, 10 Ноября 2013, 16:57 | Сообщение # 7 |
старожил
Сейчас нет на сайте
| если корректно и красиво, то да, лучше совместить с js, а плюс использования сессий, что можно показывать сколько человек на сайте, включая неавторизованных, да и с кроном как-никак лучше пошаманить, кто там знает что пользователь будет творить с джаваскриптом, так что доп.проверка не помешает
Разработка и продвижение сайтов. Дизайн
|
|
| |
maker-rus | Дата: Воскресенье, 10 Ноября 2013, 21:37 | Сообщение # 8 |
Гений
Сейчас нет на сайте
| Цитата да и с кроном как-никак лучше пошаманить, кто там знает что пользователь будет творить с джаваскриптом, А php по твоему для чего? Что бы проверить и выполнить. Цитата lvovand ( ) а плюс использования сессий, что можно показывать сколько человек на сайте, Можно обычным запросом SQL вывести кол-во онлайна и записать в кэш. Это по хорошему. Сессии тут не уместны. (особенно если проект будет популярным) Их можно использовать,но для пользовательских данных, но никак не для онлайна. (потому что сессии дают нагрузку на сервер,а просчитывать каждый браузер или вкладку, открытую пользователем, т.е открытую сессию слишком затратно по ресурсам.)
Сообщение отредактировал maker-rus - Воскресенье, 10 Ноября 2013, 21:51 |
|
| |
lvovand | Дата: Воскресенье, 10 Ноября 2013, 21:58 | Сообщение # 9 |
старожил
Сейчас нет на сайте
| Цитата maker-rus ( ) А php по твоему для чего? Что бы проверить и выполнить. ну так и будет исполняться php-код, только точно знаешь когда вызван
и с чего вдруг сессии не уместны? особенно что в цитату не включил дополнение про неавторизованных, для определения пользователей на сайте вполне уместно смотреть наличие сессий
Разработка и продвижение сайтов. Дизайн
|
|
| |
maker-rus | Дата: Воскресенье, 10 Ноября 2013, 22:14 | Сообщение # 10 |
Гений
Сейчас нет на сайте
| Что ты подразумеваешь под этим? Цитата ну так и будет исполняться php-код, только точно знаешь когда вызван Цитата lvovand ( ) и с чего вдруг сессии не уместны? В том, что сессия сама не закрывается, если вы не подозревали! Её нужно уничтожить принудительно. С неавторизованными, та же история (алсо временный аккаунт). P.S. Почему нужно создавать временный аккаунт, потому что иди .... почитай про ddos атаки. Если не создавать временные аккаунты, сервер на каждый запрос будет создавать сессию и любой хак-мастер (алсо школьник), сможет "задудосать" сервер тремя окошками cmd.exe с командой ping.
Сообщение отредактировал maker-rus - Воскресенье, 10 Ноября 2013, 22:14 |
|
| |
lvovand | Дата: Воскресенье, 10 Ноября 2013, 22:31 | Сообщение # 11 |
старожил
Сейчас нет на сайте
| Цитата maker-rus ( ) Что ты подразумеваешь под этим? Цитата ну так и будет исполняться php-код, только точно знаешь когда вызван
какую команду задашь крону, такую он и будет выполнять, php-скрипт, так php, что тут еще подразумевать
Цитата maker-rus ( ) ессия сама не закрывается, если вы не подозревали! Её нужно уничтожить принудительно. вот здесь не понял, есть время жизни файла сессии, которым можно управлять. Если к файлу не обращаются, все удалится, ну либо сервер где-то криво настроен.
ddos - это отдельная тема, видел воочию, временными аккаунтами вопрос не решишь, если будет куча временных аккаунтов, то точно также все может поехать. Это уже больше к вопросу про настройку сервера и про фильтр трафика входящего
Разработка и продвижение сайтов. Дизайн
|
|
| |
maker-rus | Дата: Воскресенье, 10 Ноября 2013, 23:25 | Сообщение # 12 |
Гений
Сейчас нет на сайте
| Цитата lvovand ( ) какую команду задашь крону, такую он и будет выполнять, php-скрипт, так php, что тут еще подразумевать Про асинхронный запрос не слышали? Или про сокеты? Цитата lvovand ( ) вот здесь не понял, есть время жизни файла сессии, которым можно управлять. Представил, как файл медленно стареет, созывает другие файлы, что бы написать завещание,а потом умирает, страшная картина, полная трагизма. По поводу управления файлами сессии, не каждый хостинг позволяет ковыряться в php.ini это раз, не на каждом хостинге есть cron, это два, зависания и блокирование сессий никто не отменял, это три, самопроизвольные закрытия сессий, при больших нагрузках, это четыре, можно так перечислять до бесконечности, сессии более уязвимы к атакам мастер-хакеров(алсо школьников).
Сообщение отредактировал maker-rus - Воскресенье, 10 Ноября 2013, 23:31 |
|
| |
lvovand | Дата: Понедельник, 11 Ноября 2013, 00:42 | Сообщение # 13 |
старожил
Сейчас нет на сайте
| ну в таком русле только холиварство пойдет, выяснится что и php вообще никуда не годен и так далее.
Хостер нехороший все запрещает - ну так взять другого, или взять впс и рулить полностью самому настройками. Асинхронные запросы - запросы откуда и куда имеете в виду? AJAX предложили уже, для чата хорошо впишется. Сокеты - может и вариант, а вдруг "нехороший" хостер не разрешит сокеты
Цитата maker-rus ( ) Представил, как файл медленно стареет, созывает другие файлы, что бы написать завещание,а потом умирает, страшная картина, полная трагизма. талант писательский, улыбнуло. А добавьте к этому еще настройку управления вызовом вероятности вызова сборщика мусора и вообще роман написать можно.
Большие нагрузки - там столько повылазить может, и момент с сессиями не самый страшный, а вот сокеты могут повесить вполне при больших нагрузках. Уязвимость сессий - как минимум несложные дополнительные привязки (привязать ip, тот же заголовок браузера)
Разработка и продвижение сайтов. Дизайн
Сообщение отредактировал lvovand - Понедельник, 11 Ноября 2013, 00:48 |
|
| |
maker-rus | Дата: Понедельник, 11 Ноября 2013, 00:47 | Сообщение # 14 |
Гений
Сейчас нет на сайте
| Цитата lvovand ( ) Уязвимость сессий - как минимум несложные дополнительные привязки (привязать ip, тот же заголовок браузера) А если например вы, в интернет-кафе, с другом попытаетесь зайти в этот чат? Что тогда? Будете по очереди сидеть в нем?
Сообщение отредактировал maker-rus - Понедельник, 11 Ноября 2013, 00:49 |
|
| |
lvovand | Дата: Понедельник, 11 Ноября 2013, 00:54 | Сообщение # 15 |
старожил
Сейчас нет на сайте
| Цитата maker-rus ( ) А если например ты в интернет-кафе с другом попытаешься зайти в этот чат? Что тогда? Будете по очереди сидеть в нем?
скажу больше, в таких местах куча инфы и перехватывается.
просто в данном конкретном примере: чате, что уж такого страшного: друг перехватит трафик, вычленит мою сессию, и как бы от меня початится, ну это конечно велика беда и друг будет считать себя мегахакером
Разработка и продвижение сайтов. Дизайн
|
|
| |
maker-rus | Дата: Понедельник, 11 Ноября 2013, 01:10 | Сообщение # 16 |
Гений
Сейчас нет на сайте
| Цитата lvovand ( ) просто в данном конкретном примере: чате, что уж такого страшного: друг перехватит трафик, вычленит мою сессию, и как бы от меня початится, ну это конечно велика беда и друг будет считать себя мегахакером А вот например я не хочу, что бы мой друг чувствовал себя мегахакером, потому что ему это может понравится, он займётся этим в серьёз и может сесть в тюрьму и все из за, какого-то, чата. У меня бы пропало желание общаться в этом чате, зная, что мой аккаунт - "проходной двор" для всех остальных людей в кофе, соседей ворующих твой wifi, коллег на работе.
Сообщение отредактировал maker-rus - Понедельник, 11 Ноября 2013, 01:11 |
|
| |
lvovand | Дата: Понедельник, 11 Ноября 2013, 01:31 | Сообщение # 17 |
старожил
Сейчас нет на сайте
| maker-rus, "я не хочу, что бы мой друг чувствовал себя мегахакером" - подарите ему УК на день рождения. Вы же понимаете, что сидя в интернет-кафе, весь ваш трафик могут вычленить и сидеть его разбирать долгими осенними вечерами. Вопрос то в том, что ваш друг изначально знает, что вы рядом, именно сейчас находитесь в этом чате, при том друг безпалевно запускает софт, сканирующий трафик.
А остальным людям зашедшим в кафе откуда знать на каком вы сайте, что там делаете и так далее. Вопрос безопасности обширный, бывает что делают сейфовую дверь и стены железобетонные, но забывают крышу положить или оставляют окно открытым. Простой пример, уйти из интернет-кафе, и браузер совсем не закрыть, ну или закрыть, не разлогинившись на сайте перед этим.
Разработка и продвижение сайтов. Дизайн
|
|
| |
maker-rus | Дата: Понедельник, 11 Ноября 2013, 01:52 | Сообщение # 18 |
Гений
Сейчас нет на сайте
| Цитата lvovand ( ) "я не хочу, что бы мой друг чувствовал себя мегахакером" - подарите ему УК на день рождения. Вы же понимаете, что сидя в интернет-кафе, весь ваш трафик могут вычленить и сидеть его разбирать долгими осенними вечерами. Вопрос то в том, что ваш друг изначально знает, что вы рядом, именно сейчас находитесь в этом чате, при том друг безпалевно запускает софт, сканирующий трафик.
А остальным людям зашедшим в кафе откуда знать на каком вы сайте, что там делаете и так далее. Вопрос безопасности обширный, бывает что делают сейфовую дверь и стены железобетонные, но забывают крышу положить или оставляют окно открытым. Простой пример, уйти из интернет-кафе, и браузер совсем не закрыть, ну или закрыть, не разлогинившись на сайте перед этим. Может быть нужен закон запрещающий интернет в интернет-кафе, что бы мы чувствовали себя в безопасности? А если серьёзно, то разработчик должен заботиться о своих пользователях и не использовать то, что может нарушить безопасность пользователя. А то я представляю, десяток посетителей в интернет кафе накрытые куртками, тряпками, что бы другие посетители не увидели, где они сидят, или сделать как кабинки в туалете, но в вашу кабинку ещё и чай/кофе с какой-нибудь едой приносят
Сообщение отредактировал maker-rus - Понедельник, 11 Ноября 2013, 01:54 |
|
| |
lvovand | Дата: Понедельник, 11 Ноября 2013, 02:33 | Сообщение # 19 |
старожил
Сейчас нет на сайте
| maker-rus, до абсурда можно довести что угодно, я не параноик, но в интернет кафе чувствовать себя в безопасности никак не могу. И опять же, накрылись куртками и тряпками, но весь ваш трафик спокойно можно отследить, да плюс отследить то, что на клавиатуре набираете.
Да и речь не об этом, для задачи ТС не надо лезть в такие дебри, а потанцевать с работой и настройкой сессий вполне полезно, как и с кроном и со сборщиком мусора. Из предложенных вариантов сам будет в состоянии выбрать, в идеале разобраться и с сокетами, и с сессиями, и с аяксом. Чтобы потом самому выбирать нужное решение под конкретную задачу
Разработка и продвижение сайтов. Дизайн
|
|
| |
|