Skip to main content

EXEMPLE. Un blog amb CSRF

Per afegir la funcionalitat d'inserció és necessari mostrar un formulari i acceptar les dades per inserir-les posteriorment a la BBDD. Com en totes les ocasions serà necessari el següent:

  1. Controlador
  2. Model  (en aquest cas no necessària, ja que tenim totes les funcions necessàries)
  3. Vista
  4. Ruta

Un requisit serà activar el filtre CSRF tal com es descriu anteriorment hem d'introduir-lo dins del formulari, així mateix serà necessari mostrar el missatge d'error accedint a la variable de sessió i les flashdata creades, mitjançant session()->getFlashdata('error')

En el CONTROLADOR i la VISTA emprarem el servei de validació automàtica de CI4 [https://codeigniter.com/user_guide/libraries/validation.html]. La instrucció bàsica és validate(RULES) que ens retorna cert o fals en funció si els camps POST han passat la validació.

Les regles de validació s'especifiquen en un array on cada posició és FORM_FIELD_NAME => VALIDATION_RULES el mínim a especificar en les regles de validació són els requisits del camp (obligatorietat, tipus, longitud....) però també es poden especificar el nom del camp en format d'usuari o el missatge a mostrar segons l'error produït.

Els missatges d'error es poden recuperar a la vista emprant el servei de validació. Per fer-ho s'accedeix a service('validation')->listErrors()