doc: Warn that ts_headline() output is not HTML-safe.
authorDean Rasheed <dean.a.rasheed@gmail.com>
Thu, 1 May 2025 10:03:43 +0000 (11:03 +0100)
committerDean Rasheed <dean.a.rasheed@gmail.com>
Thu, 1 May 2025 10:03:43 +0000 (11:03 +0100)
commitd73d4cfdfce897bd42ef6466e6cece5d35a91779
tree5cc5386a23af1ff46a9e52133a8a4b378fe0ec3c
parent06c4f3ae804e6680ff03a09c1f89dfb1ca3d90e9
doc: Warn that ts_headline() output is not HTML-safe.

Add a documentation warning to ts_headline() pointing out that, when
working with untrusted input documents, the output is not guaranteed
to be safe for direct inclusion in web pages. This is because, while
it does remove some XML tags from the input, it doesn't remove all
HTML markup, and so the result may be unsafe (e.g., it might permit
XSS attacks).

To guard against that, all HTML markup should be removed from the
input, making it plain text, or the output should be passed through an
HTML sanitizer.

In addition, document precisely what the default text search parser
recognises as valid XML tags, since that's what determines which XML
tags ts_headline() will remove.

Reported-by: Richard Neill <richard.neill@telos.digital>
Author: Dean Rasheed <dean.a.rasheed@gmail.com>
Reviewed-by: Noah Misch <noah@leadboat.com>
Backpatch-through: 13
doc/src/sgml/textsearch.sgml