Laravel image upload
The code can be made simpler by using some built-in Laravel validation rules:


Validation of MIME types and extension can already be done in Laravel.

With the rule image as you have for profile_picture, you're already validating if the uploaded file is of the mimetype jpeg, png, bmp, gif, or svg (docs here). If you'd like to specify the mimetype however, you can use the mimes rule.
To validate the max size of the image, you can use the max rule.
You can also validate the dimensions of the image if needed (docs here).




On the matter of security, I suppose you mean with the uploading of the images. The snippets of code you provided do seem enough (have not perused it), but I would advise using the built-in validation provided by Laravel to provide the best of convenience and security.