← back to NationalPaperHangers
fix: add rel=noopener noreferrer to target=_blank links in admin views
55b6c3425dca37627d6b8e900c4b7e5edd711f14 · 2026-05-31 00:00:34 -0700 · SteveStudio2
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Files touched
M views/admin/ops-watch.ejsM views/admin/partials/admin-header.ejsM views/admin/template.ejs
Diff
commit 55b6c3425dca37627d6b8e900c4b7e5edd711f14
Author: SteveStudio2 <stevestudio2@SteveStacStudio.lan>
Date: Sun May 31 00:00:34 2026 -0700
fix: add rel=noopener noreferrer to target=_blank links in admin views
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
---
views/admin/ops-watch.ejs | 2 +-
views/admin/partials/admin-header.ejs | 2 +-
views/admin/template.ejs | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/views/admin/ops-watch.ejs b/views/admin/ops-watch.ejs
index 4781ea2..230f999 100644
--- a/views/admin/ops-watch.ejs
+++ b/views/admin/ops-watch.ejs
@@ -4,7 +4,7 @@
<section class="admin-main">
<header class="admin-page-head">
<h1>Ops · /watch curation</h1>
- <p class="muted">Hand-picked YouTube videos for the public <a href="/watch" target="_blank">/watch</a> page. Every entry must be reviewed before publish.</p>
+ <p class="muted">Hand-picked YouTube videos for the public <a href="/watch" target="_blank" rel="noopener noreferrer">/watch</a> page. Every entry must be reviewed before publish.</p>
</header>
<% if (flash && flash.error) { %><div class="callout callout-warn"><%= flash.error %></div><% } %>
diff --git a/views/admin/partials/admin-header.ejs b/views/admin/partials/admin-header.ejs
index cad8d17..8b0f183 100644
--- a/views/admin/partials/admin-header.ejs
+++ b/views/admin/partials/admin-header.ejs
@@ -19,7 +19,7 @@
<span class="t-light" aria-hidden="true">☼</span>
<span class="t-dark" aria-hidden="true">☾</span>
</button>
- <a href="/installer/<%= installer.slug %>" class="btn btn-ghost btn-sm" target="_blank">View public profile ↗</a>
+ <a href="/installer/<%= installer.slug %>" class="btn btn-ghost btn-sm" target="_blank" rel="noopener noreferrer">View public profile ↗</a>
<form method="post" action="/logout" class="inline-form"><input type="hidden" name="_csrf" value="<%= csrfToken %>"><button class="btn btn-ghost btn-sm" type="submit">Log out</button></form>
</div>
</div>
diff --git a/views/admin/template.ejs b/views/admin/template.ejs
index be2a7e8..d494a11 100644
--- a/views/admin/template.ejs
+++ b/views/admin/template.ejs
@@ -97,7 +97,7 @@
<div style="display:flex;gap:12px;align-items:center">
<button type="submit" class="btn btn-primary btn-lg">Save page design</button>
- <a href="/installer/<%= installer.slug %>" target="_blank" class="btn btn-ghost">Preview live page ↗</a>
+ <a href="/installer/<%= installer.slug %>" target="_blank" rel="noopener noreferrer" class="btn btn-ghost">Preview live page ↗</a>
</div>
</form>
← ec8d505 Hold back ai_agent call mode at launch (DTD verdict 2026-05-
·
back to NationalPaperHangers
·
Add per-site favicon (kills /favicon.ico 404) b18f55a →