Имеется таблица с категориям (ид, название) и с постами (... ид_категории).
При добавлении поста, в запросе уходит ид категории, и при открытии поста название категории цепляется по ее ид.
Пользователь может подделать ид и поставить 9999999999999, которого не существует и соответственно название категории в посте будет отображаться неверно.
Как можно исправить это?
Вижу только такой вариант: при отправке формы добавления статьи, помимо валидации данных на типы, валидировать еще и на существование (делать запрос, существует ли категория с таким ид)
Но это лишние запросы, может есть вариант получше?
Для правильного вопроса надо знать половину ответа
Валидировать на сервере надо всё, что приходит от клиента. И не просто валидировать, но и проверять авторизацию клиента на заданную операцию с конкретными данными.