ILIAS  Release_3_10_x_branch Revision 61812
 All Data Structures Namespaces Files Functions Variables Groups Pages
ilHTTPS Class Reference

HTTPS. More...

+ Collaboration diagram for ilHTTPS:

Public Member Functions

 ilHTTPS ()
 checkPort ()
 check if current port usage is right: if https should be used than redirection is done, to http otherwise.
 __readProtectedScripts ()
 isDetected ()
 check if https is detected
 __readProtectedClasses ()
 _checkHTTPS ()
 static method to check if https connections are possible for this server public
 _checkHTTP ()
 static method to check if http connections are possible for this server
 enableSecureCookies ()
 enable secure cookies

Data Fields

 $enabled = false
 $protected_scripts = array()
 $automaticHTTPSDetectionEnabled = false
 $headerName = false
 $headerValue = false

Detailed Description

HTTPS.

Author
Stefan Meyer smeye.nosp@m.r@da.nosp@m.tabay.nosp@m..de
Version
Id:
class.ilHTTPS.php 18978 2009-02-13 09:26:43Z smeyer

Definition at line 33 of file class.ilHTTPS.php.

Member Function Documentation

ilHTTPS::__readProtectedClasses ( )

Definition at line 131 of file class.ilHTTPS.php.

Referenced by ilHTTPS().

{
$this->protected_classes[] = 'ilstartupgui';
$this->protected_classes[] = 'ilregistrationgui';
}

+ Here is the caller graph for this function:

ilHTTPS::__readProtectedScripts ( )

Definition at line 86 of file class.ilHTTPS.php.

Referenced by ilHTTPS().

{
$this->protected_scripts[] = 'login.php';
$this->protected_scripts[] = 'index.php';
$this->protected_scripts[] = 'payment.php';
$this->protected_scripts[] = 'register.php';
// BEGIN WebDAV Use SSL for WebDAV.
$this->protected_scripts[] = 'webdav.php';
// END WebDAV Use SSL for WebDAV.
return true;
}

+ Here is the caller graph for this function:

ilHTTPS::_checkHTTP ( )

static method to check if http connections are possible for this server

public

Returns
boolean

Definition at line 160 of file class.ilHTTPS.php.

Referenced by ilSecuritySettings\validate().

{
$port = 80;
if(($sp = @fsockopen($_SERVER["SERVER_NAME"],$port,$errno,$error)) === false)
{
return false;
}
fclose($sp);
return true;
}

+ Here is the caller graph for this function:

ilHTTPS::_checkHTTPS ( )

static method to check if https connections are possible for this server public

Returns
boolean

Definition at line 142 of file class.ilHTTPS.php.

Referenced by ilSecuritySettings\validate().

{
// only check standard port in the moment
$port = 443;
if(($sp = @fsockopen($_SERVER["SERVER_NAME"],$port,$errno,$error)) === false)
{
return false;
}
fclose($sp);
return true;
}

+ Here is the caller graph for this function:

ilHTTPS::checkPort ( )

check if current port usage is right: if https should be used than redirection is done, to http otherwise.

Returns
unknown

Definition at line 63 of file class.ilHTTPS.php.

References $_GET, and exit.

{
// if https is enabled for scripts or classes, check for redirection
if ($this->enabled)
{
if((in_array(basename($_SERVER["SCRIPT_NAME"]),$this->protected_scripts) or
in_array($_GET['cmdClass'],$this->protected_classes)) and
$_SERVER["HTTPS"] != "on")
{
header("location: https://".$_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"]);
}
if((!in_array(basename($_SERVER["SCRIPT_NAME"]),$this->protected_scripts) and
!in_array($_GET['cmdClass'],$this->protected_classes)) and
$_SERVER["HTTPS"] == "on")
{
header("location: http://".$_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"]);
}
}
return true;
}
ilHTTPS::enableSecureCookies ( )

enable secure cookies

public

Parameters
@return

Definition at line 179 of file class.ilHTTPS.php.

References $ilLog, and isDetected().

{
global $ilLog,$ilClientIniFile;
$secure_disabled = $ilClientIniFile->readVariable('session','disable_secure_cookies');
if(!$secure_disabled and !$this->enabled and $this->isDetected() and !session_id())
{
$ilLog->write(__CLASS__.': Enabled secure cookies');
session_set_cookie_params(0,'/','',true);
}
return true;
}

+ Here is the call graph for this function:

ilHTTPS::ilHTTPS ( )

Definition at line 42 of file class.ilHTTPS.php.

References $ilSetting, __readProtectedClasses(), and __readProtectedScripts().

{
global $ilSetting;
if($this->enabled = (bool) $ilSetting->get('https'))
{
}
if ($this->automaticHTTPSDetectionEnabled = (bool) $ilSetting->get("ps_auto_https_enabled"))
{
$this->headerName = $ilSetting->get("ps_auto_https_headername");
$this->headerValue = $ilSetting->get("ps_auto_https_headervalue");
}
}

+ Here is the call graph for this function:

ilHTTPS::isDetected ( )

check if https is detected

Returns
boolean true, if https is detected by protocol or by automatic detection, if enabled, false otherwise

Definition at line 104 of file class.ilHTTPS.php.

References $headerName.

Referenced by enableSecureCookies().

{
if ($_SERVER["HTTPS"] == "on")
return true;
if ($this->automaticHTTPSDetectionEnabled)
{
$headerName = "HTTP_".str_replace("-","_",$this->headerName);
/* echo $headerName;
echo $_SERVER[$headerName];*/
if (strcasecmp($_SERVER[$headerName],$this->headerValue)==0)
{
$_SERVER["HTTPS"] = "on";
return true;
}
/*
if(isset($_SERVER[$this->headerName]) && (strcasecmp($_SERVER[$this->headerName],$this->headerValue) == 0))
{
$_SERVER['HTTPS'] = 'on';
return true;
}
*/
}
return false;
}

+ Here is the caller graph for this function:

Field Documentation

ilHTTPS::$automaticHTTPSDetectionEnabled = false

Definition at line 38 of file class.ilHTTPS.php.

ilHTTPS::$enabled = false

Definition at line 35 of file class.ilHTTPS.php.

ilHTTPS::$headerName = false

Definition at line 39 of file class.ilHTTPS.php.

Referenced by isDetected().

ilHTTPS::$headerValue = false

Definition at line 40 of file class.ilHTTPS.php.

ilHTTPS::$protected_scripts = array()

Definition at line 36 of file class.ilHTTPS.php.


The documentation for this class was generated from the following file: