É inseguro usar $_GET?

25/10/2016

0

Pessoal, no caso dos formulários, é ruim usar o method get?

Eu vejo sempre o pessoal falando para usar o method post.

Porque isso? Tem alguma vulnerabilidade muito grande no GET?
Larissa Aguiar

Larissa Aguiar

Responder

Post mais votado

26/10/2016

Olha, acredito que fazendo o tratamento do parâmetro que você recebe, você reforça sua segurança.

Tiago Dias

Tiago Dias
Responder

Mais Posts

20/02/2017

Larissa Aguiar

Rs, como programação não é minha área "principal" eu fico um pouco boiando com algumas coisas...

Tiago, nesse caso isso seria esse SQL Injection que todo mundo fala?
Responder

21/02/2017

Fernando Henrique

Larissa , minha opinião.

Eu acho melhor utilizar sempre o $_POST, por ficar mais "escondido".

Mas há situações que o uso do $_GET é viável, como por exemplo, mostrar na url qual em página de um determinado artigo, por exemplo, o usuário está.

O que importa nesses casos é fazer o tratamento necessário para tais parâmetros, de modo que a segurança não venha a ser comprometida.

No caso de você usar, você deve estar atenta a isso.

Espero ter ajudado.
Responder

21/02/2017

Frank Rocha

Com certeza, o $_GET fica armazenado na URL, por mais que você trate os parâmetros sempre será mais seguro usar o $_POST.
Responder

22/02/2017

Larissa Aguiar

Hum gente, valeu pela dica.

Vou evitar o uso do $_GET então.
Responder

02/03/2017

Diego Silva

Olá Larissa, tudo bem?

Só para complementar, eu aconselharia você usar o $_POST também. Não é que você não possa usar o $_GET. Até porque existem casos que você pode fazer um bom uso do parâmetro na url, como já foi citado pelo colega Fernando, numa situação de paginação, ou até mesmo numa situação em que precisa se definir uma categoria na url, enfim, o $_GET cai muito bem em alguns casos.

No caso, se eu pudesse optar por um dos dois, optaria pelo $_POST.

Mas independentemente do que você vier a usar, você deve fazer o tratamento de segurança. De nada adianta usar $_POST se vocÊ não tratar o parâmetro.

Só não esquece isso, tratamento de segurança é muito importante, ainda mais nos dias de hoje :)

Espero ter ajudado.
Responder

03/03/2017

Rafael Cunha

O get é o padrão quando é omitido o method no form. acho que não deve abrir mão do get, ele e o post são métodos de passagem de parâmetro entre url´s ou consumo da própria url, cada um com suas vantagens e desvantagens. na hora do desenvolvimento se julga o melhor. Estética da url, Volume para passar, lógica,...
um exemplo que foi citado é de passar valor via link à uma section, um iframe,...

O tratamento deve ser feito sempre para ambos por questão de segurança e rota para erro.
Responder

06/03/2017

Robson Cavalcante

O get é o padrão quando é omitido o method no form. acho que não deve abrir mão do get, ele e o post são métodos de passagem de parâmetro entre url´s ou consumo da própria url, cada um com suas vantagens e desvantagens. na hora do desenvolvimento se julga o melhor. Estética da url, Volume para passar, lógica,...
um exemplo que foi citado é de passar valor via link à uma section, um iframe,...

O tratamento deve ser feito sempre para ambos por questão de segurança e rota para erro.


Ótima observação!

Larissa, eu não tenho nada contra o uso do $_GET.

Eu no caso tenho funções que fazem tratamento tanto de variáveis GET e POST.

Concordo com todos os colegas assim que disseram que o tratamento de segurança deve ser feito :)
Responder

08/03/2017

Larissa Aguiar

Obrigada pela atenção Robson! :)
Responder

12/03/2017

Felipe Paz

Apenas complementando o que o pessoal já disse. Depende de qual operação você deseja fazer ou retornar no/do servidor. Se for um formulário de cadastro de uma loja, por exemplo. Lá terão campos como senha, cartão de crédito e etc. Não seria lógico passar tudo isso via GET (url), até porque estes dados ficariam armazenados no cache do navegador e qualquer um teria acesso ao teu cadastro já que senha, usuário e tudo mais estaria salvo lá. Então, neste caso, deve-se ser passado via post, onde os dados são enviados "por debaixo do tapete". Agora, eu clico no link de uma notícia e quero ver esta notícia, aí sim utilizo o método get, já que esta informação está passada via url e eu, futuramente, pretendo acessar essa notícia novamente. Então, basta eu digitar www.meusite.com.br/minhanoticia.
Então, tudo vai depender da circunstância mas em vias de regra, post para formulários, get para urls que não necessitam que os dados sejam omitidos.
Responder

13/03/2017

Calebe Menezes

Concordo com as opiniões dos colegas acima!
Responder

13/03/2017

Iago Gomes

Apenas sintetizando as informações acima, Larissa: caso seu form tenha informações confidenciais/sigilosas é recomendável utilizar o POST e não esqueça de tomar as medidas de segurança contra as sql injection. Porém hj em dia ouvimos muito falar em url's amigáveis, e o GET ajuda muito nesses casos, também em situações onde temos uma lista de registros e ao clicar num deles seu id é enviado na url.
Responder

20/04/2017

Eduardo Chaves

Concordo. O Envio por POST deve ficar para conteúdo que requer um nível de segurança maior como dados pessoais, logins e etc.

O GET pode ser utilizado por exemplo para transferencia de dados menos sensíveis, como uma url para redirecionamento por exemplo.

um abraço.
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar