Avatar billede cavalier Nybegynder
15. maj 2008 - 22:03 Der er 11 kommentarer og
1 løsning

Spam i gæstebog

Hej Eksperter,

Jeg håber at dette er det rigtige sted, jeg poster mit sp.

Jeg bliver spammet vildt i min gæstebog, her forgæves søgt efter svar her på siden, men kan ikke finde det der kan afhjælpe mit problem.

Hvordan er det muligt at undgå at der bliver spammet i gæstebogen, er det fx. e mulighed med et valideringsfelt der skifter tal eller bogstaver ?

Mine koder er som flg.

<%
tabelnavn = "indhold"

if sprog2 = "uk" then

varsql = "*" ' + uk + fælles
else

varsql = "*" ' dansk + fælles
end if

%>
<script>

function CheckFelter() {

    if(this.document.myForm.navn.value=='') {
        alert('Du skal skrive dit navn!');
            return false;
    }

    if(this.document.myForm.email.value=='') {
        alert('Du skal skrive din e-mail adresse!');
            return false;
    }

}

</script>
<%
if request.servervariables("CONTENT_LENGTH") <> 0 then 'spørger om der bliver data tilsendt
%>
<body onload="document.location='default.asp?id1=19&id2=4'">
<%
tabelnavn ="gaest"

'laver recordsættet til db
set opdatering = server.createobject("ADODB.recordset")
query ="select * from "& tabelnavn &""
opdatering.open query, connect, adopenstatic, adlockoptimistic

'opretter ny linie i db og indskriver tilsendt data
opdatering.addnew
opdatering("dato") = date
opdatering("navn") = trim(request.form("navn"))
opdatering("email") = trim(request.form("email"))
opdatering("www") = trim(request.form("www"))
opdatering("tekst") = trim(request.form("tekst"))
opdatering.update
opdatering.close
%>
Gæstebogen er opdateret<br><br>
Og den er ved at genloade
<%

else 'hvis der ikke bliver tilsendt data
%>

<table cellspacing="0" border="0" cellpadding="10" width="450">
<form name="myForm" form action="default.asp?id1=21" method="post" onSubmit="return CheckFelter()">
    <tr>
        <td colspan="2">
<% If sprog2 = "uk" then %>
<b>Write in our guestbook</b>
<% Else %>
<b>Skriv en kommentar i vores gæstebog</b>
<% End If %>
</td>
    </tr>
    <tr>
        <td class="indhold">
<% If sprog2 = "uk" then %>
Your name:&nbsp;
<% Else %>
Skriv venligst dit navn:&nbsp;
<% End If %>
</td>
    <td align="right"><input name="navn" type="text" size="50" class="adminfeltnyh"></td>   
    </tr>
    <tr>
        <td class="indhold">
<% If sprog2 = "uk" then %>
Your e-mail address:&nbsp;
<% Else %>
Din e-mail adresse:&nbsp;
<% End If %>
</td>
    <td align="right"><input name="email" type="text" size="50" class="adminfeltnyh"></td>   
    </tr>
    <tr>
        <td class="indhold">
<% If sprog2 = "uk" then %>
Your website:&nbsp;
<% Else %>
Evt. din hjemmeside:&nbsp;
<% End If %>
</td>
    <td align="right"><input name="www" type="text" size="50" class="adminfeltnyh" value="http://"></td>
    </tr>
    <tr>
        <td valign="top">
<% If sprog2 = "uk" then %>
Your comments:&nbsp;
<% Else %>
Bemærkninger til os:&nbsp;
<% End If %>
</td>
        <td align="right"><textarea name="tekst" cols="51" rows="8" class="adminfeltnyh"></textarea></td>
    </tr>
    <tr>
        <td colspan="2" align="right"><input type="reset" value=<% If sprog2 = "uk" then %>" Cancel "<% Else %>" Slet "<% End If %> class="loginknap">&nbsp;<input type="submit" value="Send" class="loginknap"></td>
    </tr>
</form>
</table>

<% end if%>


Pls. hjælp mig, jeg er desperat !!!
Avatar billede mussepower5 Nybegynder
16. maj 2008 - 23:22 #1
hejsa..

Det vil måske hjælpe hvis du brugte noget php og lavede så det kun var useres der kunne skrive ind i gæstebog, ofte blejer det at hjælpe.
Avatar billede mussepower5 Nybegynder
16. maj 2008 - 23:22 #2
plejer*
Avatar billede cavalier Nybegynder
18. maj 2008 - 17:40 #3
Jamen jeg kan ikke kode php
Avatar billede showsource Seniormester
22. maj 2008 - 08:41 #4
Du kan bruge sessions blandet sammen med et random navn til et hiddenfelt.
D.v.s ved hver load af siden, laves et tilfældigt navn, som du registrere i en session.

Navnet bruges til navngivning af et hiddenfelt.
Når der postes, tjekker du så om der er en postværdi af det navn.


//
start session

definer navnet på den session som skal ha' random værdi, f.eks. "myhidden"

tjek om der postes, og gør der det, tjek om post sessionnavn også er sendt med
Kommet hertil, så er det fint nok!
slut tjek på post

sæt session "myhidden" og gi' den en random værdi

Lav html output

......

Er du med ? :O)
Avatar billede cavalier Nybegynder
23. maj 2008 - 18:13 #5
Jeg er overhovedet ikke med !!! *SS*
Avatar billede showsource Seniormester
26. maj 2008 - 13:58 #6
1. start session
2. definer navnet på den session som får en random værdi, f.eks. "tjekpost"
(session "tjekpost" gives en ny værdi ved hver load af siden )
3. Tjek om der postes, og gør der det, tjek om session "tjekpost" er sat, SAMT at der er postet et feltnavn med værdien af session "tjekpost" Er der det, så gem i DB m.m.

4. Giv session "tjekpost" en tilfældig værdi
5. Vis din side, og lav et hidden felt hvor navnet er værdien af session "tjekpost"

Kender ikke asp, så kan ikke lige skrive et konkret ex.
Avatar billede cavalier Nybegynder
26. maj 2008 - 22:22 #7
Fatter minus
Avatar billede langthjem Nybegynder
04. juni 2008 - 09:44 #8
Jeg forstår ikke helt hvad det skal gøre godt for. Robotter skaber jo også sessions.
Det du skal gøre er at tilføje et såkaldt CAPTCHA felt, altså en felt med en scrambled kode. Se f.eks. www.cimplesite.dk/kontakt
Avatar billede cavalier Nybegynder
04. juni 2008 - 21:31 #9
Hvordan gør med det ? Altså laver det felt ?
Avatar billede langthjem Nybegynder
06. juni 2008 - 16:43 #10
Jeg er ikke selv PHP koder, så dér kan jeg ikke hjælpe dig. Men søg efter PHP CAPTCHA på Google, så finder du nok noget.
Min erfaring er at den type billede som bruges på mit site er den bedste. Det at bogstaverne er gennembrudt af hvide linier, og at der ligger små bogstaver bagved. Det forvirrer SPAM robotterne.
Avatar billede showsource Seniormester
07. juni 2008 - 10:26 #11
Well, det er jo asp kategorien :O)

at lave et random navn til et hiddenfelt, og registrer navnet med sessions, det hindrer jo også at den samme forespørgsel ikke bare kan køres igen og igen.

Bliver der postet {
hvis der gør, tjek at en session er sat, og er den det, tjek at post[session] er postet, og er den det, jamen så gør scriptet hvad det skal.
} end tjek post

sæt en session med en random værdi

Vis formular, som bl.a. indeholder et hiddenfelt med navn som sessionværdi.


Og kombiner evt. med noget javascript.

0% spam.

http://www.phpbegynder.dk/kommentarer.php?id=26
Her kommer ingen spamposts.
Avatar billede cavalier Nybegynder
03. august 2008 - 14:35 #12
Fatter minus, lukker sp.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester