From 54ffea24196e8f5d88cf9d8607455f0f6aab305c Mon Sep 17 00:00:00 2001 From: Tim Almdal Date: Fri, 3 Jul 2009 21:44:10 -0700 Subject: Split the clean method into two clean and purify. clean is a light weight approach using html::specialchars and purify uses HTMLPurifier to intelligently cleanse the output fields. Use purifier for text and title fields where it is likely that a user would enter html to format their data. --- modules/comment/helpers/comment_rss.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'modules/comment/helpers/comment_rss.php') diff --git a/modules/comment/helpers/comment_rss.php b/modules/comment/helpers/comment_rss.php index ef2d176e..746c6161 100644 --- a/modules/comment/helpers/comment_rss.php +++ b/modules/comment/helpers/comment_rss.php @@ -23,7 +23,7 @@ class comment_rss_Core { $feeds["comment/newest"] = t("All new comments"); if ($item) { $feeds["comment/item/$item->id"] = - t("Comments on %title", array("title" => p::clean($item->title))); + t("Comments on %title", array("title" => p::purify($item->title))); } return $feeds; } -- cgit v1.2.3 From d6648c0affd122407b7567442aa924e9138104e7 Mon Sep 17 00:00:00 2001 From: Tim Almdal Date: Sat, 4 Jul 2009 08:17:12 -0700 Subject: Fix for ticket #477. Use nl2br method when rendering comment::text and item::description. In addition add p::clean or p::purify to places that xss cleaning had missed (i.e. rss feeds) --- modules/comment/controllers/comments.php | 4 ++-- modules/comment/helpers/comment_rss.php | 6 +++--- modules/comment/views/admin_block_recent_comments.html.php | 2 +- modules/comment/views/admin_comments.html.php | 2 +- modules/comment/views/comment.html.php | 2 +- modules/comment/views/comment.mrss.php | 4 ++-- modules/gallery/helpers/gallery_rss.php | 4 ++-- modules/info/views/info_block.html.php | 2 +- modules/notification/views/comment_published.html.php | 2 +- modules/notification/views/item_added.html.php | 2 +- modules/search/views/search.html.php | 2 +- themes/default/views/album.html.php | 2 +- themes/default/views/movie.html.php | 2 +- themes/default/views/photo.html.php | 2 +- 14 files changed, 19 insertions(+), 19 deletions(-) (limited to 'modules/comment/helpers/comment_rss.php') diff --git a/modules/comment/controllers/comments.php b/modules/comment/controllers/comments.php index 2840ba67..02c38491 100644 --- a/modules/comment/controllers/comments.php +++ b/modules/comment/controllers/comments.php @@ -41,7 +41,7 @@ class Comments_Controller extends REST_Controller { "id" => $comment->id, "author_name" => p::clean($comment->author_name()), "created" => $comment->created, - "text" => p::purify($comment->text)); + "text" => nl2br(p::purify($comment->text))); } print json_encode($data); break; @@ -128,7 +128,7 @@ class Comments_Controller extends REST_Controller { "id" => $comment->id, "author_name" => p::clean($comment->author_name()), "created" => $comment->created, - "text" => p::purify($comment->text)))); + "text" => nl2br(p::purify($comment->text))))); } else { $view = new Theme_View("comment.html", "fragment"); $view->comment = $comment; diff --git a/modules/comment/helpers/comment_rss.php b/modules/comment/helpers/comment_rss.php index 746c6161..ab3d2283 100644 --- a/modules/comment/helpers/comment_rss.php +++ b/modules/comment/helpers/comment_rss.php @@ -53,13 +53,13 @@ class comment_rss_Core { $item = $comment->item(); $feed->children[] = new ArrayObject( array("pub_date" => date("D, d M Y H:i:s T", $comment->created), - "text" => $comment->text, + "text" => nl2br(p::purify($comment->text)), "thumb_url" => $item->thumb_url(), "thumb_height" => $item->thumb_height, "thumb_width" => $item->thumb_width, "item_uri" => url::abs_site("{$item->type}s/$item->id"), - "title" => $item->title, - "author" => $comment->author_name()), + "title" => p::purify($item->title), + "author" => p::clean($comment->author_name())), ArrayObject::ARRAY_AS_PROPS); } diff --git a/modules/comment/views/admin_block_recent_comments.html.php b/modules/comment/views/admin_block_recent_comments.html.php index 893c1a63..4ff24f86 100644 --- a/modules/comment/views/admin_block_recent_comments.html.php +++ b/modules/comment/views/admin_block_recent_comments.html.php @@ -10,7 +10,7 @@ created) ?> %author_name said %comment_text', array("author_name" => p::clean($comment->author_name()), - "comment_text" => text::limit_words(p::purify($comment->text), 50))); ?> + "comment_text" => text::limit_words(nl2br(p::purify($comment->text)), 50))); ?> diff --git a/modules/comment/views/admin_comments.html.php b/modules/comment/views/admin_comments.html.php index 489605d5..ad0ae8f3 100644 --- a/modules/comment/views/admin_comments.html.php +++ b/modules/comment/views/admin_comments.html.php @@ -132,7 +132,7 @@

created) ?>

- text) ?> + text)) ?>