Безопасность / Защищающий код в JavaScript

Со всей недавней шумихой о JavaScript и Flash замены HTML5, я хотел знать - Как будет возможно защитить клиентский код js? Конечно, возможно запутать его, но это только сделало бы его немного тяжелее. Кроме того, для игр, которые отправляют рекорды серверу, разве не было бы невероятно легко изменить те очки, прежде чем они будут отправлены на сервер? Я знаю, что даже Флеш-файлы могут декомпилироваться, но они могут быть запутаны, и декомпиляция флэш-памяти не так легка, как изменение данных в JS - могло быть сделано легко с помощью плагина, такого как Firebug. Я хотел бы знать общие представления об этом.

11
задан skaffman 12 June 2010 в 11:30
поделиться

1 ответ

Анализируемый на клиенте Javascript никогда не бывает безопасным на 100%. Всегда будут способы узнать, что он делает. Несколько дней назад я даже видел инструмент, который распаковывает упакованный javascript, поэтому единственное, что вы действительно можете сделать, это использовать "уродливые" имена переменных (или, на самом деле, заставить упаковщик javascript преобразовать ваши "хорошие" имена переменных в короткие / уродливые / ерунда)

Чтобы защитить результаты игры, вы должны переместить часть игровой логики на сервер, чтобы клиент не мог отправлять произвольные результаты.

Подводя итог: не помещайте секреты в код javascript и не доверяйте ничему, исходящему от клиента - независимо от того, было ли это из формы или сгенерировано / отправлено через javascript.

8
ответ дан 3 December 2019 в 10:43
поделиться
Другие вопросы по тегам:

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