Browse Source

$_SERVER['HTTPS'] can be exists and 'off' for non-https connectios

Natan Frei 1 year ago
parent
commit
e234ac8dcb
3 changed files with 3 additions and 3 deletions
  1. 1 1
      include/functions.php
  2. 1 1
      include/sessions.php
  3. 1 1
      install/index.php

+ 1 - 1
include/functions.php

@@ -1782,7 +1782,7 @@
 	}
 
 	function is_server_https() {
-		return $_SERVER['HTTPS'] == 'on' || $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https';
+		return (!empty($_SERVER['HTTPS']) && ($_SERVER['HTTPS'] != 'off')) || $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https';
 	}
 
 	function is_prefix_https() {

+ 1 - 1
include/sessions.php

@@ -12,7 +12,7 @@
 	$session_expire = min(2147483647 - time() - 1, max(SESSION_COOKIE_LIFETIME, 86400));
 	$session_name = (!defined('TTRSS_SESSION_NAME')) ? "ttrss_sid" : TTRSS_SESSION_NAME;
 
-	if (@$_SERVER['HTTPS'] == "on") {
+	if ((!empty($_SERVER['HTTPS']) && ($_SERVER['HTTPS'] != 'off')) || @$_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https') {
 		$session_name .= "_ssl";
 		ini_set("session.cookie_secure", true);
 	}

+ 1 - 1
install/index.php

@@ -180,7 +180,7 @@
 	}
 
 	function is_server_https() {
-		return $_SERVER['HTTPS'] == 'on' || $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https';
+		return (!empty($_SERVER['HTTPS']) && ($_SERVER['HTTPS'] != 'off')) || $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https';
 	}
 
 	function make_self_url_path() {