[object Object]

← back to Slack Dm Viewer

add noreferrer to all target=_blank links

26fc113502453eb0c37cbce0eb98dcf21c653952 · 2026-05-19 18:32:47 -0700 · Steve Abrams

Files touched

Diff

commit 26fc113502453eb0c37cbce0eb98dcf21c653952
Author: Steve Abrams <steve@designerwallcoverings.com>
Date:   Tue May 19 18:32:47 2026 -0700

    add noreferrer to all target=_blank links
---
 server.js | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/server.js b/server.js
index 484c681..e76cc17 100644
--- a/server.js
+++ b/server.js
@@ -753,8 +753,8 @@ function getHTML() {
         // Escape HTML
         .replace(/&amp;/g, '&').replace(/&lt;/g, '<').replace(/&gt;/g, '>')
         // URLs
-        .replace(/<(https?:\/\/[^|>]+)\|([^>]+)>/g, '<a href="$1" target="_blank" rel="noopener">$2</a>')
-        .replace(/<(https?:\/\/[^>]+)>/g, '<a href="$1" target="_blank" rel="noopener">$1</a>')
+        .replace(/<(https?:\/\/[^|>]+)\|([^>]+)>/g, '<a href="$1" target="_blank" rel="noopener noreferrer">$2</a>')
+        .replace(/<(https?:\/\/[^>]+)>/g, '<a href="$1" target="_blank" rel="noopener noreferrer">$1</a>')
         // Bold
         .replace(/\*([^*]+)\*/g, '<strong>$1</strong>')
         // Italic
@@ -1160,7 +1160,7 @@ function getHTML() {
                             <div key={fi} className="attachment">
                               <div className="attachment-title">
                                 {file.url_private ? (
-                                  <a href={file.url_private} target="_blank" rel="noopener">{file.name || file.title || 'File'}</a>
+                                  <a href={file.url_private} target="_blank" rel="noopener noreferrer">{file.name || file.title || 'File'}</a>
                                 ) : (
                                   file.name || file.title || 'File'
                                 )}

← 26af6bd broaden .gitignore: backup/swap/reject patterns  ·  back to Slack Dm Viewer  ·  secret-strip slack-dm-viewer: env-first the hardcoded George 03020f5 →