Bunun yerine referer kontrolü yapabilirdiniz , ama refererda belirli sayfalara bakmak var ise yönlendirmek istiyorsanız şu şekilde bir işlem yapabilirsiniz ;

<?php	
	function _stripos( $args = array() , $data )
	{
		if( !is_array($args) ) return false;
		foreach( $args as $key ){
			if( !stripos( $data , $key) !== TRUE )
				return TRUE;
		}
	}
	
	// Kullanıcının geldiği yer referer değerini değiştirdim örnek olması açısından.
	$_SERVER['HTTP_REFERER'] = 'http://localhost/login.php?page=listUsers';
	$referer = $_SERVER['HTTP_REFERER'];
	if( $referer && _stripos(array( 'index.php' , 'login.php' , 'diger.php') , $referer) ){
		/*
			$url = parse_url( $referer );
			print_r( $url );
			Çıktı ; 
			Array
			(
				[scheme] => http
				[host] => localhost
				[path] => /login.php
				[query] => page=listUsers
			)
		*/
		$_SESSION['referer'] = $referer;
	}else{
		$_SESSION['referer'] = 'base_url';
	}
	
	echo $_SESSION['referer'];
	// Çıktı ; http://localhost/login.php?page=listUsers
?>