Максимально защитить GET запросы

1.2K
.
Разве это реально? GET это параметры в строке. Я всегда смогу в GET всё, что угодно намулевать. Да и в пост через сокет можно пулять, если расковырять что POST отправляет (ключи массива). Тут только фильтрация данных. Велосипеда нет. Пускай рисуют и отправляют, что хотят. Просто проверяй что шлют и фильтруй принятое, прежде чем использовать.
.
ТС пусть подделывают, тебе что с того? Просто проверяй эти параметры на сервере.
Например: есть какой-то объект находящийся на клетке а1 твой скрипт об этом знает, объект может переместится только на одну клетку а2, б1 или б2, т.е другого быть не должно. и вот если клиент находясь на клетке а1 начинает передавать параметры отличные от а2, б1 или б2, то клиенту отправляется инфа о кукише с маслом.
.
По моему автору надо профиксить подмену данных, что бы клиент не мог скажем начислить себе вместь 100 баллов 1000
.
╭∩╮ (`-`) ╭∩╮
ramzes (26.06.2012/10:05)
По моему автору надо профиксить подмену данных, что бы клиент не мог скажем начислить себе вместь 100 баллов 1000
Полюбому, как правильно говорилось выше, нужно проверять абсолютно ВСЕ данные, пришедшие от клиента.
Что бояться GET? От него ведь нужно передать данные в некоторые фиксированные переменные.
Вот эти данные после приема нужно и проверять.
А что касается игровой логики, это нужно проверять отдельно, тут уже все зависит от игрового алгоритма.
---
Хотя меня терзают смутные сомнения.
Если автор не уверен насчет того, как правильно фильтровать запросы от клиента (опытные кодеры это давно знают), вряд ли он асилит грамотное написание игровой логики...
.
AlkatraZ, Я пишу на j2me, ище один кодер на рhр пишет.
Как проверить то? К примеру шлем вес рыбы 500гр, макс вес рыбы 550гр... Не хватает к победе 1 грама, шлем 501гр. И как тут быть тогда?
Данные мож шифровать своим алгоритмом?
Использовать мож пароль при передаче, не один, а сменный?
.
да просто проверяй все входящие параметры, от подделки ты не защищищся, я сам ламал яву с art money
.
╭∩╮ (`-`) ╭∩╮
ROM (26.06.2012/10:21)
AlkatraZ, Я пишу на j2me, ище один кодер на рhр пишет.
Как проверить то? К примеру шлем вес рыбы 500гр, макс вес рыбы 550гр... Не хватает к победе 1 грама, шлем 501гр. И как тут быть тогда?
Данные
Это кодер должен знать
Но полюбому, если хочешь быть уверен, что пришли именно те данные, точнее от нужного клиента (это конечно не исключает шанса их подделки), как выше правильно говорили, используй уникальные токены, которые генерируются каждый раз.

Для примеру, можешь посмотреть новую версию нашего двига, там во многих формах используются уникальные токены.
.
Кодер не может этого знать.
Вот тебе запрос user=1&addmoney=800&token=evdufbrek
Ну и попробуй проверь, действительно ли из игры посылается 800 или кто то по быстрому перехватил обращение и подправил его.
Такое только клинет+сервер проверить можно
В движке у тебя то же самое, если я спарсю страницу вырежу токен и пошлю свой запрос с этим токеном, ты ни когда не распознаешь подмены, но в движке это не играет роли, а в игре это возможность накрутки.
Нужен еще хеш реквеста, что бы при подделки запроса подтверждающий его истенность хеш не смогли сгенерировать
.
Кадило крутится, лавэха мутится
В игре и подобных вещах все вычислительные операции нужно возлагать на сервер.
Иначе смысла нет делать что-то ибо всегда найдутся люди которые смогут обойти все проверки и закинуть, то что нужно.
Например мочу я моба с него должен выпасть дроп какой нить. Так вот дроп мне должен выдать сервер, а клиент должен лишь узнать об этом.
Если будет выдавать клиент, тогда он может выдать что угодно.
В общем принцип такой.
.
Simba (26.06.2012/13:05)
В игре и подобных вещах все вычислительные операции нужно возлагать на сервер.
Иначе смысла нет делать что-то ибо всегда найдутся люди которые смогут обойти все проверки и закинуть, то что нужно.
На
я могу слать на сервер запросы, сообщающие что я вальнул моба, моба, моба.
проверка нужна в любом случае
Всего: 36