Az egész médiában végigfutott az a hír, miszerint a North Yorkshire-i önkormányzat egyszerűen betiltotta az utcanevekben az aposztrófok és egyéb speciális jelek használatát. Az ok: az adatbázisokban ezek tárolása problémákat okozhat.
Ezért az önkormányzat úgy döntött, hogy számos utcát, teret és közterületet neveznek át, míg a nevezetesebbeknél egyszerűen elhagyják az aposztrófot a nevükből. Így lett a “St. Mary’s Walk”-ből egyszerűen “St. Marys Walk”.
Az önkormányzat azzal indokolta döntését, hogy pusztán igazodik a lassan 20 éves, BS 7666 – os szabványhoz, amit mostmár élesben is kezdenek alkalmazni.
Természetesen a helybéliek ki vannak akadva, és többen még készítenek egy-egy utolsó fotót az aposztrófos utcanévtáblákkal, emléket állítva ezzel egy letűnt korszaknak. Míg mások az új utcanév táblákra biggyesztik vissza az aposztrófokat.


SQL injection
Az aposztrófok speciális karakternek számítanak az adatbázis-kezelő motorok esetében. Az SQL lekérdezés felé továbbított adatokban nagyon fontos, hogy ezeket a speciális karaktereket kiszűrjük mivel általuk egy nem biztonságosan megírt lekérdezés könnyen problémát okozhat.
Példa
Egy UPDATE query segítségével frissíthetjük egy felhasználó jelszavát. Ami így néz ki egy PHP kódban:
$sql = "UPDATE users SET password = '" .$password ."' WHERE user_id = " .$uid;
Mi van akkor, ha a $password mező, ami egy szűretlen input mező, ezt írjuk be:
kiscica' WHERE user_id = 1--
A user_id = 1 feltételezhetően a legtöbb rendszernél valamilyen adminisztrátori jogosultsággal rendelkezik, hiszen ezeket szokták legelőször létrehozni az adatbázisban, míg a — kommentelést jelez adatbázis-kezelőnek.
A fenti esetben az SQL kimenete így fog kinézni:
UPDATE users SET password = 'kiscica' WHERE user_id = 1 --' WHERE user_id = 42
A — utáni részt az adatbázis-kezelő ignorálja és kérdés nélkül végrehajtja az utasítást. Támadónk így mostmár az 1-es azonosítójú felhasználó nevében be tud lépni a rendszerbe.
Szerencsére erre egyre kevesebb példa van, de régi vagy nem kellő szaktudással megépített új rendszereknél még előfordulhat, hogy érzékeny az ilyen támadásokra.
Tehát a North Yorkshire-i önkormányzat valójában attól tart, hogy valaki olyan utcanevet akar majd beregisztrálni, hogy Sir Bobby’);DROP TABLE payroll;–. Nyilván erre nem is lenne lehetősége az illetőnek, de van más probléma is az önkormányzat döntésével.
Lehet, hogy teljesen felesleges az egész?
Az önkormányzat a BS 7666 szabványra hivatkozik, azonban ebben nincs szó arról, hogy az aposztrófokat az utcanév táblákról le kellene venni. Az adatbázisokról valóban esik szó a szabványban, de ezt a problémát már több évtizede megoldották: a helyrajzi regisztrált név, amit az adatbázisban eltárolnak már mentes a speciális karakterektől, míg az utcaneveken és cégtáblákon megjelenhet az aposztrófos írásmód.
A szabvány szövegezésében az áll, hogy mindössze nem javasolják ezek használatát a táblákon. Ez is mindössze csak azért szükséges, hogy a kihelyezett táblán szereplő név és az adatbázisban regisztrált név közelítsen egymáshoz. Semmiképp nincs szó tiltásról, vagy kötelező átnevezésről a szabványban.
Valószínűleg itt egy szabvány szövegének súlyos félreértelmezése történt, bár valószínűleg nem fognak visszavonulót fújni a döntéshozók.
2013-ban egyébként Devon megyében is ugyanerre a szabványra hivatkozva aposztrófmentesítették a közterületi táblákat.