security/no-base-tag
No <base> element. Reglen security/no-base-tag kører i page-scope med severity 'error' og indgår i sikkerhed-domænet sammen med 4 andre kontrakter i frameworket.
Hvorfor no-base-tag findes
A <base> tag silently rewrites every relative link and resource URL on the page; an injected or misconfigured one redirects them all to another origin. Static sites with root-relative URLs never need it.
Sådan håndhæves no-base-tag
Reglen no-base-tag evalueres på hver enkelt renderet HTML-side for sig, så et fund altid kan føres tilbage til én konkret side og én konkret rettelse i data eller template. Fejler en side, får agenten en finding, hvor fix-instruktionen for no-base-tag er formuleret som en konkret arbejdsordre med filnavne og målbare krav — aldrig et vagt råd. Severity 'error' betyder at et brud på no-base-tag fejler hele verifikationen med exit-kode 1, så hverken CI eller en agent kan skibe sitet før fundet er rettet.
Domænet: sikkerhed
Security-domænet fjerner de klassiske statiske-site-huller: mixed content, reverse tabnabbing, inline event handlers, manglende SRI og base-tag-kapring. Et zero-JS content-site kan køre en stram CSP uden undtagelser — så det skal det. Netop derfor hører no-base-tag hjemme her: kravet kan afgøres maskinelt, og dermed kan det håndhæves i stedet for blot at blive anbefalet.
Test og fixtures
Som alle kontrakter i frameworket har security/no-base-tag en mutant-test, der beviser at reglen fejler, når kravet brydes — en regel uden en fejlende test er ikke en regel. Golden-fixturet beviser omvendt, at en fuldt compliant side består no-base-tag sammen med de øvrige 85 regler, og denne demoside er selv underlagt hele kontrakten.
Relaterede regler
Tilbage til oversigten over alle 86 regler.