Aanpak te streng?
Ik ben een goed jaar geleden begonnen met het scripten van een wmcommunity. Toen v1 online kwam had ik redelijk wat leden, maar kwam ik erachter dat veel mensen toch gaan proberen dingen te slopen, ruzies gaan zoeken, gaan spammen ect. ect.
Aangezien ik in de zomervakantie opnieuw ben begonnen met scripten heb ik hier meteen rekening mee gehouden. Er draait een programma op de server die alles in de gaten houd ect. ect.
Ook in de scripting heb ik met zo veel mogelijk rekening geprobeerd te houden.
Voorbeelden: Probeer jij een formulier te vervalsen zal je meteen een ban krijgen, probeer jij een cookie te vervalsen meteen een ban, hetzelfde geld voor het vervalsen van een sessie, het plaatsen van code buiten de code tag die als ik mijn ubb niet goed beveiligd zou hebben cookiehajacking zou kunnen teweegbrengen.
Ga zo maar door.
Nu kreeg ik van een groot aantal beta testers te horen dat ze de aanpak te streng vinden.
Zelf vind ik het erg normaal om mensen te straffen voor iets waar ze niet bij zouden komen zonder iets handmatig te veranderen. Bijvoorbeeld door een ander berichtid in te vullen als ze berichten bekijken proberen ze die van iemand anders te lezen.
Aangezien ik zoveel commentaar heb gehad zou ik graag jullie mening willen hebben.
Plan 1.
Alles zo laten en kijken wat toch echt te streng is
Plan 2.
Met een 3 punten systeem gaan werken en als iemand 3 punten heeft meteen de ban invoeren.
Plan 3. Met % gaan werken (gaat veel aanpassingen kosten) en per onderdeel kijken hoe erg de overtreding is?
Een url parameter veranderen en daarna mogelijk een ban krijgen vind ik veel te ver gaan. Ik redirect dan naar de begin pagina.
De kans dat je iemand te snel afstraft is groot. Wissel ik van netwerk, dan wissel ik van IP-adres. Cookie & sessie blijven gewoon behouden, maar het zal lijken alsof ik mijn eigen sessie heb gejat.
Door een bug in je site wordt in bepaalde situaties het formulier niet helemaal goed weergegeven (denk aan bijvoorbeeld 1 keer htmlentities ergens vergeten, of iemand anders heeft via een mooie string je formulier om zeep geholpen) De niet-kwaadwillende persoon is dan nu de dupe.
Mijn conclusie is dat jij als programmeur er gewoon voor moet zorgen dat mensen tegen je applicatie kunnen schoppen zonder dat hij ook maar een beetje trilt. Maar jij schopt gewoon terug. Dat wekt alleen maar kwaadwillende gevoelens op, en je bezoekers zullen terugkomen - achter een proxy met enkel kwaadwillende ideeën.
Als webmaster moet je de sfeer een beetje goed houden. Mensen direct bannen is dan niet echt bevorderend. Mensen beschuldigen van iets dat ze niet doen (zie voorbeelden hierboven) is nog een slechter idee. Daarom denk ik dat je die enkele gevallen die kwaad kunnen gewoon met de hand moet controleren en in de gaten moet houden. Zijn er mensen die zich niet weten te gedragen, dan spreek je hen er publiek op aan (publiek is goed, dan is het duidelijk zichtbaar dat jij het voor de community opneemt) en als dat al niet helpt, dan pas komt de ban.
En verder, wat heb jij te vrezen waneer je je applicatie goed en degelijk, en dus veilig hebt opgebouwd?
edit: oeh, 6000ste post :)
edit 2: misschien is het ook handig om een extra functie toe te voegen aan je topics: jij kan ze markeren als 'no-follow', en zoekmachines uit de topics weren. Zo kan er een scheldpartij plaatsvinden zonder dat deze in de zoekmachine wordt opgenomen, en je weet welke topics je de volgende dag eventueel even moet opruimen. Scheldpartijen mag je natuurlijk verwijderen, zij hebben geen toegevoegde waarde. Maar pas daar wel mee op, mensen worden over het algemeen niet blij waneer je hun posts verwijdert.
Gewijzigd op 01/01/1970 01:00:00 door Jelmer -
Plan 4 it is. Ik zou het in de gaten houden, maar pas ban systemen gaan invoeren als ze echt nodig zijn. Vaak worden regels en systemen aangenomen die totaal niet nodig zijn.
Wanneer men iets probeert te verneuken en jij registreert dat, geef dan gewoon een standaard nietszeggende foutmelding uit de 400-serie. Je maakt daarmee de hacker niet wijzer dan dat hij is en ziet (als je het goed doet) geen verschil tussen een 'echte' foutmelding en een door jou geregiseerde foutmelding. Een 403 Forbidden doet het in veel gevallen uitstekend, maar je hebt voldoende andere mogelijkheden om een hacker van het kastje naar de muur te sturen. En weer terug.
Verder maak jij cookie en session-hacking uiteraard onmogelijk, maar dat staat los van de overige problemen.
Plan 4 lijkt unaniem gekozen te worden (hoe kan het ook anders). Ik wil Jelmers post verder aanvullen (als dat mag van hem dan) door op te merken dat je juist op een 'webmaster community' (ik neem aan dat wmcommunity daarvoor staat?) rekening moet houden met getest door je leden. Kijk bijvoorbeeld naar phphulp: deze site is ook al vaak 'uitgeprobeerd', en soms met succes.
Kasper schreef op 30.10.2007 22:35:
deze site is ook al vaak 'uitgeprobeerd', en soms met succes.
en
Ik zie nu ook in dat jullie allemaal gelijk hebben. Het is niet nodig om iemand te bannen voor dingen die perongeluk kunnen gaan zoals de sessie of cookie verkeerd hebben zodat als Jelmer zei is niet goed omdat ze van netwerk kunnen veranderen en ze dan een ban zouden krijgen.
Aangezien iedereen er bijna voor is om de acties wel op te slaan, maar ze er niet automatisch voor gebanned laten worden denk ik dat ik deze keuze ook ga gebruiken.
Ïk moet dan wel elke dag even kijken wie-wat heeft gedaan en dan handmatig op innactief zetten.
Ik zou jullie allemaal nog is willen bedanken om me te behoeden van een grote FLOP en hoop in de nabije toekomst de website aan jullie te kunnen laten zien.
Maar goed, waarom zou je iedere dag moeten kijken. In Jelmer's nu al befaamde plan 4 staat ook dat je jezelf via mail op de hoogte moet houden.
Als je een mail krijgt, dan hoef je pas naar je site.
Groet!
Quote:
En dan hoef je niet alsnog te gaan bannen, want dan kan je dat net zo goed automatisch doen. Je kan een soort "three-strikes-and-you're-out" systeem hanteren; eerste keer melding laat je doen, kan gebeuren dat er iets mis is. Tweede melding bij dezelfde gebruiker stuur je mailtje naar hem/haar met wat info over wat er gebeurd is en vraag je op vriendelijke toon of er misschien iets veranderd is bij de gebruiker. Op die manier laat je in elk geval weten dat zijn/haar acties niet onbekend zijn bij jou en kan hij nog kiezen om te stoppen. Komt hij/zij met een geloofwaardige verklaring, dan zet je de teller weer op 0. Krijg je geen of een nutteloze reactie, dan geef je bij de derde keer dat je een melding krijgt een ban voor een bepaalde periode. Valt op zich wel te automatiseren als je het goed uitwerkt.Ik moet dan wel elke dag even kijken wie-wat heeft gedaan en dan handmatig op innactief zetten.
Kasper schreef op 31.10.2007 11:14:
Quote:
En dan hoef je niet alsnog te gaan bannen, want dan kan je dat net zo goed automatisch doen. Je kan een soort "three-strikes-and-you're-out" systeem hanteren; eerste keer melding laat je doen, kan gebeuren dat er iets mis is. Tweede melding bij dezelfde gebruiker stuur je mailtje naar hem/haar met wat info over wat er gebeurd is en vraag je op vriendelijke toon of er misschien iets veranderd is bij de gebruiker. Op die manier laat je in elk geval weten dat zijn/haar acties niet onbekend zijn bij jou en kan hij nog kiezen om te stoppen. Komt hij/zij met een geloofwaardige verklaring, dan zet je de teller weer op 0. Krijg je geen of een nutteloze reactie, dan geef je bij de derde keer dat je een melding krijgt een ban voor een bepaalde periode. Valt op zich wel te automatiseren als je het goed uitwerkt.Ik moet dan wel elke dag even kijken wie-wat heeft gedaan en dan handmatig op innactief zetten.
Ik zal zeker is gaan kijken hoe ik dit het beste aan kan pakken. Ben nu bezig om zowiezo met een 3 punten systeem te gaan werken en zal eens kijken of ik het op deze manier zal aanpakken of dat ik er nog wat aan verander.. Nogmaals bedankt allemaal