aboutsummaryrefslogtreecommitdiffstats
path: root/perllib
diff options
context:
space:
mode:
authorMatthew Somerville <matthew-github@dracos.co.uk>2016-04-06 15:28:47 +0100
committerMatthew Somerville <matthew-github@dracos.co.uk>2016-04-06 17:36:26 +0100
commitf598f56fab4492821eaf8e7507d7b3a99e4a9e2a (patch)
tree91995ebb70ce7538ee035c6d581e80264c803107 /perllib
parentdc5e30296d78b3171188acaef8bca1ae4e7b4596 (diff)
Prevent dev sites auto-creating session.
We check for a session's existence before looking in it, as looking in it first would auto create a session.
Diffstat (limited to 'perllib')
-rw-r--r--perllib/Catalyst/Plugin/Session/State/Cookie.pm7
-rw-r--r--perllib/FixMyStreet/App.pm8
2 files changed, 4 insertions, 11 deletions
diff --git a/perllib/Catalyst/Plugin/Session/State/Cookie.pm b/perllib/Catalyst/Plugin/Session/State/Cookie.pm
index bef0c1e66..c4b61123b 100644
--- a/perllib/Catalyst/Plugin/Session/State/Cookie.pm
+++ b/perllib/Catalyst/Plugin/Session/State/Cookie.pm
@@ -50,13 +50,6 @@ sub update_session_cookie {
sub cookie_is_rejecting {
my ( $c, $cookie ) = @_;
- # Prevent infinite loop in request->path. mySociety addition
- return 0 if $c->request->has_uri && !$c->request->_has_path;
-
- # Don't output cookie for JS or JPEG files. mySociety addition
- return 1 if substr($c->request->path, -3) eq '.js'
- || substr($c->request->path, -5) eq '.jpeg';
-
if ( $cookie->{path} ) {
return 1 if index '/'.$c->request->path, $cookie->{path};
}
diff --git a/perllib/FixMyStreet/App.pm b/perllib/FixMyStreet/App.pm
index af9dc1f9d..79ca7f9ee 100644
--- a/perllib/FixMyStreet/App.pm
+++ b/perllib/FixMyStreet/App.pm
@@ -246,7 +246,7 @@ sub setup_dev_overrides {
delete $params{$_} for grep { !m{^_override_} } keys %params;
# stop if there is nothing to add
- return 1 unless scalar keys %params;
+ return unless scalar keys %params;
# Check to see if we should clear all
if ( $params{_override_clear_all} ) {
@@ -270,14 +270,14 @@ sub setup_dev_overrides {
Checks the overrides for the value given and returns it if found, undef if not.
-Always returns undef unless on a staging site (avoids autovivifying overrides
-hash in session and so creating a session for all users).
+Always returns undef unless on a staging site and we already have a session
+(avoids autovivifying overrides hash and so creating a session for all users).
=cut
sub get_override {
my ( $c, $key ) = @_;
- return unless $c->config->{STAGING_SITE};
+ return unless $c->config->{STAGING_SITE} && $c->sessionid;
return $c->session->{overrides}->{$key};
}