Ignore:
Timestamp:
2011/01/08 03:11:29 (13 years ago)
Author:
tao
Message:

#841 インストール画面に管理画面のディレクトリ、SSL制限、IP制限を追加。管理画面でのアクセス制限も追加

Location:
branches/version-2_5-dev/data/class
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branches/version-2_5-dev/data/class/SC_CheckError.php

    r19805 r19854  
    585585        if( strlen($this->arrParam[$value[1]]) > 0 && !ereg( "^https?://+($|[a-zA-Z0-9_~=:&\?\.\/-])+$", $this->arrParam[$value[1]] ) ) { 
    586586            $this->arrErr[$value[1]] = "※ " . $value[0] . "を正しく入力してください。<br />"; 
     587        } 
     588    } 
     589 
     590    /* IPアドレスの判定 */ 
     591    //  value[0] = 項目名 value[1] = 判定対象IPアドレス文字列 
     592    function IP_CHECK( $value ){ 
     593        if(isset($this->arrErr[$value[1]])) { 
     594            return; 
     595        } 
     596        //改行コードが含まれている場合には配列に変換 
     597        $params = str_replace("\r","",$this->arrParam[$value[1]]); 
     598        if(strpos("\n",$params) === false){ 
     599            $params .= "\n"; 
     600        } 
     601        $params = explode("\n",$params); 
     602        foreach($params as $param){ 
     603            $param = trim($param); 
     604            if(long2ip(ip2long($param)) != trim($param) and !empty($param)) { 
     605                $this->arrErr[$value[1]] = "※ " . $value[0] . "に正しい形式のIPアドレスを入力してください。<br />"; 
     606            } 
    587607        } 
    588608    } 
  • branches/version-2_5-dev/data/class/SC_FormParam.php

    r19805 r19854  
    190190                case 'KANA_CHECK': 
    191191                case 'URL_CHECK': 
     192                case 'IP_CHECK': 
    192193                case 'SPTAB_CHECK': 
    193194                case 'ZERO_CHECK': 
  • branches/version-2_5-dev/data/class/pages/admin/LC_Page_Admin.php

    r19805 r19854  
    4444    function init() { 
    4545        $this->template = MAIN_FRAME; 
     46         
     47        //IP制限チェック 
     48        if(defined("ADMIN_ALLOW_HOSTS")){ 
     49            $allow_hosts = unserialize(ADMIN_ALLOW_HOSTS); 
     50            if(array_search($_SERVER["REMOTE_ADDR"],$allow_hosts) === FALSE){ 
     51                SC_Response::sendError("403"); 
     52                exit; 
     53            } 
     54        } 
     55         
     56        //SSL制限チェック 
     57        if(ADMIN_FORCE_SSL == TRUE){ 
     58            if(empty($_SERVER['HTTPS']) AND $_SERVER['SERVER_PORT'] != 443){ 
     59                SC_Response::sendRedirect($SERVER["REQUEST_URI"], $_GET,FALSE, TRUE); 
     60            } 
     61        } 
    4662 
    4763        // ディスプレイクラス生成 
Note: See TracChangeset for help on using the changeset viewer.