webForumDet fria alternativet

Kolla förbjudna ord, returnera True eller False

ASP

3 svar · 306 visningar · startad av hellboy

Medlem sedan aug. 200349 inlägg
Frågan#1

Jag har försökt pilla ihop ett litet spamskydd, men det fungerar inte helt tillfredsställande...

Jag anropar följande funktion innan data sparas till DB:

Dim words, spamFilter
Function IsSpam(strValue)
	words = "poker,casino"
	spamFilter = Split(words,",")

	For i=0 To UBound(spamFilter)
		Set objRegExp = New RegExp
		objRegExp.Pattern=spamFilter(i)
		IsSpam = objRegExp.Test(strValue)
		Set objRegExp = Nothing		
	Next
End Function

som det är nu så släpper den igenom poker, men stoppar casino. tips?

Medlem sedan maj 200010 687 inlägg
#2

Så här skulle jag skrivit. Bättre prestandamässigt. Slipper loopa...

Function IsSpam(strValue)
	Dim objRegExp, words
	words = "poker|casino"
	
	Set objRegExp = New RegExp
	objRegExp.Pattern=words
	IsSpam = objRegExp.Test(strValue)
	Set objRegExp = Nothing
End Function
Medlem sedan aug. 200349 inlägg
#3

Underbart!

Tack!

Medlem sedan juni 20019 519 inlägg
#4

flyttat från ASP scripts

252 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
124 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)