Toon posts:

[ASP] Gastenboek beschermen tegen spam

Pagina: 1
Acties:
  • 964 views sinds 30-01-2008

Verwijderd

Topicstarter
Ik heb een ASP gastenboek op mijn website staan, en die wordt de laatste tijd bestookt met spam-berichten (viagra etc.) Per dag komen er ongeveer 8 spam-berichten bij. Het lijkt er op dat dit dus automatisch gebeurt, een of andere klojo die een proggie heeft gemaakt dat gastenboeken afstruint en die wanneer deze een gastenboek ziet er zijn shit in post.

Ik dacht toen, laat ik de pagina gastenboek.asp waarin de mensen hun naam en bericht kunnen invullen beveiligen met een login-naam en paswoord, dan kan zo'n automatisch spam proggie er niet zomaar in posten. Je moet dan eerst inloggen voordat je je naam en bericht kan intikken.

Maar, wat schetste mijn verbazing.....er komen nog steeds spam-berichten binnen. Daar snap ik niks van...als je de pagina oproept waarin je je naam en bericht intikt moet je een gebruikersnaam en paswoord intikken, anders verschijnt dit scherm niet. Dus hoe kan het dat er nog steeds spam-berichten in mijn gastenboek verschijnen ? Post deze spammer rechtstreeks in de verzamelpagina van de berichten ? Ik snap er helemaal niks meer van. Iemand een idee om de spam tegen te houden ?

Mijn gastenboek staat op www.funktrain.nl

Verwijderd

in de asp die de berichten verwerkt ook checken of er wel ingelogd is, anders kan inderdaad rechtsstreeks daarheen gepost worden

  • kamstra
  • Registratie: April 2001
  • Niet online

kamstra

ipso iure

wellicht dat ie 1 keer inlogt met die gegevens en dan ingelogd blijft staan ofzo?

overigens zie ik in je startpagina ook dit linksonderin:

on (release) { getURL ("mailto:het@emailadres.nl"); } lijkt me ook niet de bedoeling? :P

Huh..?? Neuh...bedankt | Qui habet aures audiendi audiat


Verwijderd

Zoek op capcha

  • Zerora
  • Registratie: September 2003
  • Laatst online: 30-11 22:30

Zerora

Ik Henk 'm!

Bij de bericht submit zo'n gegenereerde image met een code laten intypen voordat er gesubmit kan worden. Er zijn momenteel nog weinig bots die daar doorheen kunnen komen.

voorbeeld:
Afbeeldingslocatie: http://tweakers.net/ext/f/e527d6b52a9e9e2a363c2abdd9ab61f6/full.png

Edit:
Dat heet dus Captcha 8)7

[ Voor 6% gewijzigd door Zerora op 14-06-2007 11:31 ]

Trans-life! :::: "All things change, whether from inside out or the outside in. That is what magic is. And we are magic too."


  • André
  • Registratie: Maart 2002
  • Laatst online: 27-11 10:04

André

Analytics dude

Serverside afhandeling: Programming

Daarnaast is hier best al veel over te vinden. Kon je echt niets vinden?

Verwijderd

Die spam berichten worden niet gedaan door letterlijk berichten in te tikken in het gastenboek. Wat ze doen is ze sturen een POST request naar (in jou geval gastenboek.asp) met daarin alle info die jij wilt hebben (naam, e-mail, bericht enz). Je moet dus bij het ontvangen van een POST request eerst kijken of diegene ook heeft ingelogd.

Het is gebruiksvriendelijker om gebruik te maken van een Captcha systeem. Ik klikte net op gastenboek en toen zag ik gebruikersnaam en wachtwoord staan. Dus ik zoeken naar een manier hoe je je kunt registreren tot ik later de tekst iets beter las.

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 23:10

TeeDee

CQB 241

Kijk eens in dit of dit topic. Daar staan wat tips en ik dacht ook wat redenen waarom Captcha een paardenmiddel is.

[ Voor 19% gewijzigd door TeeDee op 14-06-2007 11:42 ]

Heart..pumps blood.Has nothing to do with emotion! Bored


  • P.O. Box
  • Registratie: Augustus 2005
  • Niet online
ik heb geen captcha... maar sinds mijn gastenboek pagina niet meer gastenboek.php heet, maar notitie.php en er geen url's mogen voorkomen in het bericht (althans, dan wordt hij wel aan de db toegevoegd, maar niet weergegeven, zodat ik hem zelf kan aanzetten) heb ik geen spam meer gehad... wat op zich wel verrassend is, maar gelukkig al ruim een half jaar werkt....
het is niet ideaal, maar voorlopig werkt het nog bij mij...

  • CyBeR
  • Registratie: September 2001
  • Niet online

CyBeR

💩

Kijk of je akismet kunt implementeren.

All my posts are provided as-is. They come with NO WARRANTY at all.


  • smeerbartje
  • Registratie: September 2006
  • Laatst online: 23-11 14:59
CyBeR schreef op donderdag 14 juni 2007 @ 11:49:
Kijk of je akismet kunt implementeren.
Ik vind askimet ook niet alles. Als ik namelijk ergens op een normale homepage/blog een comment wil plaatsen onder mijn eigen naam, emailadres en blog, dan markeert askimet dit als spam. Waarschijnlijk heeft iemand mijn naam als spam gemarkeerd. Mooi kloten!

Ik heb de jongens van Askimet al gemaild of ze mijn gegevnes uit de blacklist willen halen, maar ik krjig geen reply. Iemand een tip?

Verwijderd

Topicstarter
CyBeR schreef op donderdag 14 juni 2007 @ 11:49:
Kijk of je akismet kunt implementeren.
Leuk, zo'n "free" service......heb je het geimplementeerd en dan krijg je enige tijd later de mededeling dat de service vanaf nu betaald dient te worden, anders kunnen ze de service niet meer onderhouden......kan je weer opnieuw beginnen. Maar bedankt voor de tip, ik ga liever voor zoiets als captcha.......ik zag iets op http://www.joriso.nl/verh...evelopment-captcha-2.html dat ik misschien ga implementeren.

[ Voor 5% gewijzigd door Verwijderd op 14-06-2007 12:08 ]


  • CyBeR
  • Registratie: September 2001
  • Niet online

CyBeR

💩

Verwijderd schreef op donderdag 14 juni 2007 @ 12:07:
[...]


Leuk, zo'n "free" service......heb je het geimplementeerd en dan krijg je enige tijd later de mededeling dat de service vanaf nu betaald dient te worden, anders kunnen ze de service niet meer onderhouden......kan je weer opnieuw beginnen.
Pessimistisch bedacht, maar dat zal niet gebeuren. Akismet verkoopt commerciele keys waarmee 't gebeuren onderhouden wordt.
Maar bedankt voor de tip, ik ga liever voor zoiets als captcha.......ik zag iets op http://www.joriso.nl/verh...evelopment-captcha-2.html dat ik misschien ga implementeren.
Grote verschil tussen akismet en captcha is dat akismet je gebruikers niet lastig valt. Gebruikers hebben namelijk een grafhekel aan captchas.

All my posts are provided as-is. They come with NO WARRANTY at all.


Verwijderd

Een vriend van mij heeft trouwens zijn gastenboek beveiligd dmv een simpel sommetje. Hij neemt 2 willekeurige getallen onder de 5 en dan maakt hij het sommetje getal1 * getal2. Mensen moeten het antwoord in een textbox tikken. Naderhand wordt gekeken of het antwoord klopt. Simpeler te implementeren dan letters met ruis in een plaatje.

  • smeerbartje
  • Registratie: September 2006
  • Laatst online: 23-11 14:59
Verwijderd schreef op donderdag 14 juni 2007 @ 12:17:
Een vriend van mij heeft trouwens zijn gastenboek beveiligd dmv een simpel sommetje. Hij neemt 2 willekeurige getallen onder de 5 en dan maakt hij het sommetje getal1 * getal2. Mensen moeten het antwoord in een textbox tikken. Naderhand wordt gekeken of het antwoord klopt. Simpeler te implementeren dan letters met ruis in een plaatje.
Maar hoe kun je naderhand controleren of het klopt? De waarde van het antwoord wordt dus meegegeven in een hidden-field ofzo? Zijn die botjes van tegenwoordig niet zo slim dat ze de hidden-fields controleren?

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 23:10

TeeDee

CQB 241

smeerbartje schreef op donderdag 14 juni 2007 @ 12:21:
[...]

Maar hoe kun je naderhand controleren of het klopt? De waarde van het antwoord wordt dus meegegeven in een hidden-field ofzo? Zijn die botjes van tegenwoordig niet zo slim dat ze de hidden-fields controleren?
Stop de uitkomst in een sessie en in een controle pagina kijk je of de velden opgeteld de waarde in de sessie zijn?

Heart..pumps blood.Has nothing to do with emotion! Bored


  • wackmaniac
  • Registratie: Februari 2004
  • Laatst online: 17:16
wat ik zelf wel een fijn werkende oplossing vind is het "versleutelen" van de veldnamen. Je geeft in een hidden field een string mee en daar kan je mee kan je uitzoeken wat de veldnamen zijn. Om van de spammers af te zijn moet je dan natuurlijk ook een timestamp element meegeven. Wordt volgens mij ook gebruikt op Travian inlogpagina.

Read the code, write the code, be the code!


Verwijderd

smeerbartje schreef op donderdag 14 juni 2007 @ 12:21:
[...]

Maar hoe kun je naderhand controleren of het klopt? De waarde van het antwoord wordt dus meegegeven in een hidden-field ofzo? Zijn die botjes van tegenwoordig niet zo slim dat ze de hidden-fields controleren?
Met een hidden field inderdaad. Nee blijkbaar zijn ze daar niet slim genoeg voor. Ze zullen ze vast wel opmerken maar dat ze die twee waardes moeten vermenigvuldigen dat snappen die bots niet. Hij draait nu al 2 jaar een spam vrij gastenboek.

Verwijderd

Topicstarter
Ik heb een captcha aan de gang gekregen aan de hand van het voorbeeld op captcha, maar ik heb nog 1 probleempje als PHP noob. In onderstaande code krijg je als je de code goed intikt een pagina write.php te zien met de text "goedzo - u bent geen robot" en als je de code verkeer intikt "foei robot, foei foei foei!". Maar wat ik wil is dat wanneer je de code goed intikt je naar de pagina bevestiging.asp gaat en als je de code fout intikt naar fout.asp. Hoe kan ik dit in onderstaande code verwerken ?

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php 
session_start(); 

$redirect= $_POST['referer']; 
if (md5($_POST['norobot']) == $_SESSION['randomnr2']) 

{ // plaats hier php code voor geslaagde captcha

echo "goedzo - u bent geen robot"; 
} 

else 

{ // plaats hier php code voor gefaalde captcha 

echo "foei robot, foei foei foei!"; 

} 
?>

  • mrFoce
  • Registratie: Augustus 2004
  • Laatst online: 23-11 18:22
Je kan ook de variabelen vervangen die je meegeeft :) Dus niet de standaard benamingen. Of je voegt een hidden field toe die je vervolgens in asp afvangt.

if ( len(request("anti-bot") < 1 ) then response.end

Bv

Verwijderd

Topicstarter
gideon82 schreef op vrijdag 15 juni 2007 @ 20:14:
Je kan ook de variabelen vervangen die je meegeeft :) Dus niet de standaard benamingen. Of je voegt een hidden field toe die je vervolgens in asp afvangt.

if ( len(request("anti-bot") < 1 ) then response.end

Bv
Sorry, dit begrijp ik als PHP noob niet.....ik wil dus als je de code goed intikt i.p.v. de message "goedzo - u bent geen robot" dat je naar de pagina bevestiging.asp gaat, en als je de code fout intikt niet de message "foei robot, foei foei foei!" krijgt maar dat je naar de pagina fout.asp gaat.

[ Voor 30% gewijzigd door Verwijderd op 15-06-2007 20:28 ]


  • mrFoce
  • Registratie: Augustus 2004
  • Laatst online: 23-11 18:22
Verwijderd schreef op vrijdag 15 juni 2007 @ 20:22:
[...]


Sorry, dit begrijp ik als PHP noob niet.....ik wil dus als je de code goed intikt i.p.v. de message "goedzo - u bent geen robot" dat je naar de pagina bevestiging.asp gaat, en als je de code fout intikt niet de message "foei robot, foei foei foei!" krijgt maar dat je naar de pagina fout.asp gaat.
Mmm, in de TS titel staat ASP. Dus nam aan dat je ASP gebruikte. Maar wat ik bedoelde te zeggen is dat je gastenboek waarschijnlijk gespamt wordt door een bot. Deze bot gaat uit van 'bepaalde' waardes. Zoals <input type="text" name="email"> bijvoorbeeld. Wanneer je dan het veld niet 'email' zou noemen, maar s_email (om maar even iets te zeggen), dan gaat die bot niet meer werken.

Of je geeft in de code <input type="hidden" name="anti_bot" value="no_bot"> mee, en kijkt in de submit pagina of deze string er is. Wanneer je gespamt wordt door een bot, zal die waarde niet bestaan en zal die spambot niet meer slagen in het spammen.

Zo, hoop dat het nu duidelijk is. Zelf vind ik die captcha minder gebruikersvriendelijk dat bovenstaande methode.

Verwijderd

kun je niet een soort captcha maken met bijvoorbeeld 4 simple plaatje's en welke hoort hier niet in thuis.

dus de bezoeker vult eerst het formulier in en komt dan op de captcha pagina waar bijvoorbeeld 4 simple kleine plaatjes worden gezien. bijvoorbeeld een auto, een trein, een vliegtuig en een haarborstel. als de gebruiker dan op de haarborstel klikt wordt de pagina verzonden, zoniet dan wordt gebruiker terug gestuurd, via een location header natuurlijk.

wat ik vooral een gebrek aan captha's vindt is dat je je muis moet loslaten om iets in te vullen. nu zou dat gewoon 'submit' en dan 'haarborstel' worden. 2 op een volgende clicks is veel makkelijker en waarschijnlijk nog veel sterker ook. want een bot zou de code wel uit een plaatje kunnen hallen door goei OCR+ruis filters maar zelfs als een bot exact weet wat er op het plaatje staat zou hij de puzel nog niet kunnen oplossen. daarnaast zou je de plaatjes ook in stijl van je website kunnen maken.

dus makkelijker voor de gebruiker en zogoed als onmogelijk voor een bot. hele wetenschapsteams zijn bezig om zo'n puzel op te lossen en tot nu toe is er nog niet 1 robot die zo'n puzel heeft opgelost.

Verwijderd

Topicstarter
Bedankt voor je uitleg....

Maar is er toch ook iemand die in PHP mijn bovenstaande vraag kan beantwoorden (dus doorlinken naar de ene pagina als je de captcha goed hebt ingevuld en naar een andere pagina als het fout is) ?

Verwijderd

in PHP zou je dit goed kunnen doen.

het formulier stuurt de gegevens door naar de captcha pagina waar de waardes ondertussen in de sessie worden bewaard. de captcha pagina kijkt in een database van puzeltjes en kiest er willekeurig eentje uit. en set de 4 plaatjes in een willekeurige volgorde klaar in de sessie.

vevolgens maak je een soort van captcha_image.php welke dus de plaatjes verstuurt middel's een img-tag in de vorm van: <img src="captcha_image.php?image=1">. omdat de plaatjes zijn verwisseld en er telkens een andere set wordt gekozen is plaatje 1 dus altijd een ander plaajte. zelfde geld ook voor de andere 3 plaatjes of hoeveel je er maar wil gebruiken.

vervolgens zet je om elk plaatje een href-link in de vorm van: <a href="captcha.php?choise=1"> waarna de captcha.php de gekozen plaatje gecontroleerd met de oplossing. als de gebruiker het juiste plaatje koos, worden de formulier waarden opgeslagen en wordt de gebruiker middel's een header 301 oftewel de location-header omgeleid naar een success pagina. als de gebruiker het verkeerde plaatje koos of het opslaan mislukte wordt de gebruiker omgeleid naar een error pagina.

als je dit een beetje goed opzet hoeft captcha.php en captcha_image.php niet eens formulier specefiek te zijn en zou je elke formulier wat een captcha nodig heeft hiernaar kunnen omleiden.

ik lijkt mij een veel gebruiks vriendelijke en tevens sterkere oplossinging voor bots of any kind.

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 30-11 15:10

Creepy

Tactical Espionage Splatterer

1 topic ervoor is wel genoeg. Ook deze gaat dicht vanwege dezelfd reden. De directe vraag van Andre kwam zelfs geen antwoord op.

Dat je "n00b" bent (volgens je eigen woorden) is niet erg. Dat je direct om kant en klare oplossingen lijkt te vragen en zelf geen moeite lijkt te doen om je eigen vragen te beantwoorden wel.

[ Voor 43% gewijzigd door Creepy op 15-06-2007 21:23 ]

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney

Pagina: 1

Dit topic is gesloten.