laravel-hashids – Um invólucro do Hashids para Laravel

Quem costuma desenvolver usando Laravel e os seus métodos resourceful muitas das vezes se depara com a problemática de expor os IDs dos seus recursos na URL o que pode levar à sérios riscos de segurança. Dependendo dos tipos de usuário, eles podem tentar fazer a adivinhação da  próxima sequência o que não é nada difícil caso use o increment do ID na DB.

Uma maneira seria tentar usar um código à parte e daí identificar o recurso através deste código não sequencial ou então usar o uuid como chave primária.

Outra solução seria usar alguma forma de codificar o próprio ID do recurso ao mesmo tempo garantir a possibilidade de reversão deste valor codificado de forma a que possa extrair o ID e comparar na DB e, ainda ao mesmo tempo, garantir que não sejam gerados caracteres que possam criar algum tipo de distorção da URL (por ex. “/”,” %”, etc..).

É esta última alternativa que o pacote vinkla/laravel-hashids tenta proporcionar de forma simple e eficiente.


O pacote vinkla/laravel-hashids é um invólucro para Laravel de uma outra biblioteca hashids/hashids.

 

Instalação

Requeira através do composer na raíz do seu projecto

composer require vinkla/hashids

 

Adicione o service provider no ficheiro config/app.php  no array de providers .

Vinkla\Hashids\HashidsServiceProvider::class

 

Se quiseres usar  Facade, adicione a seguinte linha no array de aliases no ficheiro config/app.php

'Hashids' => Vinkla\Hashids\Facades\Hashids::class

 

 

Mais informações sobre o pacote no link abaixo. Boa programação!!

Fonte: vinkla/laravel-hashids: A Hashids bridge for Laravel

Deixe um comentário