Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Suspeito

Verificar se no POST existe palavras de uma array

Recommended Posts

Fala galera, to com uma dúvida que acredito que seja simples, mas com meu pouco conhecimento ainda não consegui resolver.

Bom eu tenho o seguinte código:

<?php
$login = $_POST['login_user'];
$proibir   = 'casa';

$pos      = strripos($login, $proibir);

if ($pos === false) {
    echo "Sucesso ! A palavra ($proibir) não foi inserida no campo de login.";
} else {
    echo "Erro!\n";
    echo "Nós encontramos a palavra ($proibir) no campo de login.";
}
?>

Ele eu uso para negar um acesso quando uma determinada palavra for inserida no campo de login, uso isso como um Anti Injetor SQL a mais para um projeto que estou trabalhando.

Porém minha dúvida é:

Há como verificar mais de uma palavra ?

$proibir = array("palavra1", "palavra2", "palavra2");

eu tentei usar um array porém não funcionou, alguma ideia ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se você fizer isso aqui:

$login = $_POST['login_user'];
$proibir = array("palavra 1","palavra 2","palavra 3");
$pos = strripos($login, $proibir)

vai dar erro e sabe porque?
Porque $proibir é um array, portanto eu preciso passar os índices deste array com for() ou foreach() - prefiro mais assim, mas como fazer isso?

<?php
$login = $_POST['login_user'];
$proibir = array("palavra 1","palavra 2","palavra 3");

foreach($proibir AS $proibido){
$pos = strripos($login, $proibir);

     if ($pos === false) {
     echo "Sucesso ! A palavra ($proibir) não foi inserida no campo de login.";
     } else {  
     echo "Erro!\n";
     echo "Nós encontramos a palavra ($proibir) no campo de login.";
     exit;
     }
}
?>

Fiz agora de cabeça mas a ideia é essa...

Compartilhar este post


Link para o post
Compartilhar em outros sites
Visitante


function verifica($palavra, $lista)

{

foreach($lista as $pal) {

if (stripos($palavra, $pal) == false) {

return true;

}

}

return false;

}

$minhaPalavra = "fuck";

$listaDePalavras = ['fuck','outra','mais-uma','assim-vai'];

$retorno = verifica($minhaPalavra, $listaDePalavras);

print ($retorno) ? 'OK' : 'ERRO' ;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Android assim fica muito mais "chique" e facil de gerenciar posteriormente mas o cara disse que é novato por isso acredito que ele não vá entender a utilização do function e da condição ternaria que você sugestionou, mas de toda forma já ficam ai "dois niveis" de dificuldade para ele estudar e aprimorar rs

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.