Kontakvorms, bots en skaamtelose strooipos

Depositphotos 52422737 s

Anti-spam is 'n groot onderwerp met e-pos. Mense probeer al jare hul inkassie skoon hou met alles van die irriterende spamarrest instrumente om eenvoudige rommel-filters te gebruik met hul vreemde vermoë om vals positiewe te hê. In werklikheid het e-pos-spam so 'n oorlas geword dat die regering selfs toegetree het (stel jou voor) en wette daaroor geskryf het. Maar daar is een vorm van strooipos wat nog steeds aan die waaksaamheid moet voldoen ... en ek hoop dat u my sal help.

Dit het net 'n ergernis begin, maar dit het tot 'n algehele onderbreking gekom. Elke vorm wat ingedien word, lei outomaties 'n voorsprong in my CRM. Wat beteken dat ek die afgelope jaar of wat baie leidrade gehad het om te verkoop aan SEO-ondernemings wat my op bladsy 1 van Google kan kry. Daarom het ek probeer om 'n huisbrou-vormhanteerder te skep wat hierdie nare spammers sou begin identifiseer en uitskakel SONDER die risiko van vals-positief. Want ek haat 'n verlore geleentheid, selfs al het ek meer spam, alhoewel.

Om mee te begin, het ek die soorte strooipos gekook wat ek tot twee kategorieë moontlik kon uitskakel:

  1. Die regte mens wat foutiewe data instuur net om by die koekie agter die vorm uit te kom ... die gratis proeflopie, die gratis witskrif, die drupbemarking inhoud, ens.
  2. Die bots wat op die web deurkruis, en met geaffilieerde skakels en foutiewe data in te dien na enige vorm wat hulle kan vind.

Laat my ook die volgende parameter byvoeg as deel van hierdie klein samewerkingsprojek (waarby u hierby kan kommentaar lewer) die volgende parameter: GEEN CAPTCHA nie. Ek kan die dang-dinge nie self die helfte van die tyd lees nie, en daar is rede om te vrees dat CAPTCHA self loodomskakeling verminder deur slegs probleme.

Die truuk is dus om 'n reeks logiese toetse op te stel waarteen 'n mens die ingediende gegewens kan uitvoer wat 'n beduidende persentasie van die tyd positief sal identifiseer, terwyl die wettige leidrade byna nooit geblokkeer word nie.

Hier is waar ek is:

  1. Voeg 'n invoer in die vorm, tik = teks, maar styl = "vertoon: geen;". Bots sal natuurlik 'n waarde in enige teksinvoerveld toevoeg om die vereiste veldkontroleerders te omseil. As hierdie spesifieke veld egter ingedien sou word met gegewens daarin, kan ons met sekerheid weet dat 'n mens dit nie gedoen het nie.
  2. Kyk vir “asdf.” Eenvoudig, weet ek, maar 'n verslag van historiese strooipos het getoon dat dit 'n taamlik gewilde vorm van valse voorleggings was. As die string asdf in 'n veld verskyn, is dit strooipos.
  3. Kyk vir herhalende karakters. Ek het probeer en probeer, maar ek kon nie aan 'n wettige rede dink dat enige karakter meer as drie keer in 'n naam, maatskappynaam of adresveld moet herhaal nie. As jy my anders kan oortuig, wonderlik. Voorlopig sal 'XXXX Consulting Company' nie 'n leidraad vir my word nie.
  4. Kyk vir identiese snare. Anders as Tim Allen se buurman, Wilson Wilson, het niemand wat ek ken dieselfde stringwaarde in alle velde van 'n kontakvorm nie. As te veel velde identies is, is dit strooipos.
  5. Laastens, en dit is die sleutel: kyk vir URL's waar dit nie hoort nie. Een van die mees klassieke gevalle van strooipos is om 'n URL in 'n veld te plaas waar dit nie hoort nie. Buiten die teksgebied "boodskap", moet 'n URL nie gebruik word vir die naam, telefoonnommer, maatskappynaam of andersins nie. As hulle dit probeer, is dit gemorspos.

Hierdie vyf logiese toetse het spamvoorleggings in die afgelope maand met meer as 5% verminder gratis kontakvorm produk. Ek sal graag daardie syfer nog hoër wil kry. Die grootste aantal spam-voorleggings wat nog steeds verby is, is slegte SEO-aanbiedinge. Dus, hier is die volgende uitdaging: kan u 'n reeks sleutelterme en 'n digtheiddrempel bedink wat redelikerwys sou aandui dat die inhoud van die voorlegging oor SEO praat? Dit kan natuurlik 'n slegte idee wees vir die ouens by SlingShot om op hul werf te implementeer, maar vir die res van ons sal dit pas.

Webontwikkelaars verenig: wat moet nog getoets word?

5 Comments

  1. 1

    Ek hou absoluut van die idee om 'n veld met display:none by te voeg. Dis vernuftig! Ek het baie mane gelede 'n plasing geskryf oor hoe verskriklik 'n tegnologie Captcha is ... dit straf die onskuldiges en voeg 'n bykomende, onnodige stap vir gebruikers by. Dit is die antitese van gebruikerservaring. Ek kan jou versteekte veld op die proef stel!

  2. 2

    Ek hou absoluut van die idee om 'n veld met display:none by te voeg. Dis vernuftig! Ek het baie mane gelede 'n plasing geskryf oor hoe verskriklik 'n tegnologie Captcha is ... dit straf die onskuldiges en voeg 'n bykomende, onnodige stap vir gebruikers by. Dit is die antitese van gebruikerservaring. Ek kan jou versteekte veld op die proef stel!

  3. 3

    Dit werk regtig goed, maar as jy dit op bestaande vorms uitrol, kan dit 'n rukkie neem voordat die effek gepropageer word. Bots kas dikwels jou vorm en plaas daarop soos hulle dit weke gelede gesien het totdat hulle terugkom en dit weer sien. So, solank hulle na jou kasvorm plaas, sal hulle deurkom. Binne ongeveer 'n maand behoort jy resultate te begin sien.

  4. 4

    1. 'n Tydhouer;
    2. Moeilik om te raai van veldname;
    3. bediener-kant vorm validering;
    4. 'n vormveld wat nie na verwagting 'n waarde sal hê nie;
    5. om JavaScript 'n versteekte veld op te dateer met 'n vorm indien;
    6. verander vormkenmerke by indiening met JavaScript;

    #1 is my gunsteling. Begin 'n timer sodra die kontak (of enige bladsy) bladsy gelaai is. Stel aan die bedienerkant 'n verwagte vereiste tyd in om die vorm in te vul. As dit te gou ingedien word, sal die gebruiker 'n boodskap/rekening gedeaktiveer sien/admin ontvang 'n e-pos/ens. Hierdie een skakel eintlik 99.9% van enige tipe botaktiwiteit uit.

    #2 stoor veldname in 'n sessie en gee die velde ewekansige name. Maak dit moeilik vir 'n bot om te leer.

    #3 hierdie een is belangrik. E-pos kan baie akkuraat geverifieer word met gewone uitdrukkings, 'n telefoonnommerveld is veronderstel om 10 nommers te bevat, 2 of meer velde met dieselfde waarde=bot, ens.

    #4 verduidelik in jou artikel, 5 en 6 sommige script opsies.

  5. 5

    Dankie vir die plasing, Nick. Waardeer die deel.

    Martin – Ek dink die timer is 'n goeie idee. Ek neem aan 'n bot sal daardeur rits en die drempel sal ietwat laag wees ... miskien 5 sekondes? Ek is net nuuskierig oor vooraf ingevulde vorms vir werklike gebruikers sowel as gebruikers wat terugkom na die bladsy en dadelik weet dat hulle die vorm wil invul. net my twee pennies. Ek weet ek is omtrent 'n jaar laat met hierdie plasing, so ek verwag nie veel van 'n antwoord nie, plaas dit net in hoop 🙂

    weereens dankie!

    - Dave

Wat dink jy?

Hierdie webwerf gebruik Akismet om spam te verminder. Leer hoe jou opmerking verwerk is.