Djenx.Explorer - закрываем доступ

Для проверки доступа добавил вызов обработчика на проверку.
Теперь в файле connector/php/index.php вы можете передать в класс Djenx_Explorer параметр allowFunction вызов которого должен вернуть boolean.

Пример: 

function checkAllow_DjenxExplorer()
{
	if (isset($_POST['PHPSESSID'])) {
		session_id($_POST['PHPSESSID']);
	}

	if (session_start()) {
		if (isset($_SESSION['admin']) && true === $_SESSION['admin']) {
			return true;
		}
	}

	return false;
}


require_once dirname(__FILE__)  . '/library/Djenx/Explorer.php';
$djenxExplorer = new Djenx_Explorer(array(
	'allowFunction'		=> 'checkAllow_DjenxExplorer',
));


В данном случае мы передали в allowFunction чтобы при инициализации вызывалась функция checkAllow_DjenxExplorer(), которая в свою очередь проверяет в сессии наличие переменной admin, вы в свою очередь можете делать какую угодно проверку.

Важным моментом является следующее, так как есть проблема с идентификацией данных отправленных через флэш, я добавил возможность передавать свои данные для работы эксплорера, для этого вам необходимо в момент инициализации редактора и эксплорера передавать переменную post в которой указаны куки или идентификатор сессии(может быть какой-то свой уникальный ключ). 

DjenxExplorer.init({
	returnTo: CKEDITOR.replace('editor'),
	post: {
			'PHPSESSID': '<?php echo session_id(); ?>'
	}
});

Данные как видно из примера, будут переданны в обычном режиме ключ=значение

Crutis, Питер. 4 Марта 2011, 09:27
Не получается подключить проверку.
После подключения (добавления функции проверки в класс) дерево каталогов не грузится.

> я добавил возможность передавать свои данные...
> вам необходимо в момент инициализации редактора
а как быть в том случае, когда эксплорер грузится standalone через frame?
Demphest 4 Марта 2011, 11:29
@Crutis
В этом случае передавать напрямую в URL
Пример:
http://sitename.ru/demos/Djenx.Explorer/index.html?type=file&returnTo=function&post={PHPSESSID:jfpa7d1qchrngtdu4g966f42k7}&path=/demos/Djenx.Explorer&connector=php
Crutis, Питер 22 Апреля 2011, 11:52
@Demphest
Ты только забыл упомянуть о том, что еще надо навешивать проверку на саму загрузку изображений. После того как проходит проверка доступа к самому ф-менеджеру, дерево отображается корректно, но он не дает загружать изображения (По техническим причинам, загрузка не удалась: file.jpg).

Я уже сделал этот момент, но странно что никто больше не писал об этом - либо лень, либо безопасность не многих волнует.
Оставить комментарий
Имя:
E-mail:
Город:
Пишите в ICQ или на E-mail
Как только буду On-Line сразу отвечу
Добро
Пожаловать
Меня зовут Александр, на своём сайте я собрал краткую информацию о себе, а также портфолио сделанных работ.

← Здесь я публикую свои мысли, идеи, реализации. В общем всякую ерунду и не только. Фактически использую как записную книжку.