Php Kod Filtreleme Sorunu
-
Merhaba arkadaşlar kod filtrelerken
Function kodfilitrele($text){
$gkod = array("refresh","location","union","select","script","\n");
$dkod = array("YASAK","YASAK","YASAK","YASAK","YASAK","YASAK");
$ykod = str_replace($gkod,$dkod,$text);
return $ykod;
}
bu fonksyonu kullanıyorum ancak
kullanıcı kelimenin herhangi bir harfini büyük yaptığında kod filtrelenmiyor veya salak yerine s-lak s*l*k yazdığında yine kod filtrelenmiyor.
bunun önünne nsl geçebilrim kullandığınız bir fonksyon varsa yazabilirmisniz. -
kelimeyi uppercase ya da lowercase yaparak filtrele.
-
$ykod = str_replace($gkod,$dkod,strtolower($text));
s-lak, s*l*k öneğin için regex kullanman lazım
-
Ahanda böyle bir şey yaptım
function kufur($t){;
include 'fc_kufur.php';
$kelime=$kotu;
for($i=0;$i<count($kotu);$i++){
$row=explode(' ',$kotu[$i]);
$t=str_ireplace($row[0],"***",$t);}
return $t;}
'fc_kufur.php';
<?php
/* bosluk == separator */
$kotu=array();
$kotu[]='union';
$kotu[]='select';
$kotu[]='script';
$kotu[]='refresh';
$kotu[]='ahole';
$kotu[]='location';
?>
yardımlar için saolun
-
http://php.net/manual/en/function.strtoupper.php
bunu da incele istersen, işini görür sanırım
SpermMan tarafından 08/Nis/13 11:30 tarihinde düzenlenmiştir -
$yasakliKelimeler = array('union','select','script','refresh','aloha','location'); $mesaj = 'lorem ipsum dolor union select row table UniOn script tag tahribat blabla test'; $mesaj = preg_replace('/'.implode('|',$yasakliKelimeler).'/i','***',$mesaj); echo $mesaj;
