Библиотека/драгоценный камень Ruby для игровой графики?

Да, cookie только для HTTP были бы хорошо для этой функциональности. Им все еще предоставят запрос XmlHttpRequest к серверу.

В случае Переполнения стека, cookie автоматически обеспечиваются как часть запроса XmlHttpRequest. Я не знаю детали реализации поставщика аутентификации Переполнения стека, но что cookie-данные, вероятно, автоматически используются для проверки идентификационных данных на более низком уровне, чем метод контроллера "голосования".

В более общем плане, cookie не требуются для Ajax. Поддержка XmlHttpRequest (или даже iframe дистанционная работа, на более старых браузерах) является всем, что технически требуется.

Однако, если Вы хотите обеспечить безопасность для Ajax, добавил функциональность, тогда те же правила применяются как с традиционными сайтами. Вам нужен некоторый метод для идентификации пользователя позади каждого запроса, и cookie являются почти всегда средствами с этой целью.

В Вашем примере, я не могу записать в Ваш document.cookie, но я могу все еще украсть Ваш cookie и отправить его на мой домен с помощью объекта XMLHttpRequest.

XmlHttpRequest не выполнит междоменные запросы (для точно видов причин, которых Вы касаетесь).

Вы могли обычно вводить сценарий для отправки cookie в домен с помощью iframe дистанционную работу, или JSONP, но тогда только для HTTP защищает cookie снова, так как это недоступно.

, Если Вы не поставили под угрозу StackOverflow.com на стороне сервера, Вы не будете в состоянии украсть мой cookie.

Редактирование 2: Вопрос 2. Если цель Http-только состоит в том, чтобы предотвратить доступ JavaScript к cookie, и можно ли все еще получить cookie через JavaScript через Объект XmlHttpRequest, какой смысл Http-только?

Рассматривают этот сценарий:

  • я нахожу, что авеню вводит код JavaScript в страницу.
  • Jeff загружает страницу, и мой злонамеренный JavaScript изменяет его cookie для соответствия моему.
  • Jeff отправляет звездный ответ на Ваш вопрос.
  • , поскольку он отправляет его с моими cookie-данными вместо его, ответ станет моими.
  • Вы голосуете за "мой" звездный ответ.
  • Моя реальная учетная запись понимает.

С cookie только для HTTP, второй шаг был бы невозможен, таким образом, победив мою попытку XSS.

Редактирование 4: Извините, я подразумевал, что Вы могли отправить XMLHttpRequest в домен StackOverflow, и затем сохранить результат getAllResponseHeaders () к строке, regex cookie, и затем отправить это на внешний домен. Кажется, что Википедия и ha.ckers соглашаются со мной на этом, но я любил бы быть перевоспитанным...

Это корректно. Вы можете все еще налет сессии тот путь. Это делает значительно тонкий стадо людей, которые могут успешно выполниться даже, что XSS взламывают против Вас все же.

Однако, если Вы возвращаетесь к моему сценарию в качестве примера, Вы видите, где только для HTTP делает , успешно отключает нападения XSS, которые полагаются на изменение (весьма распространенных) cookie клиента.

Это сводится к тому, что a) никакое единственное улучшение не решит весь уязвимости и b) никакая система не будет никогда быть абсолютно безопасной. Только для HTTP полезный инструмент в укреплении против XSS.

Точно так же даже при том, что перекрестное доменное ограничение на XmlHttpRequest не на 100% успешно в предотвращении всего использования XSS, Вы все еще никогда не мечтали бы об удалении ограничения.

14
задан bennybdbc 9 November 2009 в 08:11
поделиться

3 ответа

Возможно, вы могли бы попробовать использовать Gosu , который представляет собой библиотеку разработки 2D-игр для языков программирования Ruby и C ++, доступную для Mac OS X, Windows и Linux. .

Доступен как самоцвет. Дополнительная информация здесь

Вы также можете посмотреть забавную презентацию, которую я видел в Барселоне во время Euruko (конференции по рубинам). Доступно Здесь

9
ответ дан 1 December 2019 в 12:26
поделиться

Помимо Госу, упомянутого в другом месте, существует Rubygame , который, кажется, также регулярно обновляется.

Нет мнения ни по одному из них, предлагается в качестве альтернативы для сравнения.

ОБНОВЛЕНИЕ: На блоке появился новый (непонятный?) Ребенок: Рэй . Это могло показаться довольно графически ориентированным.

10
ответ дан 1 December 2019 в 12:26
поделиться

Shoes будет хорошим кандидатом, он очень легкий, кроссплатформенный и забавный

У него есть хороший Ruby API, который вы можете использовать для рисования фигур и использования собственных виджетов GUI.

4
ответ дан 1 December 2019 в 12:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: