From effcc52ffd44f12fdafe15a375b47f13b3a75111 Mon Sep 17 00:00:00 2001 From: Egor Kislitsyn Date: Thu, 12 Mar 2020 20:32:00 +0400 Subject: Don't expose remote accounts to search engines --- lib/pleroma/formatter.ex | 8 +++++--- priv/scrubbers/default.ex | 3 ++- priv/scrubbers/links_only.ex | 3 ++- priv/scrubbers/twitter_text.ex | 4 +++- test/formatter_test.exs | 2 +- test/user_test.exs | 2 +- 6 files changed, 14 insertions(+), 8 deletions(-) diff --git a/lib/pleroma/formatter.ex b/lib/pleroma/formatter.ex index e2a658cb3..95694cfd6 100644 --- a/lib/pleroma/formatter.ex +++ b/lib/pleroma/formatter.ex @@ -34,10 +34,12 @@ defmodule Pleroma.Formatter do ap_id = get_ap_id(user) nickname_text = get_nickname_text(nickname, opts) + rel = if user.local, do: "ugc", else: "ugc canonical" + link = - ~s(@#{ - nickname_text - }) + ~s(@#{nickname_text}) {link, %{acc | mentions: MapSet.put(acc.mentions, {"@" <> nickname, user})}} diff --git a/priv/scrubbers/default.ex b/priv/scrubbers/default.ex index ea0480dcd..94e40637d 100644 --- a/priv/scrubbers/default.ex +++ b/priv/scrubbers/default.ex @@ -26,7 +26,8 @@ defmodule Pleroma.HTML.Scrubber.Default do "nofollow", "noopener", "noreferrer", - "ugc" + "ugc", + "ugc canonical" ]) Meta.allow_tag_with_these_attributes(:a, ["name", "title"]) diff --git a/priv/scrubbers/links_only.ex b/priv/scrubbers/links_only.ex index b30a00589..bf767ba55 100644 --- a/priv/scrubbers/links_only.ex +++ b/priv/scrubbers/links_only.ex @@ -19,7 +19,8 @@ defmodule Pleroma.HTML.Scrubber.LinksOnly do "noopener", "noreferrer", "me", - "ugc" + "ugc", + "ugc canonical" ]) Meta.allow_tag_with_these_attributes(:a, ["name", "title"]) diff --git a/priv/scrubbers/twitter_text.ex b/priv/scrubbers/twitter_text.ex index c4e796cad..afb2fbdef 100644 --- a/priv/scrubbers/twitter_text.ex +++ b/priv/scrubbers/twitter_text.ex @@ -26,7 +26,9 @@ defmodule Pleroma.HTML.Scrubber.TwitterText do "tag", "nofollow", "noopener", - "noreferrer" + "noreferrer", + "ugc", + "ugc canonical" ]) Meta.allow_tag_with_these_attributes(:a, ["name", "title"]) diff --git a/test/formatter_test.exs b/test/formatter_test.exs index cf8441cf6..f8728e07b 100644 --- a/test/formatter_test.exs +++ b/test/formatter_test.exs @@ -173,7 +173,7 @@ defmodule Pleroma.FormatterTest do expected_text = ~s(@mike test) + }" rel="ugc canonical">@mike test) assert expected_text == text end diff --git a/test/user_test.exs b/test/user_test.exs index b07fed42b..5ef6663ad 100644 --- a/test/user_test.exs +++ b/test/user_test.exs @@ -1411,7 +1411,7 @@ defmodule Pleroma.UserTest do expected_text = ~s(A.k.a. @nick@domain.com) + }" rel="ugc canonical">@nick@domain.com) assert expected_text == User.parse_bio(bio, user) end -- cgit v1.2.3