doc: Warn that ts_headline() output is not HTML-safe.
authorDean Rasheed <dean.a.rasheed@gmail.com>
Thu, 1 May 2025 10:06:21 +0000 (11:06 +0100)
committerDean Rasheed <dean.a.rasheed@gmail.com>
Thu, 1 May 2025 10:06:21 +0000 (11:06 +0100)
commit18dc43a07fecc22934742fd752dcdd3a10f9d6cd
tree4670e1fc23f63a47da06c3006f7c3fb4930bff1e
parent5d5970b9f00a09ef9433f60f5b6e0e9fba1f1f98
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