Ylläpitosivuille pääsee vain rekisteröidyllä laitteella — sormenjäljellä, kasvoilla, laitteen PIN-koodilla tai turva-avaimella (WebAuthn / FIDO2). Palvelinpuoli on kirjoitettu PHP:llä ilman ulkoisia kirjastoja: CBOR-dekoodaus, COSE-avainten muunnos sekä ES256 / RS256 -allekirjoitusten tarkistus.
WebAuthn
FIDO2
OpenSSL
Kolmikielinen arkkitehtuuri
Jokaisesta sivusta on latvian-, englannin- ja suomenkielinen versio. Kieli tulee osoitteesta (?lang= tai siistit /en/- ja /fi/-polut), ja hakukoneille on hreflang-linkit ja sivukartta.
hreflang
.htaccess
sitemap
Uutiset ja matkablogi
Kaksi julkista sivua lukee samaa tietokantataulua — kategoria ratkaisee, missä merkintä näkyy. Oma ylläpito hoitaa merkinnät, kuvien latauksen ja lyhenteen kuvien sijoittamiseen tekstiin.
PDO
CRUD
lightbox
Vieraskirja
Viestit julkaistaan hyväksynnän jälkeen. Roskapostin pysäyttävät piilokenttä (honeypot) ja IP-kohtainen aikaraja, ja ylläpitäjä saa sähköposti-ilmoituksen.
moderointi
honeypot
rate limit
Vitrupen rannan galleria
Matkasivusto, jossa on vaihtuva pääkuva, masonry-galleria ja kuvakatselin, jota selataan nuolilla, näppäimistöllä tai pyyhkäisemällä.
Bootstrap 5
JSON-LD
responsiivinen
Vidzemen matkailuopas
Linkit ruokapaikkoihin, nähtävyyksiin, luontopolkuihin ja majoitukseen novadseittain ja kaupungeittain, virallisista matkailulähteistä.
rakenteinen data
i18n
Uutuusmerkki
Etusivun painike näyttää uusimman uutisen päivämäärän, kunnes kävijä on lukenut sen. Tila säilyy selaimessa (localStorage) ilman evästeitä.
localStorage
UX
Tietoturva
Tietoturva on suunniteltu alusta asti OWASP Top 10 -suositusten pohjalta.
Kalastelulta suojattu kirjautuminenPasskey on sidottu verkkotunnukseen, eikä palvelimella säilytetä salasanoja.
SQL-injektioiden estoKaikki tietokantakyselyt käyttävät PDO:n prepared statementeja.
XSS-suojausKaikki tuloste suojataan htmlspecialchars-funktiolla, ja tekstin linkit muodostetaan vasta suojauksen jälkeen.
CSRF-suojausJokainen ylläpitotoiminto — myös uloskirjautuminen — vaatii kertakäyttöisen tunnisteen.
Vain HTTPSKaikki liikenne ohjataan yhteen kanoniseen HTTPS-osoitteeseen.
Turvallinen kuvien latausTiedostotyyppi tarkistetaan sisällöstä, koko on rajattu, ja PHP:n ajo on estetty latauskansiossa.
Tekniikat
PHP 8.4
MySQL / MariaDB
PDO
JavaScript
HTML5
CSS3
Bootstrap 5
WebAuthn / FIDO2
OpenSSL
LiteSpeed · .htaccess
Google Analytics 4
Playwright
Laatu ja testaus
Automaattiset testit
38 yksikkötestiä passkey-kryptografialle ja selaintestit virtuaalisella FIDO2-autentikaattorilla (Playwright).
Responsiivinen ulkoasu
Toimii puhelimilla, tableteilla ja tietokoneilla, mukana korjaus iPadin taustakuvan zoomausbugiin.
Suorituskyky
Välimuistin ohitus tiedoston aikaleimalla, gzip-pakkaus ja optimoidut kuvat.
Hakukoneoptimointi
hreflang, Open Graph, rakenteinen data (JSON-LD) ja sivukartta.
Katso toiminnassa
Sivusto on julkisesti saatavilla — kaikki sivut kolmella kielellä.