Skip to main content
This site requires you to update your browser. Your browsing experience maybe affected by not having the most up to date version.
When I enable Static Publisher and try to submit the form, I get redirected to a white page with the warning "SecurityID doesn't match, possible CSRF attack." and the form doesn't submit.
I'd really like to use Static Publisher, so any thoughts on how to fix this would be much appreciated.
If there isn't a fix, can I easily exclude that form page from being cached when using Static Publisher?
Is the missing "value" on the Static page the issue?
Dynamic version of UserDefinedForm:
<input class="hidden nolabel" type="hidden" id="Form_Form_Referrer" name="Referrer" value="http://blabla.com/silverstripe/locations/finished?referrer=http%3A%2F%2Fblabla.com%2Fsilverstripe%2F" />
<input class="hidden nolabel" type="hidden" id="Form_Form_Referrer" name="Referrer" value="" />
I would disable Static Publisher (which I think you need to do with any forms anyways). You can add an exception in the allPagesToCache() function to remove pages with the classname 'UserDefinedForm'.
..."Is the missing "value" on the Static page the issue?"...
Not exactly, it's the Form_Form_SecurityID hidden input, see [url=http://doc.silverstripe.org/form#form_security]http://doc.silverstripe.org/form#form_security[/url]
While we're on the subject ... when a form post fails this CSRF check it raises a http 400 error but does not seem to use the "400-Bad Request" error page I have created in the CMS, should it? (there is an error-400.html in the assets folder)
Thanks for the help!
I got that to work for my UserDefinedForm page, but I do have a simple form on every page. So I guess I'll look into Partial Caching instead of Static Publisher.
Or you could disable security for just that form
All depends on the CSRF risk of the particular form.
I haven't tried partial caching myself but am so happy with static caching that I'll try to make that work wherever I can.