[CGI] Form image verification

Pagina: 1
Acties:

  • jfeelders
  • Registratie: Januari 2001
  • Laatst online: 14-02 10:47

jfeelders

Kwaliteit voor kwantiteit...

Topicstarter
Ik heb mijn site gehost op de webspace van mijn provider XS4All en heb daar ook enkele formulieren op. Nu neemt formulier-spam de laatste tijd steeds meer toe dus wil ik de formulieren beveiligen met image verification. Nadeel is echter dat de formulieren die XS4All aanbiedt CGI zijn en ik geen gebruik kan maken van PHP. Mijn zoektocht over het internet heeft geen mogelijkheden gevonden om dit in bijv. JavaScript te doen.

Nu moet dit niet al te moeilijk zijn als ik voorlopig uit ga van 1 statische afbeelding met random cijfers en letters erin. Maar de ingetypte code moet daarna door JavaScript worden geverifieerd en ik ben bang dat spambots uit de source alsnog de code kunnen vissen. Hoe kan ik het verifieer-script opstellen zodat ook daaruit niets wordt vrijgegeven naar de spambots? Is een externe JavaScript-file de oplossing?

  • --MeAngry--
  • Registratie: September 2002
  • Laatst online: 11-02 16:38

--MeAngry--

aka Qonstrukt

Een externe javascript zal hoogstwaarschijnlijk ook gewoon gelezen worden door bots. Maar hoe wil je overigens een dynamisch plaatje maken met random tekens als je geen server-side scripttaal kunt gebruiken? Wil je dit in CGI doen? Want in Javascript gaat zoiets helaas niet lukken zonder dat de tekens in de daadwerkelijke code staan.
Misschien dat je wel wat kunt spelen met losse div's of span's om de afzonderlijke tekens in te zetten, maar ik weet niet hoeveel bots hier in gaan trappen.

Tesla Model Y RWD (2024)


  • Gurbe de n00b
  • Registratie: Juni 2003
  • Laatst online: 08-02-2024
Met behulp van DHtml kun je volgens mij plaatjes genereren.

Maar dat is verweg de beste oplossing.

Waarom maak je niet gewoon een nieuw formulier in PHP :)

Portfolio


  • Upsal
  • Registratie: Mei 2005
  • Laatst online: 27-08-2024
Als je het met javascript doet, kun je de gebruiker vragen een bep. statische code (bijv. 53281) over te typen in een textbox, het script vraagt dan daarna 53281.html op. In 53281.html wordt dan de volgende stap uitgevoerd. Mocht de gebruiker een verkeerde code invoeren (bijv. 12345) dan vraagt het script de pagina 12345.html op, en dan verschijnt een 404 error.

Misschien niet de beste oplossing, maar als je geen serversided-taal hebt, dan zijn de mogelijkheden beperkt.

  • BCC
  • Registratie: Juli 2000
  • Laatst online: 14:02

BCC

Je kan in je form een eenvoudig sommetje genereren (2+2?). Het antwoord prop je dan in een hidden field in de form, waarna je het na het posten eenvoudig kan controleren..

Als je echt wil kan je dit zelfs ook wel on the fly doen met javascript. Dat is natuurlijk altijd te reverse engineeren, maar de meeste geautomatiseerde spam-bots zullen dat niet kunnen. Waarom doe je het eigenlijk niet in CGI? Uit onkunde?

[ Voor 32% gewijzigd door BCC op 24-08-2006 11:26 ]

Na betaling van een licentievergoeding van €1.000 verkrijgen bedrijven het recht om deze post te gebruiken voor het trainen van artificiële intelligentiesystemen.


  • jfeelders
  • Registratie: Januari 2001
  • Laatst online: 14-02 10:47

jfeelders

Kwaliteit voor kwantiteit...

Topicstarter
Bedankt voor het meedenken allemaal. Ik denk dat wat ik wil tamelijk onmogelijk is, maar blijf gerust helpen!
--MeAngry-- schreef op donderdag 24 augustus 2006 @ 11:06:
Maar hoe wil je overigens een dynamisch plaatje maken met random tekens als je geen server-side scripttaal kunt gebruiken?
Ik kan alleen maar gebruik maken van de bij XS4All aanwezige CGI mail-a-form en dus wordt het, zoals in mijn TS aangehaald, geen dynamische maar statische oplossing.
Upsal schreef op donderdag 24 augustus 2006 @ 11:16:
...het script vraagt dan daarna 53281.html op.
Mijn mogelijkheden zijn inderdaad beperkt. Alhoewel je een interessante oplossing biedt, zal dit helaas niet gaan werken omdat het mail-a-form binnen 1 pagina uitgevoerd moet worden. Bij mijn weten kan je een statisch form zowiezo niet over meerdere pagina's uitvoeren...
BCC schreef op donderdag 24 augustus 2006 @ 11:25:
Je kan in je form een eenvoudig sommetje genereren (2+2?). Het antwoord prop je dan in een hidden field in de form, waarna je het na het posten eenvoudig kan controleren..
Spambots zullen het antwoord dan uit het hidden field kunnen halen en alsnog invullen. Ik kan dan net zo goed een statische Captcha neerzetten en in een hidden field de input controleren. Bij mij submitten spambots zelfs vanuit tijdelijk ongebruikte en hidden webforms zoals:

HTML:
1
2
3
<!--
<form> bla bla bla </form>
-->
Ze kammen dus echt rigoreus de source uit...
BCC schreef op donderdag 24 augustus 2006 @ 11:25:
Waarom doe je het eigenlijk niet in CGI? Uit onkunde?
Uit 'niet beschikking hebben over een eigen server en gebruik maken van de mogelijkheden van xs4all'...

  • BCC
  • Registratie: Juli 2000
  • Laatst online: 14:02

BCC

jfeelders schreef op donderdag 24 augustus 2006 @ 11:57:
[...]
Uit 'niet beschikking hebben over een eigen server en gebruik maken van de mogelijkheden van xs4all'...
Ik begreep dat je wel CGI tot je beschikking had bij XS4all.. maar dat is dus niet het geval?! Hoe process je de forms dan?

Je kan natuurlijk wel eenvoudig een lijstje van 26 sommetjes opnemen in een javascript array en dan aan de hand van de eerste letter van het opgegeven email adres een sommetje laten zien. In je form processing kun je dan diezelfde truuk doen en de antwoorden vergelijken. Je hebt dan geen hidden fields oid meer nodig.

Dingen als "vijf plus één" is opnemen als captcha zal ook 99% van de bots om de tuin leiden..

[ Voor 43% gewijzigd door BCC op 24-08-2006 12:06 ]

Na betaling van een licentievergoeding van €1.000 verkrijgen bedrijven het recht om deze post te gebruiken voor het trainen van artificiële intelligentiesystemen.


  • jfeelders
  • Registratie: Januari 2001
  • Laatst online: 14-02 10:47

jfeelders

Kwaliteit voor kwantiteit...

Topicstarter
Ik kan alleen gebruik maken van de standaard CGI mail-a-form waar ik geen wijziging of toevoeging in kan maken.
Denk je niet dat spambots die informatie er zo uit filteren omdat het antwoord als JavaScript if/then gewoon in de source aanwezig is?

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Volgens mij kan je met XS4ALL wel degelijk PHP scripts met mail gebruiken hoor :?

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • BCC
  • Registratie: Juli 2000
  • Laatst online: 14:02

BCC

Als je niet tijdens de formprocessing dingen kan checken wordt het erg lastig. Raar dat XS4all daar geen oplossingen voor heeft. Misschien kun je ze beter eens mailen of ze dat niet willen implementeren.. Daar hebben ze zelf ook flink baat bij.

Probleem met javascript checks zonder dezelfde check bij de form validation is dat je de check gewoon kan overslaan als je geen javascript gebruikt...

Ik bedenk mij net dat je heel simpel een veldje "Hoeveel is vijf plus één?" kan toevoegen. En vervolgens uit alle mail die binnenkomt alles wegmikken waar het verkeerd / niet is ingevuld... Mooi is het niet, maar het werkt wel.

[ Voor 22% gewijzigd door BCC op 24-08-2006 12:23 ]

Na betaling van een licentievergoeding van €1.000 verkrijgen bedrijven het recht om deze post te gebruiken voor het trainen van artificiële intelligentiesystemen.


  • BCC
  • Registratie: Juli 2000
  • Laatst online: 14:02

BCC

BtM909 schreef op donderdag 24 augustus 2006 @ 12:14:
Volgens mij kan je met XS4ALL wel degelijk PHP scripts met mail gebruiken hoor :?
Basic abbo niet.

Na betaling van een licentievergoeding van €1.000 verkrijgen bedrijven het recht om deze post te gebruiken voor het trainen van artificiële intelligentiesystemen.


  • jfeelders
  • Registratie: Januari 2001
  • Laatst online: 14-02 10:47

jfeelders

Kwaliteit voor kwantiteit...

Topicstarter
BCC schreef op donderdag 24 augustus 2006 @ 12:15:
Ik bedenk mij net dat je heel simpel een veldje "Hoeveel is vijf plus één?" kan toevoegen. En vervolgens uit alle mail die binnenkomt alles wegmikken waar het verkeerd / niet is ingevuld... Mooi is het niet, maar het werkt wel.
Dat zou ik dan achteraf (bijv. met een extra filter in MailWasher) moeten doen. Dit is waarschijnlijk niet mogelijk direct in of na het uitvoeren van het form op de xs4all-server. Wel een oplossing voor als al het andere niet gaat werken. :)

  • BCC
  • Registratie: Juli 2000
  • Laatst online: 14:02

BCC

Dat bedoel ik ook. IMHO is dat je enige optie. Maar mail XS4all eens, dat zijn geen onaardige mensen :)

Na betaling van een licentievergoeding van €1.000 verkrijgen bedrijven het recht om deze post te gebruiken voor het trainen van artificiële intelligentiesystemen.


  • jfeelders
  • Registratie: Januari 2001
  • Laatst online: 14-02 10:47

jfeelders

Kwaliteit voor kwantiteit...

Topicstarter
Dan nu een stapje verder. Ik maak ook gebruik van xs4all's CGI guestbook. Daar kan zonder tussenkomst van mij in gedeponeerd worden, met als resultaat dat ik per week 10-50 regels spam moet deleten. Een controlerende functie is daar dus nodig waarbij de omstandigheden en problemen het zelfde zijn als mijn hierboven genoemde CGI mail-a-form.
Misschien ga ik toch maar eens een test doen met een javascript-check-functie...
Pagina: 1