Door Sander den Heijer

Product Lead

Spambestrijding en updates voor V&A en marketplaces - Development-iteratie #184

23-06-2020 • 14:58

54

De release van development-iteratie #184 is gedaan. In deze release hebben we de maatregelen om spam te verwijderen en voorkomen verscherpt, hebben we verder gewerkt aan de verbetering van V&A en is flinke voortgang geboekt met de marketplaces.

Spam

SpamDe laatste tijd hadden we weer veel last van spammers op de site. Dat leverde veel werk op voor de crew om gebruikers handmatig te bannen en om geplaatste berichten te verwijderen. Daarop hebben we een aantal maatregelen genomen.

De eerste is dat we het voorlopig onmogelijk hebben gemaakt om van buiten de Benelux een nieuw account aan te maken op het platform. Ten tweede hebben we het achter de schermen voor de crew mogelijk gemaakt om in één handeling een user te bannen en alle forumposts te trashen. Dat maakt het achteraf verwijderen van spam en spammende users gemakkelijker.

Ook werken we verder aan uitbreiding van de al bestaande maatregelen om spam tegen te gaan. We gaan de bestaande systemen daarvoor uitbreiden met betere automatische detectie van spammers en spamberichten.

Update Vraag & Aanbod

In deze sprint hebben we ons voor de verbeteringen in Vraag & Aanbod gericht op het vernieuwen van de styling van het 'Advertentie toevoegen'-formulier. Daarmee hebben we het nu ook bruikbaar gemaakt voor mobiele schermen. Daarnaast stond deze sprint in het teken van de foto-upload. Het eerste backendwerk daarvoor is gedaan en we weten nu hoe we dat verder moeten uitwerken om in komende sprints naar een release van dit geheel toe te werken. Net als in de vorige .plan vragen we nog even jullie geduld hiervoor.

V&A iPhone8
Sneak preview advertentie toevoegen op mobiel

Marketplaces

Ook hadden we het in de vorige .plan al over de komende wijzigingen aan de marketplaces in de Pricewatch. De technische aanpassingen aan onder andere de importer en de backend zijn in deze sprint afgerond. In de komende sprint gaan we deze functionaliteit testen en als alles dan goed is, zullen we deze verbeteringen spoedig wereldkundig maken.

Techupdate

In de vorige sprint zijn we begonnen om sneller releasen mogelijk te maken. Maakten we toen nog gebruik van een releasescript dat draaide op de machine van een devver, nu kunnen we direct releasen vanuit een merge-request. Het ophogen van het versienummer gaat nu automatisch aan de hand van de naam van de branch die wordt gereleased.

Omdat we nu vaker kunnen en willen releasen, hebben we onze logging zo aangepast dat we eerder op de hoogte zijn als dingen onverhoopt fout gaan na een release. Verder hebben we natuurlijk documentatie moeten schrijven en zijn kleine verbeteringen doorgevoerd aan onze testomgeving, zodat het voor alle testers inzichtelijk is hoever een branch achterloopt op de ontwikkelbranch.

Reacties (54)

54
53
45
1
0
2
Wijzig sortering
Zijn die forumposts ook weer te herstellen, mocht per ongeluk de verkeerde user getrasht worden?
Volgens mij gaat het met betrekking tot spammers voornamelijk om de FP. Dat liep aardig de spuigaten uit de laatste tijd.
Zie: Spammer gespot? Meldtopic *Frontpage only*

Viel me wel op dat die vaak wel erg goed Nederlands schrijven. (Zeker in vergelijking met de gemiddelde FP-reacties. :+ ). Vandaar dat ik niet gedacht had dat dat vaak vanuit buiten de Benelux kwam.
Het was wel altijd hetzelfde soort spul.

Maar zo'n enkele destructo-knop is inderdaad wel aardig link. :P
Omdat de frontpage altijd al custom code is geweest, moet degene die altijd spammed de laatste tijd, zelf ook een custom script of tool hebben om dat te kunnen doen, zelfde geldt voor het registreren trouwens. Dus zodra er wat beperkingen op zitten moet dat ook wel dicht te spijkeren zijn.

De mooiste manier om dat dicht te spijkeren, is een reCaptcha of vergelijkbaar toevoegen aan het registratieformulier, of (zoals men nu gedaan heeft) restricties leggen op vanaf waar er kan worden geregistreerd. Waarbij imo de laatstgenoemde de minst goede oplossing is. Met een reCaptcha hoef je niet meer te filteren (in dit geval) op basis van land waar je je als bezoeker in bevind.

Zit de spammer in Nederland, dan kan diegene alsnog doodleuk doorgaan en heeft de filtering geen enkel nut. En wat security through obscurity; doordat Tweakers deze maatregelen nu heeft aangekondigd, kan een tool zit daarop aanpassen, zodat het gewoon weer netjes binnenkomt. Hadden ze dat niet gedaan, had het weliswaar uiteindelijk vast ook gelukt, maar duurde het tenminste wel langer.

[Reactie gewijzigd door CH4OS op 24 juli 2024 23:07]

Er zit al reCAPTCHA op het inlog-formulier, wellicht zie je die nooit omdat je binnen 'de regels' valt, maar vanuit het buitenland zou je hem sneller zien.

Het probleem met reCAPTCHA is dat je vrij goedkoop diensten kunt afnemen die deze invullen (zgn "recaptcha farms"), waardoor dit ook geen effectief middel is; dat weten we al. En voor wat betreft onze aankondiging van deze regels, dit zijn dingen die de spammers ook verwachten dat we gaan doen, dus zo geheim en/of bijzonder is het niet. Sterker nog, we zagen eerst veel spam via het ene land, op het moment dat we daar een blokkade op zetten, zagen we dat er vrijwel direct overgeschakelt werd naar een andere land. Dit lijkt er op dat ze niet blind spam plaatsen, maar ook daadwerkelijk checken of dit lukt. Met de restrictie van het registreren vanuit bepaalde landen zorgen we er voor dat er minder verschillende IP's worden gebruikt, zodat we eenvoudiger deze kunnen blokkeren.

Omdat we ons richten op de Nederlandse markt, in het Nederlands, is het beperken van het registratie-land een eenvoudige een redelijk doeltreffend middel.
Tweakers lost privacy m.b.t. tracking goed op bijvoorbeeld zelf knoppen om een artikel te delen te hosten, i.p.v. het via servers van Facebook, Twitter e.d. te laten lopen. Pas als je op zo'n knop drukt krijg je dan te maken met die derde partijen.

Bij reCaptcha krijg je sowieso te maken met Google, iets dat ik heel onwenselijk vind.

Toegegeven, Tweakers gebruikt helaas wel Google Analytics i.p.v. zelf een analysetool te hosten :'( . Maar Google Analytics kan ik in ieder geval nog zonder problemen blokkeren.
Bij reCaptcha krijg je sowieso te maken met Google, iets dat ik heel onwenselijk vind.
Er zijn genoeg alternatieven tegenwoordig, reCaptcha is dus ook maar een naam voor de techniek / mechaniek en meer niet. :) Privacy hoeft dus zeker geen struikelblok ervoor te zijn,
reCaptcha is voor zover ik weet een productnaaam van Google.
Toegegeven, Tweakers gebruikt helaas wel Google Analytics i.p.v. zelf een analysetool te hosten :'( . Maar Google Analytics kan ik in ieder geval nog zonder problemen blokkeren.
Ik gok dat dit zo'n maatregel van hogerhand is, hetzelfde als de cookiewall die tegen de wet is waar Tweakers ook zeer bewust van is.

Mochten ze toch een eigen tool gaan hosten, weten ze dat ze bij matomo (vroegere piwik) goed terecht kunnen.
Een reCaptcha of vergelijkbaar is een beperking waarmee je legititeme gebruikers lastig valt. Ik vind dat zeker niet de mooiste manier. Ik haak er zelf vaak op af omdat ik zoveel trackers blokkeer dat ze niet meer werken.
Uiteindelijk gaat het er om dat je de legitieme van de niet-legitieme gebruikers scheidt. Als uit een analyse blijkt dat 99.999% van de legitieme gebruikers uit de benelux kun je dat gegeven prima gebruiken. De overige 0.001% weer je dan (of je geeft juist die groep een captcha).
Een reCaptcha of vergelijkbaar is een beperking waarmee je legititeme gebruikers lastig valt.
Is afhankelijk van de implementatie. En ja, je werpt dan een struikelblok op, maar dat is toch ook precies het doel? Dat doe je met een maatregel om op basis van herkomst te filteren net zo goed, maar het effect is ietsjes minder (zichtbaar).
Ik vind dat zeker niet de mooiste manier. Ik haak er zelf vaak op af omdat ik zoveel trackers blokkeer dat ze niet meer werken.
Tja, gebruikers uitsluiten omdat ze niet in de Benelux zitten verdient ook de schoonheidsprijs niet. Legitieme gebruikers vanuit die zone kunnen hierdoor ook niet meer registreren. ;) Links- of rechtsom werp je dus sowieso een drempel op (of je het nu wilt of niet), waarbij de Recaptcha het moeilijkste te omzeilen is. Dan is dat (wat mij betreft) de minst kwade. :)
Uiteindelijk gaat het er om dat je de legitieme van de niet-legitieme gebruikers scheidt. Als uit een analyse blijkt dat 99.999% van de legitieme gebruikers uit de benelux kun je dat gegeven prima gebruiken. De overige 0.001% weer je dan (of je geeft juist die groep een captcha).
Tja, de spammer zal nu steeds een wisselend IP-adres aannemen uit Belgie, Nederland of Luxemburg en niemand die het doorheeft, want de spammer komt uit de legitieme zone.

[Reactie gewijzigd door CH4OS op 24 juli 2024 23:07]

En ja, je werpt dan een struikelblok op, maar dat is toch ook precies het doel?
Het doel is de spammer buiten te houden, het gevolg is tenminste legitime registratie te irriteren met zo'n faal reCaptcha die vaak niet werkt:
- onterecht fout keuren
- oneindige nieuwe 'zoek de juiste plaatjes' pagina's
- enorme korrelige plaatjes tonen die een retard lange fade out hebben (ook bij snelle verbinding)
- eindeloos auto's/brandkranen/etc. tonen als je zo'n fade out reCaptcha krijgt)
- 2 matchende afbeeldingen hebben, terwijl 3 minimaal vereist is
- niet of enorme traag reageren bij het selecteren van plaatjes
- soms afbeeldingen niet laden, die uiteindelijk wel aangeklikt moesten worden
Vandaar dat ik zeg dat er anno 2020 genoeg alternatieven zijn. :) Zo is er ook een dat je een plaatje goed moet draaien etc, maar is naar mijn beste weten ook gewoon recaptcha. Mogelijkheden te over.

[Reactie gewijzigd door CH4OS op 24 juli 2024 23:07]

Een niet-irritante captcha is oké, zoals eenvoudige sommetjes oplossen, een slider schuiven of een puzzelstukje plaatsen. Die reCaptcha faal van Google is jammer.
Offtopic: je tweakblogs zijn leuk, keep up the good work.
Ik heb geen TweakBlog ;)
Jup, nu gaat de spammer waarschijnlijk gewoon een VPN gebruiken, maakt het geen zak uit. Maak de registratie wat lastiger voor automagishe scriptjes.
Als de spammer nog geen VPN gebruikte, was hij allang door de mand gevallen.
reCaptcha, hoe durf je die te adviseren?!?

Het is HET machtsmiddel van Google om Chrome te pushen en anti-tracking-addons te frustreren.

Ja, op een kale Chrome zonder anti-tracking addon geïnstalleerd verschijnt het vinkje meteen. In het andere geval vreet het 5 minuten van je leven weg. Per keer.
Dan doe je zelf wat niet goed vrees ik. Ik blokkeer hier alles wat los en vast zit, maar deel deze ervaring niet, ik gebruik Firefox.

[Reactie gewijzigd door CH4OS op 24 juli 2024 23:07]

F_J_K Forummoderator @HMC23 juni 2020 15:29
Ook op het forum is spam bepaald niet ongehoord, al is het daar minder zichtbaar: enerzijds omdat er (iets) meer mensen zijn die er spam kunnen puinruimen, anderzijds omdat de meldingen vaak via topicreport komen zodat de spam-meldingen niet te zien zijn voor niet-crew.

Maar hopelijk scheelt de nieuwe functionaliteit om het overal nog wat sneller (en met minder RSI) weg te knikkeren. En hopen dat het spammen op een gegeven moment niet meer winstgevend is voor de @$*&...
Met wat handwerk, ja :)
Zou je de lol er niet af halen als een user pas na een x aantal posts of tijd links mag posten?
Maar hoe kom je dan aan dat minimum als je pas mag posten na een minimaal aantal posts?
@418O2 zei 'links posten' niet überhaupt posten
Ah, dat is wel een essentieel woord in die zin, ja. :+
Dat zijn details, dat werken we later wel uit.
Posten zonder links
Ik kan me voorstellen dat er veel users zijn die een account openen omdat zij een probleem hebben waarvoor ze een oplossing zoeken.
Bij Tweakers heeft men graag dat een user eerst even zelf op zoek gaat. Het zou dan wel erg onhandig zijn als ze niet links kunnen plaatsen naar pagina's op andere fora of helpsites waar zij al oplossingen van geprobeerd hebben.
Alleen voor de frontpage is dat toch prima?
Zou kunnen, maar de originele post waar je op gereageerd had heeft het over forumposts, dus daar was ik ook vanuit gegaan.

Deze post dus:
Jorgen in 'plan: Spambestrijding en updates voor V&A en marketplaces - Develo...
Zijn die forumposts ook weer te herstellen, mocht per ongeluk de verkeerde user getrasht worden?

[Reactie gewijzigd door TheFes op 24 juli 2024 23:07]

Nu gaat dit waarschijnlijk op voor spammers die op de eerste dag na registratie een tiental berichten op de FP of het forum dropt. Ik acht de kans kleiner dat iemand na 10 jaar posten op Tweakers ineens gaat spammen, alhoewel zo'n account ook gehackt kan zijn. Zou jammer zijn als je door een vergissing ineens bijna 14000 berichten van iemand handmatig moet herstellen.
Zou jammer zijn als je door een vergissing ineens bijna 14000 berichten van iemand handmatig moet herstellen.
for message in user.messages:
..if message.currentversion.date > spamDate:
....message.restoreversion(message.history[len(message.history)-1]

Natuurlijk is het niet zo makkelijk als het stukje pseudocode hierboven, maar het is ook weer niet zo moeilijk als een goede basis al aanwezig is. Dat in een GUI functie verwerken, en men kan weer vrolijk door na een druk op de knop. :P

[Reactie gewijzigd door The Zep Man op 24 juli 2024 23:07]

Kijk, dat soort dingen weet ik dan weer niet. Mooi als dat zou kunnen.
Als je het goed (of eigenlijk iets minder simpel) programmeert, dan is het heel simpel om dergelijke functionaliteit in te bouwen. In plaatst van automatisch de hele user en dito berichtendatabase te verwijderen een controle toevoegen 'Als 1e spambericht is van datum x, dan user bannen en alle berichten en topics na die datum verwijderen. Stuur mail naar gebruiker om aan te geven dat account is verbannen en hoe dat is op te lossen'.

Het zou mijn meer verbazen als het letterlijk zo achterlijk is geprogrammeerd dat je echt alles verwijdert ongeacht hoe de spam is gedetecteerd.

Om gehackte accounts (en zo mogelijk actieve gebruikers) te beschermen kun je nog weer extra veiligheidjes inbouwen zoals een controle op de karmapunten en/of de registratiedatum. Een spammer neemt de moeite niet om een betrouwbaar ogend account op de bouwen, evenals een actief account niet gelijk zou gaan spammen.

En zulke controle's / beveiligingen zijn letterlijk maar 1 of 2 regels code. Dat scheelt altijd nog meer werk dan achteraf een (gedateerde) backup moeten raadplegen om de geschiedenis weer te herstellen.
Klinkt logisch, dus dat moet inderdaad wel te bouwen zijn.
Dat klopt idd ? De meeste spammers zijn ook gericht op het handwerk.

:+ }:O
Ik hoop dat deze geflagged worden met een deleted=1.
Note: Ik ben GEEN mod/dev/admin

Ja dat kan. Posts die worden verwijderd verdwijnen niet geheel. Ze worden naar een 'schaduw forum' verplaatst waar alleen mods/admins in kunnen. Van daaruit kunnen posts terug gezet worden.
merge-request? Gewoon force-push naar main branch. Een bèètje vertrouwen in je commits hebben hè. Op die manier betrek je ook de community bij het testen. Co-creatie noemen we dat.

:+ :+ :+

Edit: Wat is dat icoon naast het instellingen-tandwiel-icoon? Lijkt op een boos oog..

[Reactie gewijzigd door 5pë©ïàál_Tèkén op 24 juli 2024 23:07]

Dat is agile toch? Continuous delivery :+
Goed gezien. Altijd leuk met screenshots vanaf een test/ontwikkel-omgeving. Dat is van de tool Browserstack die we gebruiken om cross browser tests mee te doen. :)
Geen idee wat dat is. Ben ook wel benieuwd nu.
Zijn jullie ook aan het knutselen met de Feedback knop?
Ik zag gisteren dat die vervangen was voor Beoordeel dit artikel. Waarna die even moest laden en ik alsnog naar het Geachte redactie forum werd doorgestuurd.
Scherp opgemerkt :) . Sinds gisteren is de Feedback-link onder de auteur vervangen door een 'Beoordeel dit artikel' knop waar een feedbackformulier achter hangt. We maken hiervoor gebruik van Usabilla die externe javascript moet inladen. Als het laden van die javascript niet lukt (omdat je een privacy-extensie in je browser gebruikt) verwijzen we je naar het feedbackforum.
"Als het laden van die javascript niet lukt (omdat je een privacy-extensie in je browser gebruikt) verwijzen we je naar het feedbackforum. "
Onder welke domeinnaam wordt die ingeladen? Ik zie hier de Feedback knop, maar niet iets van Usabilla dat geblocked wordt.
Van usabilla.com. Het script wordt echter pas ingeladen als je op de knop klikt.
Ik zie zowel tijdens het laden van deze pagina als na het klikken op de feedback-knop niets van usabilla in de browserconsole voorbij komen :S
Ten tweede hebben we het achter de schermen voor de crew mogelijk gemaakt om in één handeling een user te bannen en alle forumposts te trashen. Dat maakt het achteraf verwijderen van spam en spammende users gemakkelijker.
Ik verbaas me eigenlijk dat dit nog niet mogelijk was. Waarom zou je de troep van een spammer niet direct verwijderen als je zijn account verwijderd.
Omdat we in het verleden vooral hebben gefocust op het voorkomen van spam; dat is beter voor bezoekers en vrijwillgers die helpen met de bestrijding er van. De laatste periode was er een vloedgolf van spam die we nog niet eerder hadden meegemaakt, dus moesten we er nu toch aan geloven zo'n tool te maken; naast andere maatregelen.
Kijk uit naar de advertentiepagina voor de mobieltjes. Afgelopen tijd aardig wat lopen vloeken en tieren omdat ik steeds een mistap had vanwege m'n worstenvingers!
Goed bezig wederom guys :D
Bor Coördinator Frontpage Admins / FP Powermod 23 juni 2020 15:35
Weer een mooie update waarin belangrijke punten zijn verbeterd voor crew en users :) Keep up the good work!
Een hersenspinsel: Helpt een verplichte 2FA bij registratie tegen spammers? Of desnoods een question-respons vraag? Nu hoef je alleen maar username, password en e-mail in te voeren, dat maakt het natuurlijk ook niet moeilijk....

Registratie buiten de Benelux onmogelijk maken lijkt me een wat heftig middel..

[Reactie gewijzigd door herofruit op 24 juli 2024 23:07]

Goed bezig, Tweakers! (y)

Op dit item kan niet meer gereageerd worden.