Koha-clms/Koha/Template/Plugin
David Cook 0048be7498 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>
(cherry picked from commit e8e00cfeb3)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit 629d2a6f6c)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2024-12-18 10:54:10 +01:00
..
AdditionalContents.pm Bug 37628: (follow-up) Remove get_opac_news_by_id 2024-12-06 10:23:06 +01:00
Asset.pm
…
AudioAlerts.pm
…
AuthClient.pm Bug 33708: Provide non-public endpoint for OAuth/OIDC for staff interface 2023-05-18 11:35:15 -03:00
AuthorisedValues.pm
…
Biblio.pm Bug 29002: (follow-up) Make CanBook more resilient 2023-11-03 14:22:49 -03:00
Branches.pm Bug 32721: (QA follow-up) Drop fields from API response 2023-10-19 16:00:56 -03:00
Cache.pm
…
Categories.pm Bug 32127: Sort by description in Koha::Template::Plugin::Categories 2023-04-14 11:35:23 -03: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
…
Desks.pm
…
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
…
HtmlTags.pm
…
I18N.pm
…
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 35955: Cache CSRF token in template plugin 2024-03-12 11:55:23 +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
…
Languages.pm
…
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
…
Remove_MARC_punctuation.pm
…
SafeURL.pm Bug 22223: Add filter to make item URLs safe in template output 2024-12-18 10:54:10 +01:00
TablesSettings.pm Bug 34913: DataTables upgrade: Update CSS and option names 2024-01-29 10:15:53 +01:00
To.pm
…
raw.pm
…