Bug 10016: force zero browser-side caching of SCO pages
authorGalen Charlton <gmc@esilibrary.com>
Sun, 20 Oct 2013 17:13:22 +0000 (17:13 +0000)
committerGalen Charlton <gmc@esilibrary.com>
Mon, 21 Oct 2013 18:05:12 +0000 (18:05 +0000)
commit7b165794cd1875b79177f85db59be42a9708554a
treec6813cc149a9806d699dc33c9f7257dfb2853fc3
parent432f5ad400c6679186b27a00b61a3ad72ddda313
Bug 10016: force zero browser-side caching of SCO pages

This patch makes the web-based self-check module pages
specify that no browser (or proxy caching) occur at all.
This prevents a security issue where letting the SCO session time out,
then hitting the back button allowed one to view the previous
patron's session.

This patch adds an optional fifth parameter to output_with_http_headers(),
and output_html_with_http_headers(), a hashref for miscellaneous
options.  One key is defined at the moment: force_no_caching, which if
if present and set to a true value, sets HTTP headers to specify no
browser caching of the page at all.

To test:

[1] Start a web-based self-check session and optionally perform
    some transactions.
[2] Allow the session to time out (it may be helpful to set
    SelfCheckTimeout to a low value such as 10 seconds).
[3] Hit the back button.  You should not see the previous patron's
    self-check session.
[4] Verify that prove -v t/Output.t passes.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Ed Veal <ed.veal@bywatersolutions.com>
Signed-off-by: Brendan Gallagher <brendan@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
C4/Output.pm
opac/sco/sco-main.pl
t/Output.t