xintrea
Новичок
Защита от ложного URL в многопользовательских системах.
Здравствуйте!
Вопрос такой, подскажите куда копать.
Есть некая многопользовательская система, например игра. При логине в игру пользователь получает в куках рандомную переменную, например с именем sess_temp_uid. Наличие этой переменной в куке и в базе игры говорит о том что пользователь "валидный". (Подделку куков, время валидности, проверку reference-ссылки, проверку строки браузера и прочее пока не рассматриваем).
В пространстве игры есть форма, которую заполняет пользователь, в частности, имя и емайл. Ну например такая
В игре есть форум, и кулхацкер разместил такую ссылку
Если пользователь залогинен в игре, и ткнет на такую ссылку, то его данные будут изменены.
Вопрос - как от этого защититься? Достаточно ли не допускать в пространство скрипта GET-переменные, брать данные именно из POST переменных? Но тогда кулхацкер может обнулять данные... Надо еще проверять наличие всех POST переменных пусть и пустых, чтобы кулхацкер не мог обнулить данные. Достаточно ли этого?
Как вообще традиционно такая проблема решается?
Здравствуйте!
Вопрос такой, подскажите куда копать.
Есть некая многопользовательская система, например игра. При логине в игру пользователь получает в куках рандомную переменную, например с именем sess_temp_uid. Наличие этой переменной в куке и в базе игры говорит о том что пользователь "валидный". (Подделку куков, время валидности, проверку reference-ссылки, проверку строки браузера и прочее пока не рассматриваем).
В пространстве игры есть форма, которую заполняет пользователь, в частности, имя и емайл. Ну например такая
Код:
<form name="user_info" method="post" action="change_user_info.php">
Имя
<input id="user_name" name="user_name" type="text" size="25">
Email
<input id="user_email" name="user_email" type="text" size="25">
</form>
Код:
http://game.ru/change_user_info.php?user_name=lamer&[email protected]
Вопрос - как от этого защититься? Достаточно ли не допускать в пространство скрипта GET-переменные, брать данные именно из POST переменных? Но тогда кулхацкер может обнулять данные... Надо еще проверять наличие всех POST переменных пусть и пустых, чтобы кулхацкер не мог обнулить данные. Достаточно ли этого?
Как вообще традиционно такая проблема решается?