Нет действительно надежного способа сделать это, поскольку iframe - это не что-то особенное, просто веб-страница внутри веб-страницы.Вы можете попытаться добавить тип ключа, который будет запрашиваться через get, но для этого потребуется жестко закодировать его на странице, и любой сможет получить к нему доступ и просмотреть вещи за пределами iframe, если они захотят.Если это не имеет значения для вас, то вам будет достаточно чего-то подобного:
URL:
somecontroller / iframe? View = y
public function iframe() {
if ($this->input->get('view') !== 'y') {
exit('No direct script access allowed');
}
}
Я бы предложил получить содержимое через ajax и заполнить div с полосами прокрутки (чтобы имитировать iframe).Таким образом, вы можете проверить, является ли элемент запрошенным с помощью ajax («в iframe»), а если нет, то не обслуживать его.
if (!$this->input->is_ajax_request()) {
exit('No direct script access allowed');
}