ID:144025
 
People in my games are able to by pass my spam filters by posting this text string





The Text String is invisable but can be created by using HTML Break Right or < br > in your code, it makes a rectangle shaped text icon which I cant seem to block and that is only visable when selected, can anyone help me block these dammed things?

I pasted an example above just after the word string, if you drag and select down from the word string you would have selected the invisiable rectangles I,m talking about.

Sorry if I,ve not explained very well.
Look up html_encode()

mob
verb
Say(a as text)
world << "<b>[usr] said, </b>[html_encode(a)]"

Try that out. Im pretts sure it is something like that.
In response to Alathon
And HTML_encode wont protect from that simble.
In response to Revojake
So what on earth will, its a real big time problem, people are able to crash my server with a single msg.
In response to Ginseng
It's decimal is 13, and the text equivalent is \n. Just replace it with \\n.
In response to Audeuro
I wanted to say that. =\
In response to Keeth
proc
filter(string)
string = replacetext(string,"\n","n")
string = html_encode(string)
for(var/i = 1 to length(string))
var/ch = text2ascii(string,i)
if(ch in 1 to 31) continue // remove bad ascii characters
. += text2ascii(ch)
proc
replacetext(string,find,replace)
var/pos = findtext(string,find)
while(pos)
string = copytext(string,pos) + replace + copytext(string,pos+length(find))
pos = findtext(string,find,pos)
return string