C#

28 jun, 2022

Criptografando parâmetros na Query String URL

Publicidade

Olá pessoal, meu nome é Mauricio Junior e hoje eu vou falar e mostrar como criptografar parâmetros para passar pela URL e o usuário não consegue ver os dados passados pela URL. Um ponto importante aqui é, os desenvolvedores estão passando parâmetros pela URL que podem ser alterados facilmente e o usuário já entende isso, dados que podem ser alterados pela URL e muitos tem usado para invadir ou ver outras contas sem que tenha permissão por exemplo.

O que foi utilizado:

– Editor: Microsoft Visual Studio

– Linguagem C#

– Tipo de projeto: Web

– Framework: .NETCore

– Package: NuGet CriptQuery

Problema

Usar url de forma aberta e qualquer um pode alterar os dados enviados ou acessar dados que não podem ser acessados.

Solução

Utilizar um NuGet Package que criptografa os parâmetros da URL query string e o usuário não consegue alterar os parâmetros. Se forem alterados, os dados serão inválidos e assim você protege os dados.

Vamos ver na prática como utilizar isso usando apenas poucas linhas de código. O pacote NuGet está disponível gratuitamente no site da Microsoft e no meu site mauriciojunior.net/nugets onde você pode fazer download gratuitamente para usar em seus projetos. Esse pacote eu fiz para ajudar os desenvolvedores de software como eu sempre gosto de fazer.

Eu vou para o código agora

O primeiro passo é instalar o pacote no seu projeto, pode ser web ou console sem nenhum problema. Veja a figura 1.

Figura 1 – Instalando NuGet no projeto

Eu abri o NuGet clicando com o botão direito do mouse em cima de Dependences. No browse existe a opção de pesquisar e eu pesquisei por criptquery ou se você colocar meu nome Mauricio Junior já consegue achar todos os pacotes lá.

Agora basta fazer o importe e digitar duas linhas no código. Na página Index.cshtml.cs eu fiz o importe usando *using*, veja o código 1.

Código 1 – Fazendo o importe

using CriptQuery;

No método OnGet eu crei uma instância para colocar os parâmetros que eu preciso e depois fiz um redirect para a página privacy onde eu vou pegar as informações passadas pela URL.

Esse modulo eu tirei do Curso de Nuget dentro da Plataforma https://ecode10.academy.

Espero que tenha gostado e qualquer dúvida pode me encontrar na rede social Instagram @mauriciojunior_net ou pelo meu site www.mauriciojunior.net.