Visa ett inlägg
Oläst 2008-07-28, 21:53 #12
Yepp Yepp är inte uppkopplad
Medlem
 
Reg.datum: Mar 2003
Inlägg: 298
Yepp Yepp är inte uppkopplad
Medlem
 
Reg.datum: Mar 2003
Inlägg: 298
Här har du ett fungerande kodexempel med en funktion i asp som kontrollerar om texten som skickas mot databasen innehåller något av de ord som räknas som spam (i det här fallet har jag lagt in några klassiska ord samt http).
Du kan alltså själv flagga ord du inte vill skall få existera i inlägg genom att lägga till de bland de ord som finns separarade med | i words-raden.

I kodexemplet skickas inlägg mot databasen med post och textfältet för själva texten heter "text". Om funktionen IsSpam (med inläggstexten som inparameter) returnerar "true" (dvs innehåller något av orden i wordslistan) så skickas besökaren vidare till du-spammade.asp. Om inte det sker fortlöper arbetet enligt koden som följer efter, dvs lägg in den här funktionen på det stället i koden så att den befinner sig innnan koden som genomför själva lagringen i databasen.

Kod:
<%
// Själva spamkollarfunktionen

Function IsSpam(meddelande)
	Dim objRegExp, words
	words = "poker|casino|viagra|http"
	Set objRegExp = New RegExp
	objRegExp.Pattern=words
	IsSpam = objRegExp.Test(meddelande)
	Set objRegExp = Nothing
End Function

// Anropar funktioen IsSpam med text som inparamter
// och kollar om den är sann, om så är fallet
// skickas besökaren vidare till du-spammade.asp

if isSpam(request.form("text")) = true then
Response.Redirect "du-spammade.asp"
end if
%>
Hoppas du förstod något så när, annars får du hojta.

(Och till eventuella kritiker, så nej jag har ingen som helst aning om det här är speciellt resurskrävande eller inte. Finns säkerligen betydligt bättre lösningar, men jag gissar att den räcker för ändamålet och fungerar helt okay)
Yepp är inte uppkopplad   Svara med citatSvara med citat