Ir al contenido principal

Proteger la creación de usuarios con rol de administrador en Laravel

Para evitar que al registrarse un usuario, este pueda ponerse un rol con un ataque mediante una herramienta de chrome developer tools o parecida, y agregarse el mismo el rol de administrador. Vamos a hacer que cada usuario registrado automáticamente se guarde en la base de datos con el rol de user. Para ello hay que modificar el método create del archivo AuthController.php y debe quedar como sigue:

 protected function create(array $data)
{
$user = new User([
'name' => $data['name'],
'email' => $data['email'],
'password' => bcrypt($data['password']),
]);

$user->role = 'user';
$user->save();
}

Entradas populares de este blog

Solucionar Error Mime Types en validación de campo File

Al querer validar un campo de tipo file de la siguiente forma: required|mimes:png,gif,jpeg,txt,pdf,doc Nos puede salir un error de myme types. Para solucionarlo hay que descomentar las siguiente línea en el archivo php.ini y reiniciar el servidor apache. extension=php_fileinfo.dll

Desactivar URL de registro de usuario en Laravel

Para desactivar el registro de usuarios en el sitio, debemos agregar (al agregarla se sobreescribe el método) la función siguiente en el AuthController public function getRegister() { return redirect('auth/login'); // or something else }

Laravel y los Principios de Arquitectura SOLID

Una Alianza Robusta para el Desarrollo de Software. Laravel, el popular marco de desarrollo web en PHP, ha ganado reconocimiento no solo por su elegante sintaxis y facilidad de uso, sino también por su compromiso con los principios de diseño de software, especialmente los principios SOLID. Estos principios, acuñados por Robert C. Martin, son guías fundamentales para crear sistemas flexibles, mantenibles y escalables. Laravel, desde sus inicios, ha abrazado estos principios, estableciendo así una base sólida para el desarrollo de aplicaciones web modernas. 1. Principio de Responsabilidad Única (SRP): El SRP establece que una clase debe tener una única razón para cambiar. Laravel fomenta este principio al proporcionar un sistema de controladores claro y coherente. Los controladores en Laravel se centran en una tarea específica, asegurando que cada clase tenga una responsabilidad única y facilitando la extensión y mantenimiento del código. 2. Principio de Abierto/Cerrado (OCP): El OCP s...