Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal,
Tenho uma busca que salva as palavras buscadas e exibem numa nuvem de tags. O problema disso é que uma criancinhas ficam escrevendo coisas que nada tem que ver com o site.
Já bloquiei URLs e algumas palavras, além de caracteres estranhos. Mas tem uma forma de escrever que não estou conseguindo bloquear...
Mordaça
Mordaça
Mordaça
Mordaça
Mordaça
Mordaça
Parece que é o cedilha, mas isso deveria estar bloqueando. Mas percebo que mesmo bloqueando, a pessoa usa repetições...acho...
Minha salada de bloqueio:
function RemoveAcentos2($str, $enc = 'UTF-8') {
$acentos = array(
'A' => '/À|Á|Â|Ã|Ä|Å/',
'a' => '/à|á|â|ã|ä|å/',
'C' => '/Ç/',
'c' => '/ç/',
'E' => '/È|É|Ê|Ë/',
'e' => '/è|é|ê|ë/',
'I' => '/Ì|Í|Î|Ï/',
'i' => '/ì|í|î|ï/',
'N' => '/Ñ/',
'n' => '/ñ/',
'O' => '/Ò|Ó|Ô|Õ|Ö/',
'o' => '/ò|ó|ô|õ|ö/',
'U' => '/Ù|Ú|Û|Ü/',
'u' => '/ù|ú|û|ü/',
'Y' => '/Ý/',
'y' => '/ý|ÿ/',
'a.' => '/ª/',
'' => '/./',
'c' => '/ç/',
'C' => '/Ç/',
'o.' => '/º/'
);
return preg_replace($acentos, array_keys($acentos), htmlentities($str,ENT_NOQUOTES, $enc));
}
if (isset($_GET['keywords'])) {
$pattern = "[^a-zA-Z0-9]";
if(ereg($pattern,$_GET['keywords']) == TRUE)
{
$keywords = "[BLOQUEADA]";
}else{
$keywords = $_GET['keywords'];
$keywords = str_replace('ç', 'c', $keywords);
$keywords = str_replace('á', 'a', $keywords);
$keywords = str_replace('à', 'a', $keywords);
$keywords = str_replace('ó', 'o', $keywords);
$keywords = str_replace('Ó', 'O', $keywords);
$keywords = str_replace('õ', 'o', $keywords);
$keywords = str_replace('Õ', 'O', $keywords);
$keywords = str_replace('³', '', $keywords);
$keywords = str_replace('ƒ', '', $keywords);
$keywords = str_replace('Â', '', $keywords);
$keywords = str_replace('Ã', 'A', $keywords);
$keywords = str_replace('Ã', 'A', $keywords);
$keywords = str_replace('ã', 'a', $keywords);
$keywords = str_replace('ó', '', $keywords);
$keywords = str_replace('.', '', $keywords);
RemoveAcentos2($keywords);
}
}
PS.: Acabo de ver... se eu bloquear o "ç" não vai achar palavras com cedilha... mas não é pra fazer isso. Vejo que na URL a palavra escrita com cedilha aparece assim:
keywords=Mordaça
E ele grava na nuvem exatamente com esse caractere estranho... O que fazer?
Carregando comentários...