"грехопадение" или injection в играх...

Sep 21, 2009 17:56

/* почти по мотивам книги Ховарда "19 смертных грехов..." */

Только что в одном NDA-проекте обнаружилась презабавнейшая ошибка.
Что имеем:
  1. Игрокам предоставляется возможность ввода имён профилей.
  2. В коде игры есть функционал, отвечающий за интерпретацию тегов в текстовых строках-шаблонах, влияющих на цвет шрифта (для определённых подстрок).
  3. В игре не включена проверка на ввод спецсимволов в окне создания профиля.
  4. При удалении профиля отображается диалог для подтверждения, включающий в текст вопроса имя удаляемого профиля.
Сейчас можно "поиграться" именем профиля так, что оно будет трактоваться как тег-раскраска. В результате чего ломается имя профиля в диалоге подтверждения. А во-вторых, поломанное имя может выводиться разными цветами. Например, синим, красным, розовым и даже прозрачным... Т.к. закрывающего тега никто не вводит, то данный эффект распространяется и на остаток текста-шаблона с вопросом, выводимого после имени игрока.

ЗЫ
Но самое смешное заключается в том, что на данный момент не получается выделить цветом имя профиля штатными средствами в самой игре. Но мы-то знаем, что чудес не бывает...

fun, gamedev, qa, dev, life, game

Previous post Next post
Up