webForumDet fria alternativet

Spammningsskydd

ASPur ASP

4 svar · 258 visningar · startad av Wiklund!!

Medlem sedan juli 2002549 inlägg
Frågan#1

Letar efter ett bra spammningsskydd. Hittar dock inget så jag försöker göra ett eget.

Vill att man måste vänta 30 sekunder innan man kan lägga in en ny post i databasen.

Så här ser min ofungerande kod ut:

Add = "select * from guestbook WHERE fromid = "&Session("id")&""
RecSet.Open Add, Connect, adOpenStatic, adLockOptimistic

if RecSet.EOF then

else

if datediff("s",RecSet("date"),now()) > 30 Then

response.write "<SCRIPT LANGUAGE=""javascript"">"
response.write "{"
response.write "alert('You have to wait 30 secounds before you can post a new guestbook message!');"
response.write "document.location.href='guestbook.asp?what=else&id="&Request.Form("id")&"reclose';"
response.write "}"
response.write "</SCRIPT>"

end if
end if
RecSet.Close

Finns säkert nån bättre variant men.

Medlem sedan juli 20015 107 inlägg
#2

Tja, får du inget felmedelande eller nått man kan få ta sej en titt på???

PS är inte detta 30 minuter???

if datediff("s",RecSet("date"),now()) > 30 Then

annars så kan du juhe pnula med cookies

Medlem sedan juli 2002549 inlägg
#3

Är osäker på vad man ska använda för tecken för sekunder! Får inget felmeddelande. Posten läggs in i databasen.

Medlem sedan juli 20015 107 inlägg
#4

Wiklund!! skrev:

Är osäker på vad man ska använda för tecken för sekunder! Får inget felmeddelande. Posten läggs in i databasen.

jag ber om ursäkt.. jag läste för fort, du har skrivit rätt, det är inställt på 30 sekunder

men i din kod har du specificerat att den skal hämta från fromid = "&Session("id")&""

lixom, den andvändaren kan juhe ha postat fler inlägg i gästboken och din check kanske kollar nån gammal, den översta oms kanske var från igår, vilket gör att det har gått 30 sekunder

hur ser din datetabell ut?

2003-03-06
eller typ
2003-03-06 16:00:00

jag e fettrött nu..

men testa på denna

Add = "select * from guestbook WHERE fromid = "&Session("id")&" ORDER BY date DESC"
Medlem sedan nov. 20017 144 inlägg
#5
'Lägg in detta på din sida där du insertar i din databas

maila = request.cookies("maila")  
if not maila <>"" then
strMaila=DateAdd("n", +1, Time)
else
strMaila=request.cookies("maila")
end if
if dateDiff("n",Time(),strMaila)<1 then
'Måste vänta minst 5 minuter
Response.redirect "hellvetet.asp"

else

'Gör en insert i din databas
'sql="insert bla bla"

Response.Cookies("maila")= time()
Response.Cookies("maila").Expires = dateAdd("n",5,now()) '5(minuter) kan ändras beroende på önskemål
end if 

Response.redirect "paradiset.asp"
128 ms totalt · 3 externa anrop · v20260731065814-full.25f56b17
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)