ZOMDir > BlogNL

dinsdag 25 maart 2014

Wantrouw alle invoer, maar vertrouw je gebruikers

Het ZOMDir project balanceert op de dunne lijn tussen vertrouwen en wantrouwen. 

ZOMDir.com is een combinatie tussen een startpagina en een wiki. Nagenoeg alles is door iedereen te wijzigen. Dat vraagt om vertrouwen.


Aan de andere kant adviseert het Nationaal Cyber Security Centrum, overigens net als vele anderen, de gebruikersinvoer te wantrouwen. Voor je het weet is je site gehackt. Google geeft in dit transparantie rapport aan dat elke dag duizenden nieuwe onveilige sites worden ontdekt. 


Overigens heb ik dat zelf ook een keer mee kunnen maken. De Helenahoeve (een website voor de boerderijcamping van mijn schoonzus) was ooit gehackt en schotelde iedereen malware voor afkomstig van de site mashaei.ir. Dat is iets dat je niet wilt. Nagenoeg alle bestanden waren geïnfecteerd en moesten worden vervangen. Belangrijker was echter dat ik moest voorkomen dat het opnieuw gebeurde. Sindsdien wordt alle invoer die door de PHP-code verwerkt wordt gecontroleerd en gefilterd. 


De kunst is dan ook om de gebruikersinvoer te wantrouwen op zo'n manier dat een gebruiker die te goeder trouw is daar geen last van heeft.


Terug naar ZOMDir. ZOMDir draait middels Google App Engine op de infrastructuur van Google. De kans dat dat gehackt wordt middels een SQL injectie of iets dergelijks acht ik nagenoeg nihil.



Werkt een wiki?

De grote vraag die dan overblijft is of een combinatie tussen een startpagina en een wiki wel gaat werken. Op www.leren.nl wordt over wiki's het volgende gezegd:
(...) Als iedereen zomaar verbeteringen kan aanbrengen, dan kan iedereen ook zomaar onzin invoeren. Werkt dat wel? 
In de praktijk blijkt het in bepaalde gevallen goed te werken. De wiki is onderdeel geworden van de Internetcultuur. De succesvolle wiki's worden bemenst door een groep vrijwilligers die op de achtergrond alle wijzigingen in de gaten houden. Vandalisme wordt snel teruggedraaid. (...)

Gezien het succes van Wikipedia heb ik er wel vertrouwen in dat het ook voor ZOMDir gaat werken.


Monitoring

Om bij te houden welke wijzigingen er worden doorgevoerd, en eventueel vandalisme terug te draaien zijn er, in de loop der tijd, meerdere monitoring tools gemaakt. Denk hierbij aan de Geschiedenis  van onderwerpen en locaties en aan de nieuwsfeed per pagina. Daarnaast is er voor de gehele website een nieuwsfeed die bijhoudt welke pagina's worden geactiveerd. Deze nieuwsfeed vind je hier: https://www.zomdir.com/rap.xml. Elke link die wordt toegevoegd wordt overigens ook getoond op de pagina: 
https://websitequality.zomdir.com/history.htm


Voorkomen is beter dan genezen

Om te voorkomen dat er rotzooi op ZOMDir komt te staan, of dat iemand zijn website duizenden keren gaat spammen zijn er een paar regels waarop automatisch wordt gecontroleerd. De belangrijkste regels zijn.
  • De webpagina moet "veilig"  zijn te bezoeken
    Bij het opvoeren van een nieuwe webpagina wordt gecontroleerd op "veiligheid". Indien geconstateerd wordt dat een website niet "veilig" is te bezoeken, dan kan deze niet worden opgenomen;
  • Elke webpagina mag maar één keer worden opgenomen
    Als bij het opvoeren van een link geconstateerd wordt dat webpagina al voorkomt, dan wordt aangeboden om de betreffende link te verplaatsen.

Middels, onder andere, bovengenoemde maatregelen balanceert ZOMDir op de dunne lijn tussen vertrouwen en wantrouwen.


Het blijft vervelend dat je de gebruikersinvoer moet wantrouwen, maar door de juiste balans te zoeken, geeft dat wel vertrouwen voor de toekomst. Deze checklists geven een goed beeld van mogelijke invoercontroles.


Rest me je succes te wensen met het wantrouwen en vertrouwen van jouw website gebruikers. Succes,
Hans

--
ZOMDir.com is een startpagina en een Wiki
Ook jij voegt in 10 seconden een link toe
Voor meer informatie, ga naar Slideshare