Koha-clms/Koha/Template/Plugin
David Cook e8e00cfeb3
Bug 22223: Add filter to make item URLs safe in template output
This change adds a "safe_url" filter which takes a text input and
returns a Perl URL object which stringifies to a safe URL.

This change is only needed in the OPAC as the staff interface
handles the item URL display using Javascript not Template Toolkit.

0. Apply patch and koha-plack --restart kohadev
1. Create an item for a record using the following URL
https://koha-community.org?url=https%3A%2F%2Fkoha-community.org
2. Go to the OPAC for that record and verify that the URL is
not double-escaped
3. Create a malicious payload (talk to QA/security team for this if necessary)
4. Note that the malicious payload is escaped
5. prove t/Koha/Plugins/SafeURL.t
6. Celebrate!

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2024-11-07 16:29:18 +01:00
..
AdditionalContents.pm Bug 37628: (follow-up) Remove get_opac_news_by_id 2024-08-16 17:33:51 +02:00
Asset.pm Bug 17600: Standardize our EXPORT_OK 2021-07-16 08:58:47 +02:00
AudioAlerts.pm Bug 17600: Standardize our EXPORT_OK 2021-07-16 08:58:47 +02:00
AuthClient.pm Bug 33708: Provide non-public endpoint for OAuth/OIDC for staff interface 2023-05-18 11:35:15 -03:00
AuthorisedValues.pm Bug 33568: Status 2024-04-05 15:34:48 +02:00
Biblio.pm Bug 35790: Remove Koha::Template::Plugin::Biblio::CanArticleRequest 2024-03-22 12:26:45 +01:00
Branches.pm Bug 36941: Limit login branch list when IP restriction enabled 2024-06-28 13:49:26 +02:00
Categories.pm Bug 28924: (QA follow-up): Remove unnecessary template method 2024-07-18 18:25:56 +02:00
CirculationRules.pm Bug 30901: Add POD for Koha::Template::Plugin::CirculationRules 2022-08-16 10:43:10 -03:00
ClassSources.pm Bug 11844: Fix QA issues (POD, TT filters, file exec flag) 2023-05-16 12:58:38 +02:00
Context.pm Bug 23166: Early return if no set 2020-08-25 12:01:38 +02:00
Desks.pm Bug 29844: Fix ->search occurrences 2022-02-09 15:36:23 -10:00
ExtendedAttributeTypes.pm Bug 34519: (follow-up) fix QA tool complaints 2023-11-08 17:52:39 -03:00
Frameworks.pm Bug 33607: Handle default framework 2023-05-16 15:17:44 -03:00
HtmlId.pm Bug 27336: Add POD for new package 2021-01-11 10:27:37 +01:00
HtmlTags.pm
…
I18N.pm Bug 17600: Standardize our EXPORT_OK 2021-07-16 08:58:47 +02:00
ItemTypes.pm Bug 29454: Use Koha Cache Memory Lite to stash itemtype descriptions for template plugin 2022-06-24 11:55:34 -03:00
JSConsents.pm Bug 27378: Introduce cookie consent to OPAC and staff client 2023-09-12 09:45:07 -03:00
Koha.pm Bug 36700: Fix underscore in CSRF header 2024-05-01 13:40:12 +01:00
KohaDates.pm Bug 33029: Add wrapper method for dt_from_string to KohaDates template toolkit plugin 2023-07-06 12:24:17 -03:00
KohaPlugins.pm Bug 31503: (follow-up) Add 'feature_enabled' to Koha::Plugins 2023-10-25 10:35:22 -03:00
KohaSpan.pm
…
KohaTimes.pm Bug 38043: Add unit tests for KohaTimes TT filter 2024-10-11 11:13:54 +02:00
Languages.pm
…
NoticeTemplates.pm Bug 29393: Prevent SQL errors when SQL strict mode is set 2024-04-29 17:38:00 +02:00
Notices.pm Bug 32986: (follow-up) Fix CircAutoPrintQuickSlip and remove unecessary module usage 2023-11-08 17:59:35 -03:00
Price.pm
…
Registers.pm Bug 24665: Add support for filtering by cash register 2020-11-06 15:55:17 +01:00
Remove_MARC_punctuation.pm
…
SafeURL.pm Bug 22223: Add filter to make item URLs safe in template output 2024-11-07 16:29:18 +01:00
TablesSettings.pm Bug 34913: DataTables upgrade: Update CSS and option names 2024-01-26 15:13:40 +01:00
To.pm Bug 17600: Standardize our EXPORT_OK 2021-07-16 08:58:47 +02:00
raw.pm
…