2017-05-26 6 views

答えて

1

ハイパーリンクのトークンを使用します。トークンがセッションの値と一致しない場合は拒否します。

次のことを試してください:コントローラのチェックで

  1. セッションであれば[「トークンは」] rendom値にセッション[「トークン」]を設定していない 場合、設定されています。
  2. トークンが設定されていないか、$ _GET ['token']変数に一致しない場合、変数はエラーページにリダイレクトされます。
  3. トークンが変数(つまり。$ _GET ['token'])を取得する場合は、その値を表示に渡します。

これは、ブラウザのキャッシュに影響する可能性があるため、これはお勧めしません。

コントローラのコンストラクタview_page.phpで

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); 
} 

(ビュー)この

<a href="#link?token=<?php echo $token?>">Gallery link</a> 
のようなリンクを置き換えます
関連する問題