[object Object]

← back to Fentucci Viewer

security: add rel=noopener noreferrer to target=_blank links (yoloforever cycle 3)

0255a3021ba4a3671782e2e5aead12793a6dc458 · 2026-09-15 18:50:45 -0700 · Steve Abrams

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UxvvaJ7p6VRZ4RzKDaBXqK

Files touched

Diff

commit 0255a3021ba4a3671782e2e5aead12793a6dc458
Author: Steve Abrams <steve@designerwallcoverings.com>
Date:   Tue Sep 15 18:50:45 2026 -0700

    security: add rel=noopener noreferrer to target=_blank links (yoloforever cycle 3)
    
    Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
    Claude-Session: https://claude.ai/code/session_01UxvvaJ7p6VRZ4RzKDaBXqK
---
 public/index.html | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/public/index.html b/public/index.html
index aa2cb50..867a079 100644
--- a/public/index.html
+++ b/public/index.html
@@ -80,7 +80,7 @@ function render(){
   if(s==="offgoogle")a.sort((x,y)=>(x.onG-y.onG)||x.title.localeCompare(y.title));
   if(s==="price")a.sort((x,y)=>(parseFloat(x.sample||0))-(parseFloat(y.sample||0)));
   grid.innerHTML=a.map(p=>`<div class="card">
-    <a href="${S}/products/${p.handle}" target="_blank"><img loading="lazy" src="${p.img||ph(p.title)}" onerror="this.src='${ph(p.title)}'" alt=""></a>
+    <a rel="noopener noreferrer" href="${S}/products/${p.handle}" target="_blank"><img loading="lazy" src="${p.img||ph(p.title)}" onerror="this.src='${ph(p.title)}'" alt=""></a>
     <div class="body">
       <div class="t">${p.title.replace(/ \\| Fentucci.*$/,"")}</div>
       <div class="row"><span class="price">$${p.sample||"—"}</span><span class="badge ${p.onG?"live":"off"}">${p.onG?"On Google":"Off"}</span></div>

← a6de1cb add creds-in-URL fetch guard to gated pages (TK-10984)  ·  back to Fentucci Viewer  ·  Move fentucci-viewer default port 9820 -> 9827 (collided wit 100cfe1 →