David,

I have returned from vacation and am catching up with email. I believe you
have restored the demo request page.

What approach did you end up using?
- -
Jody Garnett


On Aug 7, 2024 at 11:25:15 PM, David Blasby <dbla...@gmail.com> wrote:

> Hi,
>
> I was recently reviewing one of the PR (#7154 - "Wicket 9 upgrade").  This
> looks like its brought in some changes WRT content-security-policy - which
> has some implications for wicket-with-javascript.
>
> I loaded the GS homepage, and I got a content-security-policy issue about
> some javascript.
>
> Tracking it down, it was single line of javascript
>
>
> https://github.com/geoserver/geoserver/blob/main/src/web/core/src/main/java/org/geoserver/web/GeoServerBasePage.html#L42-L44
>
>       <script type="text/javascript">
>            $('input, textarea').placeholder();
>        </script>
>
> In order to fix this, I removed that <script>, and modified
> GeoserverBasePage#renderHeader to include:
>
>         response.render(OnDomReadyHeaderItem.forScript("$('input,
> textarea').placeholder();"));
>
> Wicket will imbed that command in a dom-ready event.  Something like this:
>
> [image: image.png]
>
> CSP adds the CSP header with a per-request nonce="..." that will allow
> this code block to execute (the CSP header nonce and the script nonce much
> match).
>
> The alternative for something like this would be to create a tiny JS file
> for the page that would have the  $('input, textarea').placeholder(); code
> in it.  This could be added, via wicket, in the same manner.
>
> A second alternative is adding a hash to the <script> tag - but I'm sure
> if I like that from a maintenance/security perspective.
>
> Is there any guidance for this?
>
>
> Also, this would mean removing any `onClick=` or `onChange=` handlers in
> the HTML to be attached by a JS command.  Something like this:
>
> $("#someElement").on("change", function(event) {
>      someFunction(this);
>
> } );
>
>  I've noticed that the Demo Requests page (a complex js-and-wicket page)
> isn't working anymore.  I expect this is due to some click/change
> handlers.  I will look into that tomorrow, but I didn't want to spend a
> bunch of time "doing the wrong thing" so I am asking here.
>
> Any guidance on how to proceed?
>
> Cheers,
> Dave
> _______________________________________________
> Geoserver-devel mailing list
> Geoserver-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/geoserver-devel
>
_______________________________________________
Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel

Reply via email to