fix(frontend): add missing rel="noopener noreferrer" to target="_blank" links (#1741)

* fix(frontend): add missing rel="noopener noreferrer" to target="_blank" links

Prevent tabnabbing attacks and referrer leakage by ensuring all
external links with target="_blank" include both noopener and
noreferrer in the rel attribute.

Made-with: Cursor

* style: fix code formatting
This commit is contained in:
yangzheli
2026-04-02 17:32:52 +08:00
committed by GitHub
parent f56d0b4869
commit 636053fb6d
8 changed files with 33 additions and 14 deletions
+10 -2
View File
@@ -8,7 +8,11 @@ export function Header() {
return (
<header className="container-md fixed top-0 right-0 left-0 z-20 mx-auto flex h-16 items-center justify-between backdrop-blur-xs">
<div className="flex items-center gap-2">
<a href="https://github.com/bytedance/deer-flow" target="_blank">
<a
href="https://github.com/bytedance/deer-flow"
target="_blank"
rel="noopener noreferrer"
>
<h1 className="font-serif text-xl">DeerFlow</h1>
</a>
</div>
@@ -26,7 +30,11 @@ export function Header() {
asChild
className="group relative z-10"
>
<a href="https://github.com/bytedance/deer-flow" target="_blank">
<a
href="https://github.com/bytedance/deer-flow"
target="_blank"
rel="noopener noreferrer"
>
<GitHubLogoIcon className="size-4" />
Star on GitHub
{env.NEXT_PUBLIC_STATIC_WEBSITE_ONLY === "true" &&
@@ -57,6 +57,7 @@ export function CaseStudySection({ className }: { className?: string }) {
key={caseStudy.title}
href={pathOfThread(caseStudy.threadId) + "?mock=true"}
target="_blank"
rel="noopener noreferrer"
>
<Card className="group/card relative h-64 overflow-hidden">
<div
@@ -20,7 +20,11 @@ export function CommunitySection() {
>
<div className="flex justify-center">
<Button className="text-xl" size="lg" asChild>
<Link href="https://github.com/bytedance/deer-flow" target="_blank">
<Link
href="https://github.com/bytedance/deer-flow"
target="_blank"
rel="noopener noreferrer"
>
<GitHubLogoIcon />
Contribute Now
</Link>