shell bypass 403
<?
App::uses('Pagina', 'Model');
class Contacto extends AppModel {
public $validate = array(
'pagina' => array(
'required' => array(
'rule' => 'notBlank',
'message' => 'Página requerida'
)
),
'nombre' => array(
'required' => array(
'rule' => 'notBlank',
'message' => 'Nombre requerido'
)
),
'comentarios' => array(
'required' => array(
'rule' => 'notBlank',
'message' => 'Comentarios requerido'
)
),
'email' => array(
'required' => array(
'rule' => 'notBlank',
'message' => 'Email requerido'
),
'email' => array(
'rule' => array('email', true),
'message' => 'Formato de email incorrecto'
),
),
'telefono' => array(
'required' => array(
'rule' => 'notBlank',
'message' => 'Teléfono requerido'
),
'min_length' => array(
'rule' => array('minLength', '6'),
'message' => 'El teléfono ha de tener un mínimo 6 dígitos',
)
),
'condiciones_uso' => array(
'checked' => array(
'rule' => array('comparison', '!=', 0),
'message' => 'Debes aceptar las condiciones de uso'
),
'boolean' => array(
'rule' => 'boolean',
'message' => 'Valor incorrecto para condiciones de uso'
)
)
);
public $extra = null; //array con los valores que se guardarán serializados en el campo extra
public function beforeSave($options = array()) {
parent::beforeSave($options);
//Preparamos la información extra
if (!empty($this->extra)) {
$extra = array();
foreach ($this->extra as $e) {
if (!empty($this->data[$this->name][$e])) {
$extra[$e] = (string) $this->data[$this->name][$e];
}
}
$this->data[$this->name]['extra'] = serialize($extra);
}
}
}