Как правильно передать данные из action в actionAjax (не) через форму?

Здравствуйте. Пытаюсь реализовать загрузку изображений к новостной странице.

Как я делал логику загрузки:
  1. Пользователь запрашивает страницу редактирования.
  2. Запускается actionEdit - из GET параметра берется id поста и ищутся изображения в папке "/images/{id поста}"
  3. Все найденные изображения выводятся через view, который принимает некоторые настройки, как размер элемента, содержащего картинку.
  4. Пользователь отсылает сайту новую картинку по ajax. ActionAjaxFileUpload должен получить изображение, проверить его и сохранить в ту же папку ("/images/{id поста}") с новым именем.
  5. После этого запускается render-view, который требует те же самые параметры (именно те, что были в пункте 2).


Проблема такая:
В пункте 4 по ajax я никак не могу получить id поста. Так как это ajax запрос, id по GET получить нельзя. По POST - записывать id куда-то в форму или в ajax-скрипт мне кажется нехорошо, т.к. пользователь может их изменить.
С пунктом 5 та же проблема, только с параметрами-опциями.

Чтобы обойти проблему, думаю использовать токены:
  1. При передаче страницы пользователю генерировать токен, сохранять опции в бд как {ключ: токен, значение: опции}.
  2. Сохранять этот токен на форму или скрипт.
  3. При получении картинки и токена, сайт обращается к бд, извлекает запись, если она есть и использует ее.


Но вариант с токенами мне почему-то не нравится.
Есть ли какие-нибудь нормальные способы передавать данные так, чтобы пользователь их не смог ни увидеть, ни изменить?

#Дополнительный вопрос:
Для загрузки изображения я использую модель Item, которая не должна использоваться нигде более. Для поиска и обработки загруженных изображений я использую класс-менеджер картинок (запускается в конроллере).
Получается так, что модель Item, которая взаимодействует с формой, также обязана передавать данные на форму и с формы, не касающиеся напрямую загрузки изображений (такие как токен например).
Мне кажется что так не должно быть, но не мог придумать ничего лучше. Что вы можете посоветовать по этому вопросу?
  • Вопрос задан
  • 254 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы