Filter met hoofdletters (Opgelost)
micasa001 - 13/02/2008 23:23
PHP interesse
Momenteel heb ik mijn spam / filter werkende voor mijn forum. Dit is wat ik tot dusver heb:
else if(preg_match("/,{$data->login},/i",$info->blocklist))
print "<font color=red>{$info->login} Heeft je geblokkeerd</font>";
else {
$_POST['subject'] = preg_replace('www','chips',$_POST['subject']);
$_POST['subject'] = preg_replace('kut','chips',$_POST['subject']);
$_POST['message'] = preg_replace('/</','<',$_POST['message']);
$_POST['message'] = str_replace("FUCK", "chips", $_POST['message']);
$_POST['message'] = str_replace("fuck", "chips", $_POST['message']);
$_POST['message'] = str_replace("FUCKER", "chips", $_POST['message']);
$_POST['message'] = str_replace("fucker", "chips", $_POST['message']);
$_POST['message'] = str_replace("shit", "chips", $_POST['message']);
$_POST['message'] = str_replace("SHIT", "chips", $_POST['message']);
$_POST['message'] = str_replace("kanker", "chips", $_POST['message']);
$_POST['message'] = str_replace("kut", "chips", $_POST['message']);
$dbres = mysql_query("SELECT `login` FROM `[users]` WHERE `login`='{$_POST['to']}'");
if($recp = mysql_fetch_object($dbres)) {
else if ( preg_match ( "/,{$data->login} ,/i" , $info -> blocklist ) ) print "<font color=red>{$info->login} Heeft je geblokkeerd</font>" ; else {
$_POST [ 'subject' ] = preg_replace ( 'www' , 'chips' , $_POST [ 'subject' ] ) ; $_POST [ 'subject' ] = preg_replace ( 'kut' , 'chips' , $_POST [ 'subject' ] ) ;
$_POST [ 'message' ] = preg_replace ( '/</' , '<' , $_POST [ 'message' ] ) ; $_POST [ 'message' ] = str_replace ( "FUCK" , "chips" , $_POST [ 'message' ] ) ; $_POST [ 'message' ] = str_replace ( "fuck" , "chips" , $_POST [ 'message' ] ) ; $_POST [ 'message' ] = str_replace ( "FUCKER" , "chips" , $_POST [ 'message' ] ) ; $_POST [ 'message' ] = str_replace ( "fucker" , "chips" , $_POST [ 'message' ] ) ; $_POST [ 'message' ] = str_replace ( "shit" , "chips" , $_POST [ 'message' ] ) ; $_POST [ 'message' ] = str_replace ( "SHIT" , "chips" , $_POST [ 'message' ] ) ; $_POST [ 'message' ] = str_replace ( "kanker" , "chips" , $_POST [ 'message' ] ) ; $_POST [ 'message' ] = str_replace ( "kut" , "chips" , $_POST [ 'message' ] ) ;
$dbres = mysql_query ( "SELECT `login` FROM `[users]` WHERE `login`='{$_POST['to']} '" ) ;
Het probleem is nu echter nog het volgende. Als iemand bijvoorbeeld het woord 'shit' typt dan wordt het gefiltert maar typt iemand 'ShIt' dan niet.
Hoe is het op te lossen dat zowel hoofd als kleine letters direct worden meegefilterd.
Alvast bedankt.
5 antwoorden
Gesponsorde links
skillat2 - 13/02/2008 23:57 (laatste wijziging 14/02/2008 00:01)
HTML beginner
<?php
else if(preg_match("/,{$data->login},/i",$info->blocklist))
print "<font color=red>{$info->login} Heeft je geblokkeerd</font>";
else {
$_POST['subject'] = preg_replace('www','chips',$_POST['subject']);
$_POST['subject'] = preg_replace('kut','chips',$_POST['subject']);
$_POST['message'] = preg_replace('/</','<',$_POST['message']);
$_POST['message'] = str_ireplace("FUCK", "chips", $_POST['message']);
$_POST['message'] = str_ireplace("fuck", "chips", $_POST['message']);
$_POST['message'] = str_ireplace("FUCKER", "chips", $_POST['message']);
$_POST['message'] = str_ireplace("fucker", "chips", $_POST['message']);
$_POST['message'] = str_ireplace("shit", "chips", $_POST['message']);
$_POST['message'] = str_ireplace("SHIT", "chips", $_POST['message']);
$_POST['message'] = str_ireplace("kanker", "chips", $_POST['message']);
$_POST['message'] = str_ireplace("kut", "chips", $_POST['message']);
$dbres = mysql_query("SELECT `login` FROM `[users]` WHERE `login`='{$_POST['to']}'");
if($recp = mysql_fetch_object($dbres)) {
?>
<?php
else if ( preg_match ( "/,{$data->login} ,/i" , $info -> blocklist ) ) print "<font color=red>{$info->login} Heeft je geblokkeerd</font>" ; else {
$_POST [ 'subject' ] = preg_replace ( 'www' , 'chips' , $_POST [ 'subject' ] ) ; $_POST [ 'subject' ] = preg_replace ( 'kut' , 'chips' , $_POST [ 'subject' ] ) ;
$_POST [ 'message' ] = preg_replace ( '/</' , '<' , $_POST [ 'message' ] ) ; $_POST [ 'message' ] = str_ireplace( "FUCK" , "chips" , $_POST [ 'message' ] ) ;
$_POST [ 'message' ] = str_ireplace( "fuck" , "chips" , $_POST [ 'message' ] ) ;
$_POST [ 'message' ] = str_ireplace( "FUCKER" , "chips" , $_POST [ 'message' ] ) ;
$_POST [ 'message' ] = str_ireplace( "fucker" , "chips" , $_POST [ 'message' ] ) ;
$_POST [ 'message' ] = str_ireplace( "shit" , "chips" , $_POST [ 'message' ] ) ;
$_POST [ 'message' ] = str_ireplace( "SHIT" , "chips" , $_POST [ 'message' ] ) ;
$_POST [ 'message' ] = str_ireplace( "kanker" , "chips" , $_POST [ 'message' ] ) ;
$_POST [ 'message' ] = str_ireplace( "kut" , "chips" , $_POST [ 'message' ] ) ;
$dbres = mysql_query ( "SELECT `login` FROM `[users]` WHERE `login`='{$_POST['to']} '" ) ; ?>
Bart - 14/02/2008 08:13
PHP expert
micasa001 schreef:
Momenteel heb ik mijn spam / filter werkende voor mijn forum. Dit is wat ik tot dusver heb:
[..code..]
Het probleem is nu echter nog het volgende. Als iemand bijvoorbeeld het woord 'shit' typt dan wordt het gefiltert maar typt iemand 'ShIt' dan niet.
Hoe is het op te lossen dat zowel hoofd als kleine letters direct worden meegefilterd.
Alvast bedankt.
Sta ik tegen een muur te praten? Ik heb je al vaker gezegd dat wij geen ondersteuning bieden voor Criminals scripts.
micasa001 - 14/02/2008 11:26
PHP interesse
Dank jullie wel ik zal er gelijk eens naar kijken.
En betreft Quicky:
Citaat:
Momenteel ben ik aan het proberen een forum voor mijn website in elkaar te zetten, nou wil ik hiervoor gebruik maken van ee forum uit een andere source.
Bekijk
Het gaat hier dan ook niet om een criminals game maar om een FORUM. Dus graag alleen reageren als je ontopic blijft.
Alle andere wederom bedankt,
b4nkr0bz0r - 14/02/2008 11:47
PHP gevorderde
de replace functies accepteren array's als eerste en tweede argument.
Gesponsorde links
Dit onderwerp is gesloten .