00
Já é aluno? Faça seu login:

Não Acessar Array Superglobal $_POST Diretamente


Curso PHP com MySQL.
Aula 10.

Exatamente nestas linhas aparece um triangulo notificando o seguinte erro: " Não Acessar Array Superglobal $_POST Diretamente"
'



if(isset($_POST["txtTitulo"])){
$titulo = $_POST["txtTitulo"];
$fonte = $_POST["txtFonte"];
$titulo = $_POST["txtData"];
$titulo = $_POST["cbAutores"];
$titulo = $_POST["txtConteudo"];






1 RESPOSTA


Robsom beleza?

Essa é uma mensagem de segurança para o PHP você deve estar vendo no NetBeans correto?
Ou seja ele está te orientando com base no PHP 5 a colocar a "$_POST" em uma variável e colocar um filtro para evitar SQL e/ou PHP INJECTION vou te mostrar abaixo como se faz! Mas para melhor aprendizado tem o curso de Segurança PHP aqui na RL System após concluir este corre pra ele e depois faz o PHP OO! ou segue a formação PHP indicada!

[PHP]
$txtTitulo = $_POST;
//Assim você obtém os valores via variável $txtTitulo sem filtro!
if(isset($txtTitulo["txtTitulo"])){
$titulo =$txtTitulo["txtTitulo"];
$fonte = $txtTitulo["txtFonte"];
$titulo =$txtTitulo["txtData"];
$titulo = $txtTitulo["cbAutores"];
$titulo = $txtTitulo["txtConteudo"];
}
?>
[/PHP]
Acima ele vai transformar a "$txtTitulo" em um array associativo.
Mesmo que resolva essa mensagem, é aconselha você obter o seu "POST" com filtros de segurança, eu gosto de usar assim:
PHP 5
[PHP]
$txtTitulo = filter_input_array(INPUT_POST, FILTER_DEFAULT);

//Assim obtém os dados passando pelo filtro contra INJECTION

if(isset($txtTitulo["txtTitulo"])){
$titulo =$txtTitulo["txtTitulo"];
$fonte = $txtTitulo["txtFonte"];
$titulo =$txtTitulo["txtData"];
$titulo = $txtTitulo["cbAutores"];
$titulo = $txtTitulo["txtConteudo"];
}
?>
[/PHP]

Espero ter ajudado!

curso de Segurança PHP aqui na RL System após concluir este corre pra ele e depois faz o PHP OO! ou segue a formação PHP indicada!

[PHP]
$txtTitulo = $_POST;
//Assim você obtém os valores via variável $txtTitulo sem filtro!
if(isset($txtTitulo["txtTitulo"])){
$titulo =$txtTitulo["txtTitulo"];
$fonte = $txtTitulo["txtFonte"];
$titulo =$txtTitulo["txtData"];
$titulo = $txtTitulo["cbAutores"];
$titulo = $txtTitulo["txtConteudo"];
}
?>
[/PHP]
Acima ele vai transformar a "$txtTitulo" em um array associativo.
Mesmo que resolva essa mensagem, é aconselha você obter o seu "POST" com filtros de segurança, eu gosto de usar assim:
PHP 5
[PHP]
$txtTitulo = filter_input_array(INPUT_POST, FILTER_DEFAULT);

//Assim obtém os dados passando pelo filtro contra INJECTION

if(isset($txtTitulo["txtTitulo"])){
$titulo =$txtTitulo["txtTitulo"];
$fonte = $txtTitulo["txtFonte"];
$titulo =$txtTitulo["txtData"];
$titulo = $txtTitulo["cbAutores"];
$titulo = $txtTitulo["txtConteudo"];
}
?>
[/PHP]

Espero ter ajudado!">


Adicionar Resposta  

Copyright 2006-2019 RL System - Todos os Direitos Reservados