0
私はウェブサイトを作成しましたが、顧客がブラウザにリンクを入力することを許可していません。 私はちょうどウェブサイト上の顧客のクリックリンクを許可したいと思います。codeigniterのブラウザにその顧客タイプのURLをブロックする方法は?
私に解決策を提供してください!
ありがとうございます!
私はウェブサイトを作成しましたが、顧客がブラウザにリンクを入力することを許可していません。 私はちょうどウェブサイト上の顧客のクリックリンクを許可したいと思います。codeigniterのブラウザにその顧客タイプのURLをブロックする方法は?
私に解決策を提供してください!
ありがとうございます!
ハイパーリンクのトークンを使用します。トークンがセッションの値と一致しない場合は拒否します。
次のことを試してください:コントローラのチェックで
これは、ブラウザのキャッシュに影響する可能性があるため、これはお勧めしません。
コントローラのコンストラクタ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>
のようなリンクを置き換えます