2017-05-26 72 views

回答

1

在超級鏈接中使用令牌。否認令牌不會匹配會話中的值。

嘗試以下方法:

  1. 在控制器檢查,如果會話[「令牌」]被設置, 如果沒有設置會話[「令牌」]對rendom值。
  2. 如果令牌未設置或不匹配$ _GET ['token']變量將重定向到錯誤頁面。
  3. 如果令牌匹配得到變量(即。$ _GET ['token']),那麼傳遞該值來查看。

我不建議這樣做,因爲這樣做可能會影響瀏覽器緩存。

控制器構造

function __construct() 
{ 
    parent::__construct(); 
    $this->load->library('session'); 

    if(!isset($_SESSION['token'])) 
    { 
    $_SESSION['token'] = rand(); 
    } 

    if((!$this->input->get('token')) || ($this->input->get('token') != $_SESSION['token'])) 
    { 
    redirect('error_page'); 
    } 

    // to pass to vew 
    $data['token'] = $_SESSION['token']; 
    $this->load->view('view_page',$data); 
} 

在view_page.php(視圖)代替這樣

<a href="#link?token=<?php echo $token?>">Gallery link</a> 
鏈接
相關問題