Verificar se é Array
Olá, tudo bem? Eu espero que esteja!
Estou com um pequeno problema em uma medida de segurança que estou fazendo, acho que vocês podem me ajudar.
Estou tentando criar uma defesa global de todos os valores obtidos através de formulários, ao qual o usuário irá preencher, ou seja, uma pequena defesa contra SQLInjection.
Sei que isto está longe de resolver o problema, mas acho que é só o que precisa para um projeto de pequeno porte.
Para esta segurança eu pego tudo que vem por $_POST e passo na função addslashes e verifico se é uma string. Este método funciona, porém tem um defeito.
Eu também trabalho com envio de Arrays no formulário, e para que a função addslashes funcione, todas as variáveis passadas pelo $_POST deve ser uma string (basicamente todo conteúdo não array de um formulário pode ser tratado como string, até as que contém só números).
Tentei fazer uma verificação nesta função, que caso seja array, ele não faz essa adesão do addslashes e passa o array cru que será tratado mais pra frente na página que o requisitar, porém, não consigo fazer esta verificação com o is_array(), o IF passa como se fosse outra coisa e trata como se fosse string normal.
**Segue o código:**
$formulario = $_POST;
foreach($formulario AS $key => $valor) {
if(is_array($_POST[$key])) {
$_POST[$key] = $_POST[$key];
}else {
$_POST[$key] = filter_var(addslashes($_POST[$key]), FILTER_SANITIZE_STRING);
}
}
Espero que possam me dar uma luz referente à isto.
**Grato, Wictor Pamplona.**Discussão (1)
Carregando comentários...