Strip unsafe html on output in TwAPI.
authorRoger Braun <roger@rogerbraun.net>
Sun, 18 Jun 2017 11:40:35 +0000 (13:40 +0200)
committerRoger Braun <roger@rogerbraun.net>
Sun, 18 Jun 2017 11:40:35 +0000 (13:40 +0200)
lib/pleroma/web/twitter_api/representers/activity_representer.ex
test/web/twitter_api/representers/activity_representer_test.exs

index ade200268c0feba0fb7547c9750053ee14dc3d50..6f22e45faf048ad8b2cb1ce4e09b79cc11ecf23b 100644 (file)
@@ -105,7 +105,7 @@ defmodule Pleroma.Web.TwitterAPI.Representers.ActivityRepresenter do
       "id" => activity.id,
       "user" => UserRepresenter.to_map(user, opts),
       "attentions" => [],
-      "statusnet_html" => content,
+      "statusnet_html" => HtmlSanitizeEx.basic_html(content),
       "text" => HtmlSanitizeEx.strip_tags(content),
       "is_local" => true,
       "is_post_verb" => true,
index dce6025c4d4bf4fb797c083cee0453005b968c39..022595b915a5d93e2391815b01a185acfc21b458 100644 (file)
@@ -67,7 +67,7 @@ defmodule Pleroma.Web.TwitterAPI.Representers.ActivityRepresenterTest do
       }
     }
 
-    content_html = "Some #content #mentioning <a href='#{mentioned_user.ap_id}'>@shp</shp>"
+    content_html = "<script>alert('YAY')</script>Some #content #mentioning <a href='#{mentioned_user.ap_id}'>@shp</a>"
     content = HtmlSanitizeEx.strip_tags(content_html)
     date = DateTime.from_naive!(~N[2016-05-24 13:26:08.003], "Etc/UTC") |> DateTime.to_iso8601
 
@@ -108,7 +108,7 @@ defmodule Pleroma.Web.TwitterAPI.Representers.ActivityRepresenterTest do
       "user" => UserRepresenter.to_map(user, %{for: follower}),
       "is_local" => true,
       "attentions" => [],
-      "statusnet_html" => content_html <> "<br>\n#nsfw",
+      "statusnet_html" => HtmlSanitizeEx.basic_html(content_html) <> "<br />\n#nsfw",
       "text" => content <> "\n#nsfw",
       "is_post_verb" => true,
       "created_at" => "Tue May 24 13:26:08 +0000 2016",