Вопросы формы CakePHP: скрытые поля и значения по умолчанию

Я искал в Интернете, потратил выходные на попытки что-то сделать, но мне нужен совет эксперта, чтобы выбрать лучшие и самые безопасные решения для CakePHP 1.3.10.

В моей форме пользователей/добавления у меня есть следующие значения, которые находятся в таблице пользователей, но не требуют ввода из формы. Тем не менее, когда вы запекаете приложение, Cake будет включать их в виде:

  • количество попаданий
  • роль (4 варианта загружаются из таблицы ролей).

Что я хочу сделать:

  • Я не хочу отображать количество попаданий и роль в форме
  • Я хочу присвоить роли значение по умолчанию «стандартный пользователь» при каждой регистрации.

Я могу использовать «скрытый», чтобы скрыть ввод количества попаданий и ролей и установить значения по умолчанию в базе данных, но я слышал, что шпионы могут изменить значение скрытого поля и внедрить вашу базу данных.

Я уверен, что я не первый с этой установкой. Пожалуйста, дайте мне знать, как вы, ребята, сделали это. Спасибо!


person ChrisDK    schedule 11.07.2011    source источник


Ответы (1)


  1. Просто не выводите поле ввода, если оно вам не нужно.
  2. Установите значение в контроллере перед сохранением:

    if ($this->data) {
        $this->data['Model']['role'] = 'default role';
        if ($this->Model->save($this->data)) ...
    }
    
person deceze♦    schedule 11.07.2011
comment
Это имеет НАСТОЛЬКО смысл. Это ужасное упущение в документации CakePHP, что они не освещают эту тему! - person DirtyBirdNJ; 08.11.2011