Ignore:
Timestamp:
2013/08/28 09:41:18 (11 years ago)
Author:
m_uehara
Message:

#2348 r23128 - r23137 をマージ

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/version-2_13_0/data/class/pages/entry/LC_Page_Entry.php

    r23126 r23140  
    8282 
    8383        // PC時は規約ページからの遷移でなければエラー画面へ遷移する 
    84         if ($this->lfCheckReferer($_POST, $_SERVER['HTTP_REFERER']) === false) { 
     84        if ($this->lfCheckReferer() === false) { 
    8585            SC_Utils_Ex::sfDispSiteError(PAGE_ERROR, '', true); 
    8686        } 
     
    270270     * 1. 規約ページからの遷移かどうか 
    271271     * 2. PC及びスマートフォンかどうか 
    272      * 3. $post に何も含まれていないかどうか 
     272     * 3. 自分自身(会員登録ページ)からの遷移はOKとする 
    273273     * 
    274274     * @access protected 
    275      * @param  array   $post    $_POST のデータ 
    276      * @param  string  $referer $_SERVER['HTTP_REFERER'] のデータ 
    277275     * @return boolean kiyaku.php からの妥当な遷移であれば true 
    278276     */ 
    279     public function lfCheckReferer(&$post, $referer) 
    280     { 
     277    public function lfCheckReferer() 
     278    { 
     279        $arrRefererParseUrl = parse_url($_SERVER['HTTP_REFERER']); 
     280        $referer_urlpath = $arrRefererParseUrl['path']; 
     281 
     282        $kiyaku_urlpath = ROOT_URLPATH . 'entry/kiyaku.php'; 
     283 
     284        $arrEntryParseUrl = parse_url(ENTRY_URL); 
     285        $entry_urlpath = $arrEntryParseUrl['path']; 
     286 
     287        $allowed_urlpath = array( 
     288            $kiyaku_urlpath, 
     289            $entry_urlpath, 
     290        ); 
     291 
    281292        if (SC_Display_Ex::detectDevice() !== DEVICE_TYPE_MOBILE 
    282             && empty($post) 
    283             && (preg_match('/kiyaku.php/', basename($referer)) === 0)) { 
     293            && !in_array($referer_urlpath, $allowed_urlpath)) { 
    284294            return false; 
    285             } 
     295        } 
    286296 
    287297        return true; 
Note: See TracChangeset for help on using the changeset viewer.