Я разрабатываю JavaScript-игру. Мне нужно вставить некоторые данные (например, оценка, время, уровень и т. Д.) В базу данных.Проблемы с безопасностью при отправке переменной с Javascript на PHP
сделать это я могу использовать JavaScript в следующем:
function jsFunction() {
var jsScore = 1000;
window.location.href = "file.php?score=" + jsScore;
}
И в PHP файл я мог бы использовать $_GET['score'];
Но выглядит таким образом не защищен, пользователь может изменить счет в адресной строке в браузере. Я ошибаюсь?
Как я могу сделать это более безопасным способом?
Любая информация, поступающая от клиента, не может быть неотъемлемо надежной. Вы должны иметь возможность проверить в серверном коде, что это значение приемлемо. – David
@ Давид благодарит вас за ваше время. О проверке на стороне сервера, которую я слышал раньше, но у меня нет идей, как это должно быть сделано. Как я могу проверить, например, счет на стороне сервера? Не могли бы вы дать мне несколько советов? – Infinity
Поскольку это довольно широкий вопрос, я могу дать только широкий ответ. Но в основном серверный код должен отслеживать значения, которые вы не хотите, чтобы пользователь мог изменять. Клиентский код может использовать эти значения для удобства, но «источник правды» должен быть серверным. Так, например, расчет «оценка», вероятно, будет выполняться на стороне сервера. Клиентский код может отправлять события на сервер, а серверный код возвращает результаты этих событий (например, обновленный балл). – David