@@ -, +, @@ (op==delete) Under Plack this results in an internal server error, the log tells you: Wrong CSRF token. --- authorities/authorities-home.pl | 13 +++++++++++++ .../prog/en/modules/authorities/searchresultlist.tt | 3 ++- 2 files changed, 15 insertions(+), 1 deletion(-) --- a/authorities/authorities-home.pl +++ a/authorities/authorities-home.pl @@ -36,6 +36,7 @@ use C4::Search::History; use Koha::Authority::Types; use Koha::SearchEngine::Search; use Koha::SearchEngine::QueryBuilder; +use Koha::Token; my $query = new CGI; my $dbh = C4::Context->dbh; @@ -58,6 +59,12 @@ if ( $op eq "delete" ) { debug => 1, } ); + + die "Wrong CSRF token" unless Koha::Token->new->check_csrf({ + session_id => scalar $query->cookie('CGISESSID'), + token => scalar $query->param('csrf_token'), + }); + &DelAuthority( $authid, 1 ); if ( $query->param('operator') ) { @@ -111,6 +118,12 @@ if ( $op eq "do_search" ) { } ); + $template->param( + csrf_token => Koha::Token->new->generate_csrf({ + session_id => scalar $query->cookie('CGISESSID'), + }), + ); + # search history if (C4::Context->preference('EnableSearchHistory')) { if ( $startfrom == 1) { --- a/koha-tmpl/intranet-tmpl/prog/en/modules/authorities/searchresultlist.tt +++ a/koha-tmpl/intranet-tmpl/prog/en/modules/authorities/searchresultlist.tt @@ -19,7 +19,8 @@ function confirm_deletion(id) { + "&orderby=[% orderby %]" + "&value=[% value |url %]" + "&startfrom=[% startfrom %]" - + "&resultsperpage=[% resultsperpage %]"; + + "&resultsperpage=[% resultsperpage %]" + + "&csrf_token=[% csrf_token %]"; } } --