Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > XML || Json


Автор: Diesel Draft 12.7.2007, 23:24
У меня вот проблема, я не знаю что лучше выбрать для чата.  XML универсальная, Но я уже замахался з DOM.
Что предложите?

П.С. Использую prototype

Автор: rene 13.7.2007, 10:03
Использую JSON - очень доволен.

Простой доступ из JS, а не трудоёмкая разборка как c XML.
Лёгкое формирование необходимых структур.

Как-то пробовал на Server-Side разборщик XML из PHP,
тоже весьма трудоёмко(который орентирован на события).

Еще в PHP есть DOM-функции, но он, как пишут, еще
не достигли зрелости и не полностью совместимы  с W3.

JSON библиотека есть для большлго количества языков.



Автор: stup 13.7.2007, 11:17
Если не очень большие объемы данных - то JSON легче.

Автор: SamDark 13.7.2007, 12:25
Diesel Draft, 
prototype-ом с JSON работать вообще хорошо. Можно даже авторазбор сделать.

Автор: Diesel Draft 13.7.2007, 19:51
Сей час сервер написан на PHP и работает через XML. Но можно переделать, это займет пол часа ( Вот она сила ООП smile ).

Меня волнует только 2 вопроса:
1. Безопасность (всетаки evel юзать буду)
2. Совместимость с флешем

Автор: SamDark 16.7.2007, 11:44
Diesel Draft, 
По безопасности... именно у Prototype была проблема недавно. Вроде пофиксили.
У Котерова (http://dklab.ru/lib/JsHttpRequest/) вроде проблем с совместимостью и безопасностью не было.

Автор: Diesel Draft 16.7.2007, 12:28
Думаю тема закрита.

Буду юзать Json  smile 

Автор: Alx 17.7.2007, 00:11
Цитата(Diesel Draft @  13.7.2007,  19:51 Найти цитируемый пост)
1. Безопасность (всетаки evel юзать буду)

не надо eval, читай доки prototype по JSON, там есть встроенные функции, которые перед eval`ом делают ещё некоторые полезные вещи ;)

Автор: Diesel Draft 17.7.2007, 00:38
Спасиб smile

Автор: Kolyaj 17.7.2007, 09:19
Цитата(Diesel Draft @  13.7.2007,  19:51 Найти цитируемый пост)
1. Безопасность (всетаки evel юзать буду)

А в чем проблема? Вы ведь используете ответ от вашего же сервера, составленный вами же. Тут главное не возлагать на JS много обязанностей, только отображение информации, т.к. в любом случае на любой странице можно выполнить произвольный js-код.

Автор: Diesel Draft 18.7.2007, 00:11
гм, надо подумать.

Автор: szz 20.7.2007, 07:05
Для чата, программы, требующей постоянных, частых обменов данными, разумеется нужно делать выбор в сторону JSONa, так как он гораздо компактнее, т.е. ты в итоге будешь посылать гораздо меньше байт туда и обратно. Эвал делать необязательно, используйте либу, предоставленную прям на http://www.json.org/js.html
Но все-таки предпочтительнее использовать эвал, так как он быстрее в десятки раз.
А что касатется "безопасности" - то если чел и захочет что-то вставить в эвал, то навредить он сможет только своей загруженной странице, не более.

Так что даже не думай smile

Автор: Diesel Draft 20.7.2007, 11:24
Принцип чата основан на командах/событиях и ответах. Ними можно делать любые настойки чата. Если у меня на клиенте кто то выполнит скрипт, который пошлет команду настройки, то скрипт на сервере поймет что я админ и меня надо слушаться.

Автор: szz 20.7.2007, 11:28
Если ты не делаешь проверку на пароль/сессию админа, то твой скрипт взломать можно в два счета, делай ты эвал или нет.

Автор: Diesel Draft 20.7.2007, 12:03
Да но скрипт можно выполнить у админа. Например кто то пошлет ему сообщение з хитрым кодом, у него он запустится и пошлет команду на сервер

Автор: szz 20.7.2007, 12:07
Неее, нереально. Ты ведь в любом случае js парсишь на серваке в объект и обратно в стрингифай прежде чем это сообщение дойдет получателю? 
php json_encode/decode'ами или чем там?

Неужели нет? Хм...

Автор: Diesel Draft 20.7.2007, 13:35
Да, конечно, но много данных передается в естественном виде. То есть думаю можно в текст вписать инфекцию. Посмотри как в прототайпе он рендерится  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)