Вы можете использовать HTTP_REFERER
, который содержит информацию (адрес) о странице, которая направила вас на текущую страницу, если она пуста, вы можете перенаправить ее на свою 404
страницу. Кроме того, вы всегда должны проверять $_SESSION
и перенаправлять, если не установлен.
if( !isset($_SERVER['HTTP_REFERER'])) {
$this->load->helper('url');
redirect('/page404');
}
В качестве альтернативы вы также можете использовать HTTP_X_FORWARDED_FOR
, но это не поможет вам в запросе AJAX
. Подробнее об этом здесь и здесь .