当前位置: 首页>>代码示例>>PHP>>正文


PHP rcube_utils::https_check方法代码示例

本文整理汇总了PHP中rcube_utils::https_check方法的典型用法代码示例。如果您正苦于以下问题:PHP rcube_utils::https_check方法的具体用法?PHP rcube_utils::https_check怎么用?PHP rcube_utils::https_check使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在rcube_utils的用法示例。


在下文中一共展示了rcube_utils::https_check方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: hexdec

// check if config files had errors
if ($err_str = $RCMAIL->config->get_error()) {
    rcmail::raise_error(array('code' => 601, 'type' => 'php', 'message' => $err_str), false, true);
}
// check DB connections and exit on failure
if ($err_str = $RCMAIL->db->is_error()) {
    rcmail::raise_error(array('code' => 603, 'type' => 'db', 'message' => $err_str), FALSE, TRUE);
}
// error steps
if ($RCMAIL->action == 'error' && !empty($_GET['_code'])) {
    rcmail::raise_error(array('code' => hexdec($_GET['_code'])), FALSE, TRUE);
}
// check if https is required (for login) and redirect if necessary
if (empty($_SESSION['user_id']) && ($force_https = $RCMAIL->config->get('force_https', false))) {
    $https_port = is_bool($force_https) ? 443 : $force_https;
    if (!rcube_utils::https_check($https_port)) {
        $host = preg_replace('/:[0-9]+$/', '', $_SERVER['HTTP_HOST']);
        $host .= $https_port != 443 ? ':' . $https_port : '';
        header('Location: https://' . $host . $_SERVER['REQUEST_URI']);
        exit;
    }
}
// trigger startup plugin hook
$startup = $RCMAIL->plugins->exec_hook('startup', array('task' => $RCMAIL->task, 'action' => $RCMAIL->action));
$RCMAIL->set_task($startup['task']);
$RCMAIL->action = $startup['action'];
// try to log in
if ($RCMAIL->task == 'login' && $RCMAIL->action == 'login') {
    $request_valid = $_SESSION['temp'] && $RCMAIL->check_request(rcube_utils::INPUT_POST, 'login');
    // purge the session in case of new login when a session already exists
    $RCMAIL->kill_session();
开发者ID:rcrrich,项目名称:UpdatePackages,代码行数:31,代码来源:index.php

示例2: session_init

 /**
  * Create session object and start the session.
  */
 public function session_init()
 {
     // session started (Installer?)
     if (session_id()) {
         return;
     }
     $sess_name = $this->config->get('session_name');
     $sess_domain = $this->config->get('session_domain');
     $sess_path = $this->config->get('session_path');
     $lifetime = $this->config->get('session_lifetime', 0) * 60;
     $is_secure = $this->config->get('use_https') || rcube_utils::https_check();
     // set session domain
     if ($sess_domain) {
         ini_set('session.cookie_domain', $sess_domain);
     }
     // set session path
     if ($sess_path) {
         ini_set('session.cookie_path', $sess_path);
     }
     // set session garbage collecting time according to session_lifetime
     if ($lifetime) {
         ini_set('session.gc_maxlifetime', $lifetime * 2);
     }
     ini_set('session.cookie_secure', $is_secure);
     ini_set('session.name', $sess_name ? $sess_name : 'roundcube_sessid');
     ini_set('session.use_cookies', 1);
     ini_set('session.use_only_cookies', 1);
     ini_set('session.cookie_httponly', 1);
     // use database for storing session data
     $this->session = new rcube_session($this->get_dbh(), $this->config);
     $this->session->register_gc_handler(array($this, 'gc'));
     $this->session->set_secret($this->config->get('des_key') . dirname($_SERVER['SCRIPT_NAME']));
     $this->session->set_ip_check($this->config->get('ip_check'));
     if ($this->config->get('session_auth_name')) {
         $this->session->set_cookiename($this->config->get('session_auth_name'));
     }
     // start PHP session (if not in CLI mode)
     if ($_SERVER['REMOTE_ADDR']) {
         $this->session->start();
     }
 }
开发者ID:neynah,项目名称:roundcubemail,代码行数:44,代码来源:rcube.php

示例3: session_init

 /**
  * Create session object and start the session.
  */
 public function session_init()
 {
     // session started (Installer?)
     if (session_id()) {
         return;
     }
     $sess_name = $this->config->get('session_name');
     $sess_domain = $this->config->get('session_domain');
     $lifetime = $this->config->get('session_lifetime', 0) * 60;
     // set session domain
     if ($sess_domain) {
         ini_set('session.cookie_domain', $sess_domain);
     }
     // set session garbage collecting time according to session_lifetime
     if ($lifetime) {
         ini_set('session.gc_maxlifetime', $lifetime * 2);
     }
     ini_set('session.cookie_secure', rcube_utils::https_check());
     ini_set('session.name', $sess_name ? $sess_name : 'roundcube_sessid');
     ini_set('session.use_cookies', 1);
     ini_set('session.use_only_cookies', 1);
     ini_set('session.serialize_handler', 'php');
     // use database for storing session data
     $this->session = new rcube_session($this->get_dbh(), $this->config);
     $this->session->register_gc_handler(array($this, 'temp_gc'));
     $this->session->register_gc_handler(array($this, 'cache_gc'));
     // start PHP session (if not in CLI mode)
     if ($_SERVER['REMOTE_ADDR']) {
         session_start();
     }
 }
开发者ID:npk,项目名称:roundcubemail,代码行数:34,代码来源:rcube.php

示例4: rcube_https_check

function rcube_https_check($port = null, $use_https = true)
{
    return rcube_utils::https_check($port, $use_https);
}
开发者ID:noikiy,项目名称:roundcubemail,代码行数:4,代码来源:bc.php

示例5: nocacheing_headers

 /**
  * Send HTTP headers to prevent caching a page
  */
 public function nocacheing_headers()
 {
     if (headers_sent()) {
         return;
     }
     header("Expires: " . gmdate("D, d M Y H:i:s") . " GMT");
     header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
     // We need to set the following headers to make downloads work using IE in HTTPS mode.
     if ($this->browser->ie && rcube_utils::https_check()) {
         header('Pragma: private');
         header("Cache-Control: private, must-revalidate");
     } else {
         header("Cache-Control: private, no-cache, no-store, must-revalidate, post-check=0, pre-check=0");
         header("Pragma: no-cache");
     }
 }
开发者ID:jimjag,项目名称:roundcubemail,代码行数:19,代码来源:rcube_output.php

示例6: session_init

 /**
  * Create session object and start the session.
  */
 public function session_init()
 {
     // session started (Installer?)
     if (session_id()) {
         return;
     }
     $sess_name = $this->config->get('session_name');
     $sess_domain = $this->config->get('session_domain');
     $sess_path = $this->config->get('session_path');
     $lifetime = $this->config->get('session_lifetime', 0) * 60;
     $is_secure = $this->config->get('use_https') || rcube_utils::https_check();
     // set session domain
     if ($sess_domain) {
         ini_set('session.cookie_domain', $sess_domain);
     }
     // set session path
     if ($sess_path) {
         ini_set('session.cookie_path', $sess_path);
     }
     // set session garbage collecting time according to session_lifetime
     if ($lifetime) {
         ini_set('session.gc_maxlifetime', $lifetime * 2);
     }
     ini_set('session.cookie_secure', $is_secure);
     ini_set('session.name', $sess_name ? $sess_name : 'roundcube_sessid');
     ini_set('session.use_cookies', 1);
     ini_set('session.use_only_cookies', 1);
     ini_set('session.cookie_httponly', 1);
     // get session driver instance
     $this->session = rcube_session::factory($this->config);
     $this->session->register_gc_handler(array($this, 'gc'));
     // start PHP session (if not in CLI mode)
     if ($_SERVER['REMOTE_ADDR']) {
         $this->session->start();
     }
 }
开发者ID:Enclavet,项目名称:roundcubemail,代码行数:39,代码来源:rcube.php

示例7: hexdec

}
// error steps
if ($RCMAIL->action == 'error' && !empty($_GET['_code'])) {
    rcmail::raise_error(array('code' => hexdec($_GET['_code'])), false, true);
}
// check if https is required (for login) and redirect if necessary
if (empty($_SESSION['user_id']) && ($force_https = $RCMAIL->config->get('force_https', false))) {
    // force_https can be true, <hostname>, <hostname>:<port>, <port>
    if (!is_bool($force_https)) {
        list($host, $port) = explode(':', $force_https);
        if (is_numeric($host) && empty($port)) {
            $port = $host;
            $host = '';
        }
    }
    if (!rcube_utils::https_check($port ?: 443)) {
        if (empty($host)) {
            $host = preg_replace('/:[0-9]+$/', '', $_SERVER['HTTP_HOST']);
        }
        if ($port && $port != 443) {
            $host .= ':' . $port;
        }
        header('Location: https://' . $host . $_SERVER['REQUEST_URI']);
        exit;
    }
}
// trigger startup plugin hook
$startup = $RCMAIL->plugins->exec_hook('startup', array('task' => $RCMAIL->task, 'action' => $RCMAIL->action));
$RCMAIL->set_task($startup['task']);
$RCMAIL->action = $startup['action'];
// try to log in
开发者ID:jimjag,项目名称:roundcubemail,代码行数:31,代码来源:index.php

示例8: rcube_https_check

function rcube_https_check($port = null, $use_https = true)
{
    _deprecation_warning(__FUNCTION__);
    return rcube_utils::https_check($port, $use_https);
}
开发者ID:JotapePinheiro,项目名称:roundcubemail,代码行数:5,代码来源:bc.php


注:本文中的rcube_utils::https_check方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。