Я довольно новичок в разработке веб-сайтов и недавно, наконец, сумел прописать простую онлайн-игру, используя javascript. Первоначальный метод, который я использовал для управления системой высоких баллов, состоял в том, чтобы передать серию javascript vars в HTML-форму, прежде чем отправлять на скрипт php (например, javascript> HTML (форма)> PHP> DB):Защита от взлома игры Javascript
Javascript:
var score = 345345; //score after playing game
document.theform.score.value = score;
document.theform.submit();
HTML:
<form name="theform" action="scorehandler.php" method="post">
<input name="score" type="hidden" value="">
</form>
Используя этот метод, однако позволяет пользователю легко взломать путем воссоздания формы и представления сами по себе.
Я понимаю, что обычный подход, чтобы запретить пользователям от взлома, вероятно, сделать как можно больше кодирования на стороне сервера, как это возможно (т.е. использование PHP, чтобы заменить как можно больше кода, насколько это возможно), но это похоже, что это может представлять некоторые потенциальные проблемы для игры особенно (например, синхронный характер php)
Есть ли способ как-то скрыть форму html (и соответствующие javascript-вары) с клиентской стороны без необходимости перекодировать все в php ? Или есть некоторые другие стандартные обходные пути?
Любая помощь очень ценится!
Javascript/HTML должны рассматриваться оказанной и доступны через браузер, так нет методов их обеспечения. Вы можете пойти на безопасность через обфускацию, но это, как правило, не работает слишком хорошо. –
нет способов защитить html и js, поскольку они отображаются на стороне клиента, но для предотвращения подачи вредоносной формы вы можете использовать токен CSRF, и есть много других способов предотвращения вредоносных входов. –
Связанные записи: http://stackoverflow.com/questions/3531968/why-is-client-side-validation-a-security-risk-as-opposed-to-server-side-validati http://stackoverflow.com/questions/13942498/should-you-validate-server-side-if-youre-validating-client-side - особенно второй. «Никогда не доверяйте никому, что приходит из браузера». Пользователь имеет полный контроль над своим браузером. Они могут подделывать что угодно. – Sumurai8