$form{$key} =~ s/^\s//g; $form{$key} =~ s/\\0|\%00//g; $form{$key} =~ s/\\x\w{2,}\s*?\\+//ig; $form{$key} =~ s/.{2,}\///g; $form{$key} =~ s/(<[^>]*?)\b(on\w+\s*\=)/$1x$2/ig; $form{$key} =~ s/<\!\-\-\s*?\#?\s*?\w+\s*?\=/<\!\-\-/g; foreach $exclude (@forbid) { $form{$key} =~ s/(<\s*)($exclude)/<\!\-\-$1x$2/ig; $form{$key} =~ s/(<\s*\/+)($exclude\s*>)/\$1x$2\-\-\>/ig; $form{$key} =~ s/(\s*$exclude\s*\W*.*?\W*\;+)/Hacker: $ENV{'REMOTE_ADDR'}/ig; } $form{$key} =~ s/([^\s\w:.,@%-])/sprintf("&#x%X;", ord($1))/ge;