Pressande uppdatering

DN rapporterar idag om att det finns mer än 10 000 svenska webbplatser (mer precist: platser på .se-domän) baserade på WordPress, som inte har uppdaterats sedan version 3.3.1 av programmet, som kom i början av 2012, vilket gör dem sårbara för olika typer av angrepp (Örstadius 2014). Som jag sett folk kommentera är det i många fall säkert frågan om ”döda sidor”, men de som sköter sidorna måste förstås ändå se till att de antingen inaktiveras eller uppdateras, så att de inte kan utnyttjas för attacker som kan skada andra.

Utvecklingen av Internet ställer hur som helst ökade krav på de som administrerar webbplatser. När webben lanserades på 1990-talet gjorde man enkla s.k. statiska webbplatser, där webbplatsen fanns lagrad på servern i form av HTML-filer, som inte ger mycket interaktion med användaren, bortsett från hyperlänkar, och där varje HTML-fil visades i webbläsaren som ett fristående dokument.

En tidig lösning för att hantera mer komplex layout, med sådant som navigationsmenyer, var s.k. ramar (frames), där man kan göra länkar som visar en HTML-fil i en viss ram som upptar en del av huvudsidan. Förfarandet gav snabbt upphov till klagomål, bl.a. därför att det blev problem att skapa bokmärken eller länkar från andra sidor. Ändå använder sig en del webbplatser fortfarande av ramar. Jag fick erfara det nyligen när jag skrev en webbartikel för Arbetarrörelsens arkiv och bibliotek, där jag praktiserar, om Föreningen FiB-juristerna (Pettersson 2014). Föreningens organ, Tidskrift för Folkets Rättigheter, använder ännu en rambaserad lösning på sin webbplats (Föreningen FiB-juristerna 2014). Om man öppnar de två sista länkarna i referenslistan i min artikel (som går till sidor på webbplatsen) visas sidorna lyfta ur den kontext där de är tänka att visas (navigationsmenyerna försvinner).

Moderna webbplatser är ofta uppbyggda kring innehållshanteringssystem som WordPress, där inga fasta HTML-filer behöver lagras på webbservern. I stället kör servern ett skript som använder information lagrad i en databas för att generera HTML dynamiskt, när en begäran skickas från t.ex. en webbläsare. Detta har gett stor flexibilitet när det gäller att bygga upp webbplatser med komplicerad struktur och sidor med komplex layout, utan primitiva lösningar som de nämnda ramarna, och låta webbplatsens användare bidra med information. Men samtidigt kan det öppna för nya sårbarheter när användarna, när de kommunicerar med webbservern, inte längre interagerar med ett simpelt HTML-dokument, utan med ett komplext program skrivet i ett kraftfullt språk som PHP, i vilket WordPress är utvecklat. Många som använder WordPress och liknande system kanske inte har reflekterat över detta.

Denna blogg är ett exempel på en webbplats som drivs med WordPress – fast jag ser ju till att hålla programmet och de tillägg jag använder uppdaterade. Jag skriver dock inte inläggen i WordPressgränssnittet, utan lagrar dem på min lokala hårddisk som filer kodade i markdown, ett s.k. lättviktigt märkspråk, med kod som är lätt att både läsa och skriva. Sedan använder jag ett enkelt Perlskript som wrapper runt programmet Pandoc (Mac⁠Farlane 2013) för att generera HTML, som jag överför till servern. På så vis kan jag enkelt skapa referenser utifrån mina BibTeX-databaser, och det blir relativt smidigt att överföra inläggen till ett annat filformat än HTML.

Det är möjligt att det kommer att bli en viss renässans för statiska webbplatser. I dag finns verktyg som Octopress, som gör det möjligt att generera komplexa webbplatser för t.ex. bloggar på det lokala systemet och sedan ladda upp dem på en webbserver, vilket beskrivs av programmeraren Julia Evans (Evans 2014). Sidorna kan sedan skrivas i markdown. Avancerad layout kan numera skapas med hjälp av CSS och skript skrivna i t.ex. Javascript, som körs på klienten, oavsett om man har sidor som genereras dynamiskt eller finns lagrade statiskt på servern. Bygger man upp webbplatsen statiskt på detta sätt tar man förstås bort möjligheten för en godtycklig användare att ladda upp innehåll, t.ex. bloggkommentarer, som lagras på servern. En lösning, om man behöver sådana möjligheter, är att använda Javascript för att bädda in t.ex. Disqus för hantering av kommentarer. Vissa har dock uttryckt reservationer för att sådan ”outsourcing” tenderar att skapa ökat beroende av externa, proprietära system (Scheff 2011).

Referenser

Evans, Julia. 2014. ”How to set up a blog in 5 minutes”. http://jvns.ca/blog/2014/10/08/how-to-set-up-a-blog-in-5-minutes/.

Föreningen FiB-juristerna. 2014. ”Tidskrift för Folkets Rättigheter”. http://www.tffr.org.

Mac⁠Farlane, John. 2013. ”Pandoc user’s guide”. http://johnmacfarlane.net/pandoc/README.html.

Pettersson, Karl. 2014. ”Föreningen FiB-juristerna”. http://www.arbark.se/2014/10/foreningen-fib-juristerna/.

Scheff, Jeremy. 2011. ”Jekyll and other static site generators are, currently, harmful to the free, open source software movement”. http://dumbmatter.com/2011/08/jekyll-and-other-static-site-generators-are-currently-harmful-to-the-free-open-source-software-movement/.

Örstadius, Kristoffer. 2014. ”Tusentals bloggar och hemsidor har säkerhetshål”. DN (november 1). http://www.dn.se/nyheter/sverige/tusentals-bloggar-och-hemsidor-har-sakerhetshal/.

6 reaktion på “Pressande uppdatering

  1. Pingback: Huvudvärksfilosofi | Medan dammlagret förtjockas

  2. Pingback: Lagom format | Medan dammlagret förtjockas

  3. Pingback: Trasslig press | Medan dammlagret förtjockas

Kommentera

E-postadressen publiceras inte. Obligatoriska fält är märkta *