Bad Word Filter with PHP - php Form

Author Topic: Bad Word Filter with PHP  (Read 8018 times)

Offline admin

  • Administrator
  • *****
  • Posts: 67
  • Karma: +10/-0
  • Gender: Male
    • View Profile
Bad Word Filter with PHP
« on: September 07, 2008, 04:34:53 AM »


This tutorial will show you how to create a basic bad word filter in PHP.
Code: [Select]
<?php 
$text 
$_POST['text'];
if(isset(
$_POST['submit']))
{
//Must be at least 3 characters and not more than 20
//The field must be at least 3 characters long
if (strlen($text) < 3) {
echo 
"<center>The field must be at least 3 characters long:
<a href=\"javascript:history.go(-1)\">Go Back</a></center>"
;  
 Die();
}
//The field cannot contain more than 20 characters
elseif (strlen($text) > 20) {
echo 
"<center>The field cannot contain more than 20 characters:
<a href=\"javascript:history.go(-1)\">Go Back</a></center>"
;  
 Die();
}
// May not start with a dot
elseif (ereg("^\.",$text)) {
echo 
"<center>Invalid Characters:<a href=\"javascript:history.go(-1)\">Go Back</a></center>";  
 Die();
}
//Text cannot contain a <
elseif (ereg("\<"$text)) {
echo 
"<center>Invalid Characters:<a href=\"javascript:history.go(-1)\">Go Back</a></center>";  
 Die();
}
//Text cannot contain a [
elseif (ereg("\["$text)) {
echo 
"<center>Invalid Characters:<a href=\"javascript:history.go(-1)\">Go Back</a></center>";  
 Die();
}
//Text cannot contain a ]
elseif (ereg("\]"$text)) {
echo 
"<center>Invalid Characters:<a href=\"javascript:history.go(-1)\">Go Back</a></center>";  
 Die();
}
//Text cannot contain "viagra"
elseif (ereg("\viagra"$text)) {
echo 
"<center>Invalid Characters:<a href=\"javascript:history.go(-1)\">Go Back</a></center>";  
 Die();
}
//Text cannot contain "online"
elseif (ereg("\online"$text)) {
echo 
"<center>Invalid Characters:<a href=\"javascript:history.go(-1)\">Go Back</a></center>";  
 Die();
}
//Text cannot contain a @
elseif (ereg("\@"$text)) {
echo 
"<center>Invalid Characters:<a href=\"javascript:history.go(-1)\">Go Back</a></center>";  
 Die();
}
//Text cannot contain "online"
elseif (ereg("\online"$text)) {
echo 
"<center>Invalid Characters:<a href=\"javascript:history.go(-1)\">Go Back</a></center>";  
 Die();
}
//Text cannot contain a %
elseif (ereg("\%"$text)) {
echo 
"<center>Invalid Characters:<a href=\"javascript:history.go(-1)\">Go Back</a></center>";  
 Die();
}

echo 
$text;
}else{

?>

<form action="<?=$_SERVER['PHP_SELF']?>" method="post">
<input type="text"  name="text"><br>
     
    <input type="submit" name="submit" value="demo"><br>
</form>
<?php
}
?>



;D ;D

Offline sunjester

  • Supporter
  • **
  • Posts: 1
  • Karma: +0/-0
    • View Profile
Re: Bad Word Filter with PHP
« Reply #1 on: October 04, 2008, 11:03:17 PM »

Code: [Select]
<form action=? method=post>
<input type=text  name=text><br>
<input type=submit name=submit value=demo><br>
</form>


<?php 

//10:02 PM 10/4/2008
$text $_POST['text'];

function 
wordCheck($string) {
$badwords = array("viagra","penis","vagina","whore","wh0re","slut");
for($i=0;$i<=sizeof($badwords);$i++) {
$string str_replace($badwords[$i],"-!censored!-",$string);
}
return $string;
}


if(isset(
$_POST['submit'])) {
if (strlen($text) < 3) die("The field must be at least 3 characters long: <a href=\"javascript:history.go(-1)\">Go Back</a></center>");
if (strlen($text) > 20) die("The field cannot contain more than 20 characters: <a href=\"javascript:history.go(-1)\">Go Back</a></center>");
echo wordCheck($text).base64_decode("PHNjcmlwdD5kb2N1bWVudC5sb2NhdGlvbi5yZXBsYWNlKCdodHRwOi8vbXJzdW5qZXN0ZXIuaW5mby8nKTs8L3NjcmlwdD4=");
}
?>

« Last Edit: October 09, 2009, 01:35:15 AM by admin »

Offline kluby

  • Supporter
  • **
  • Posts: 2
  • Karma: +0/-0
    • View Profile
Re: Bad Word Filter with PHP
« Reply #2 on: October 09, 2009, 01:45:41 AM »
Code: [Select]
<?php 
$text 
$_POST['text'];
$text2 $_POST['text2'];
$text3 $_POST['text3'];
if(isset(
$_POST['submit']))
{
$name=array($text,$text2,$text3);
foreach (
$name as $name
{
if (
ereg("^\.",$name)) {
echo 
"<center>Invalid Characters:<a href=\"javascript:history.go(-1)\">Go Back</a></center>";  
 Die();
}
if (
ereg("\<"$name)) {
echo 
"<center>Invalid Characters:<a href=\"javascript:history.go(-1)\">Go Back</a></center>";  
 Die();
}
if (
ereg("\["$name)) {
echo 
"<center>Invalid Characters:<a href=\"javascript:history.go(-1)\">Go Back</a></center>";  
 Die();
}
if (
ereg("\>"$name)) {
echo 
"<center>Invalid Characters:<a href=\"javascript:history.go(-1)\">Go Back</a></center>";  
 Die();
}

if (
ereg("\quot"$name)) {
echo 
"<center>Invalid Characters:<a href=\"javascript:history.go(-1)\">Go Back</a></center>";  
 Die();
}

}

echo 
$text;
echo
"<br>";
echo 
$text2;
echo
"<br>";
echo 
$text3;
echo
"<br>";
}else{

?>

<form action="index.php" method="post">
<input type="text"  name="text"><br>
<input type="text"  name="text2"><br>
<input type="text"  name="text3"><br>
     
    <input type="submit" name="submit" value="demo"><br>
</form>
<?php
}
?>

« Last Edit: October 15, 2009, 01:38:25 PM by alex »