Changeset 14989


Ignore:
Timestamp:
2007/06/28 16:43:42 (13 years ago)
Author:
adati
Message:

CSRF対策:セッションにuniqidを持たせるように修正

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/rel/data/class/SC_Session.php

    r12157 r14989  
    1313    var $sid;           // ¥»¥Ã¥·¥ç¥óID 
    1414    var $member_id;     // ¥í¥°¥¤¥ó¥æ¡¼¥¶¤Î¼ç¥­¡¼ 
    15  
     15    var $uniqid;         // ¥Ú¡¼¥¸Á«°Ü¤ÎÀµÅöÀ­¥Á¥§¥Ã¥¯¤Ë»ÈÍÑ 
     16     
    1617    /* ¥³¥ó¥¹¥È¥é¥¯¥¿ */ 
    1718    function SC_Session() { 
     
    2324            $this->sid = session_id(); 
    2425            $this->cert = $_SESSION['cert']; 
    25             $this->login_id = $_SESSION['login_id']; 
     26            $this->login_id  = $_SESSION['login_id']; 
    2627            $this->authority = $_SESSION['authority'];  // ´ÉÍý¼Ô:0, °ìÈÌ:1, ±ÜÍ÷:2 
    2728            $this->member_id = $_SESSION['member_id']; 
     29            $this->uniqid    = $_SESSION['uniq_id']; 
     30             
    2831            // ¥í¥°¤Ëµ­Ï¿¤¹¤ë 
    2932            gfPrintLog("access : user=".$this->login_id." auth=".$this->authority." sid=".$this->sid); 
     
    6467    } 
    6568     
     69    /** ¥æ¥Ë¡¼¥¯ID¤Î¼èÆÀ **/  
     70    function getUniqId() { 
     71        // ¥æ¥Ë¡¼¥¯ID¤¬¥»¥Ã¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¥»¥Ã¥È¤¹¤ë¡£ 
     72        if( empty($_SESSION['uniqid']) ) { 
     73            $this->setUniqId(); 
     74        } 
     75        return $this->GetSession('uniqid'); 
     76    } 
     77     
     78    /** ¥æ¥Ë¡¼¥¯ID¤Î¥»¥Ã¥È **/  
     79    function setUniqId() { 
     80        // ͽ¬¤µ¤ì¤Ê¤¤¤è¤¦¤Ë¥é¥ó¥À¥àʸ»úÎó¤òÉÕÍ¿¤¹¤ë¡£ 
     81        $this->SetSession('uniqid', sfGetUniqRandomId()); 
     82    } 
     83     
    6684    /* ¥»¥Ã¥·¥ç¥ó¤ÎÇË´þ */ 
    6785    function EndSession() { 
     
    87105        unset($_SESSION['authority']); 
    88106        unset($_SESSION['member_id']); 
     107        unset($_SESSION['uniqid']); 
    89108        // ¥í¥°¤Ëµ­Ï¿¤¹¤ë 
    90109        gfPrintLog("logout : user=".$this->login_id." auth=".$this->authority." sid=".$this->sid); 
Note: See TracChangeset for help on using the changeset viewer.