Я создаю веб-сайт с учетными записями пользователей.Для каждой учетной записи пользователь может делать такие вещи, как обновление своих личных данных, создание блога и т. Д. Когда пользователь хочет редактировать блог, у меня есть следующая форма (это упрощенная версия).
<form action="goToThisPage.php" method="get">
<input type="hidden" name="blogID" value="4" />
<input type="text" name="blogTitle" value="" />
<textarea name="blogContent"></textarea>
<input type="submit" name="submit" value="Update Blog" />
</form>
Теперь для этого пользователя для идентификатора блога установлено значение 4, поэтому при обновлении записи он обновит таблицу блога с идентификатором 4. Теперь, используя firebug или другие методы подмены, пользовательможет изменить этот идентификатор на что-то вроде 8 и обновить запись 8, которая может быть чужой записью.
Как мне предотвратить это?До сих пор я думал о двух методах, задаваясь вопросом, что вы считаете лучшей идеей (или предложите другой).
- Кодируйте идентификатор случайной строкой, а затем декодируйте строку после отправки, получая правильный идентификатор.
- Оставьте его как числовой номер, а затем проверьте, чтобы после обновления убедиться, что он записан по запросу базы данных.
Я, очевидно, хочу ограничить запросы к базе данных, и, по-моему, лучше использовать кодировку идентификатора.Что, вы парни, думаете?
Заранее спасибо