Endringer gjort på nettstedet 2026-06-28

Denne filen oppsummerer kun endringer på nettstedet/PHP-frontend. Endringer i selve API-applikasjonen er bevisst utelatt.

Kort oppsummert

Det er gjort fire hovedendringer på nettstedet:

  1. Det er lagt inn en ny modal for endring av passord i navigering/nav_modals.php.
  2. proxy.php er utvidet slik at den automatisk legger ved token fra data-cookien når nettstedet kaller api/change_password.
  3. Menyvalget Endre passord i brukermenyen åpner nå modalen direkte, i stedet for å gå via vanlig ajax-navigasjon.
  4. Innlogging i nettstedet bruker nå en bro-løsning der frontend logger inn via API-endepunktet gjennom proxy.php, og en lokal PHP-fil setter cookies og $_SESSION['user'].

I tillegg ble credentials/logg_inn.php testet med flere midlertidige endringer underveis, men den er til slutt satt tilbake til opprinnelig versjon. Den regnes derfor ikke som en vedvarende endring i sluttstatus.


Filer som er endret i sluttstatus

1. navigering/nav_modals.php

Hva som ble lagt inn

Under kommentaren:

<!-- ENDRE PASSORD MODAL -->

ble det lagt inn en komplett Bootstrap-modal for passordendring.

Innhold i modalen

Modalen inneholder nå:

Alle tre input-feltene i passorddelen er satt som required.

I tillegg ble login-formen oppdatert med:

JavaScript lagt inn i samme fil

Det ble også lagt inn inline JavaScript som:

/proxy.php?endpoint=api/change_password
{
  "oldPassword": "...",
  "newPassword": "..."
}

Viktig designvalg

Token sendes ikke fra JavaScript-koden lenger. I stedet blir token lagt på i proxy.php, basert på data-cookien.


2. proxy.php

Hva som ble endret

Det ble lagt inn en ny hjelpefunksjon:

Denne funksjonen:

Endret autentiseringsflyt i proxy

Før endringen ble token automatisk lagt ved bare for:

Nå gjøres det samme også for:

Det betyr at når nettstedet sender POST til:

/proxy.php?endpoint=api/change_password

så vil proxy.php automatisk:

Konsekvens

Frontend trenger ikke selv lese ut token fra cookie for passordbytte.


3. navigering/nav_brukermeny.php

Hva som ble endret

For innloggede brukere ble menyvalget:

<a class="dropdown-item ajax-link" data-target="endrepass">Endre passord</a>

endret til:

<a class="dropdown-item endre-passord-link" href="">Endre passord</a>

Hvorfor

Dette gjør at menyvalget ikke lenger bruker vanlig ajax-sidenavigasjon, men i stedet kan trigge åpning av modal via JavaScript.


4. script/js_nav_endrepass_brukermeny.txt

5. script/js_nav_datainput_brukermeny.txt

6. script/js_nav_filoversikt_brukermeny.txt

7. script/js_nav_referansesjekk_brukermeny.txt

Disse fire filene ble endret på samme måte.

Hva som ble endret i alle fire

A. Menyoppbygging

I funksjonen som bygger menyen for innloggede brukere ble lenken:

data-target="endrepass"

byttet ut med:

class="endre-passord-link"
B. Ny event-handler

Det ble lagt inn en ny funksjon:

Denne funksjonen:

C. Initialisering

bindChangePasswordLink() blir nå kalt ved $(document).ready(...).

Konsekvens

På de sidene som bruker disse brukermeny-skriptene, vil Endre passord nå åpne modalen direkte i stedet for å prøve å navigere til en egen side.


8. credentials/set_login_session.php

Hva som ble lagt til

Det ble lagt til en ny lokal PHP-fil som fungerer som bro mellom nettstedet og API-basert login.

Filen:

Hvorfor denne filen trengs

Nettstedet bruker fortsatt flere PHP-sider som leser:

Selv om autentiseringen nå kan gjøres i API-et, må nettstedet fortsatt få disse lokale verdiene satt for å fungere uten full omskriving.


9. script/js_nav_filoversikt_brukerhandtering.txt

10. script/js_nav_datainput_brukerhandtering.txt

11. script/js_nav_endrepass_brukerhandtering.txt

12. script/js_nav_referansesjekk_brukerhandtering.txt

Disse fire filene håndterer nå login mot API-endepunktet i stedet for den gamle PHP-login-filen.

Hva som ble endret i login-flyten

Det ble lagt inn JavaScript som:

/proxy.php?endpoint=api/logg_inn_nettsted
/credentials/set_login_session.php

Konsekvens

Login-modalen på nettstedet er ikke lenger avhengig av credentials/logg_inn.php for den aktive login-flyten.


Filer som ble endret midlertidig, men til slutt satt tilbake

credentials/logg_inn.php

Denne filen ble underveis prøvd endret flere ganger for å rehashe passord til Argon2 ved vellykket innlogging.

Status nå:

Den bør derfor ikke regnes som en aktiv endring i sluttstatus.


Filer som er lagt til

Backup-filer

Følgende backup-filer ble opprettet før redigering:

Dokumentasjonsfil

Disse filene er også lagt til:


Filer som er fjernet

Ingen filer på nettstedet er fjernet.


Sluttstatus per område

Passordbytte i nettstedet

Dette er nå på plass:

Innlogging i nettstedet

Dagens status:


Endret / lagt til / fjernet

Status Fil
Endret navigering/nav_modals.php
Endret proxy.php
Endret navigering/nav_brukermeny.php
Endret script/js_nav_endrepass_brukermeny.txt
Endret script/js_nav_datainput_brukermeny.txt
Endret script/js_nav_filoversikt_brukermeny.txt
Endret script/js_nav_referansesjekk_brukermeny.txt
Endret script/js_nav_filoversikt_brukerhandtering.txt
Endret script/js_nav_datainput_brukerhandtering.txt
Endret script/js_nav_endrepass_brukerhandtering.txt
Endret script/js_nav_referansesjekk_brukerhandtering.txt
Midlertidig endret, deretter tilbakeført credentials/logg_inn.php
Lagt til credentials/set_login_session.php
Lagt til navigering/nav_modals.php.bak-20260628-202827
Lagt til navigering/nav_modals.php.bak-20260628-214159
Lagt til navigering/nav_modals.php.bak-20260628-214940
Lagt til proxy.php.bak-20260628-214940
Lagt til endringer-nettsted-2026-06-28.md
Lagt til chatlogg-sesjon-2026-06-28.md
Lagt til chatlogg-sesjon-2026-06-28.json
Fjernet Ingen