1

Тема: url и функции

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

меня вполне устроит ссылка на конечный мануал, т.к. я даже не знаю что именно искать... почитал немного про хелперы, но как я понимаю хелпер доступен только "своему" модулю...

Thumbs up Thumbs down

2

Re: url и функции

Есть функции private а есть public, первые доступны только скриптам, вторые из вне. Помоему)
Точно не могу утверждать. Но если сделать private function name() то из вне нельзя будет к ней обратится.

Thumbs up Thumbs down

3

Re: url и функции

это не поможет "private" блочит доступ извне класса... я ведь правильно понимаю, что взаимодействие между модулями (обычно) это и есть доступ извне... т.е. один класс пытается вызвать команду из другого.

Thumbs up Thumbs down

4

Re: url и функции

Так же есть protected function я думаю она сработает.
http://stackoverflow.com/questions/4361 … -protected

Thumbs up Thumbs down

5

Re: url и функции

нет не помогает... тем более это стандартные команды php а не команды фреймворка

Thumbs up Thumbs down

6

Re: url и функции

Еще с прошлого сообщения так и не увидел проблемы. smile
1. Это в качестве справки... Компоненты класса, помеченные ключевым словом public, доступны любым классам, protected компоненты доступны только наследуемым классам, а private компоненты доступны только внутри класса, не наследуются и не доступны извне.
2. Если Вам так важна безопасность определенной функции завяжите ее на авторизацию. В Zend Framework есть ACL(проверяет роли и права к ресурсам), полагаю в CI есть что-то подобное. Хотя бы в CMS есть класс DX_Auth, соответственно с ним и нужно работать. Проверяете авторизицию, если ее нет - редирект

Профессиональное создание сайтов любой сложности, аудит, продвижение, а также поддержка вашего интернет ресурса - web2life.ru

TIMEWEB > Всегда больше, чем просто хостинг для ImageCMS!

7

Re: url и функции

суть проблемы не в этом!
мне нужно ВСЕМ модулям разрешить обращаться к текущей функции текущего модуля, при этом ТОЛЬКО из кода вызванная должна работать...
к примеру функция отправки SMS для какого-либо модуля нужна она в её самом расширенном виде, при этом нужно пресечь все попытки доступа к ней напрямую через url
пока-что обхожу это через третье колено ... но это не есть хорошо
приходится придумывать специальный токен,проверять url, и ещё парочка интересных примочек...

Thumbs up Thumbs down

8

Re: url и функции

Всё равно не мойму, чего Вы не поймете big_smile Смотрите, берем демо-версию Image CMS, модуль Feedback. Логика примерно такая: контроллер - feedback, экшн - index, т.е если открыть http://demo.imagecms.net/feedback/index откроется наша обратная связь. В этом классе есть функция captcha_check, по сути это экшн, т.е. открыв http://demo.imagecms.net/feedback/captcha_check напрямую мы получим Missing argument 1 for Feedback::captcha_check(), т.е. мы не передали аргумент в функцию и получили ворнинг.
Теперь возьмем Ваш абстрактный класс по отправке sms, вы получили из формы телефон и текст сообщения, в этом классе есть функция send с примерными аргументами: api_host, port, api_login, api_password, token, phone, text.  http://demo.imagecms.net/sms/send - получите такой же ворнинг.

Профессиональное создание сайтов любой сложности, аудит, продвижение, а также поддержка вашего интернет ресурса - web2life.ru

TIMEWEB > Всегда больше, чем просто хостинг для ImageCMS!

9

Re: url и функции

если передать не

http://demo.imagecms.net/sms/send

а (примерно)

http://demo.imagecms.net/sms/send/Вася/Привет перезвони/70001112233

всё пройдет
автоматически данные подставляются ... и мне нужно не через третье колено обходить а коррекстно... именно по тому, что я могу подменить сам данные через url я и задал вопрос как это обрубить!

Thumbs up Thumbs down

10

Re: url и функции

Так это по сути GET. Кто такие данные GET запросом передает?  smile

Профессиональное создание сайтов любой сложности, аудит, продвижение, а также поддержка вашего интернет ресурса - web2life.ru

TIMEWEB > Всегда больше, чем просто хостинг для ImageCMS!

11

Re: url и функции

Спасибо КЭП, Видимо Вы так и не поняли суть проблемы... то, что это GET это я и без Вас знаю, а то, что если я открываю доступ модулям на функцию, то доступ открывается и внешним приложениям.

supleader пишет:

Кто такие данные GET запросом передает?

а тот кто хочет поживиться на таких дырках... если я смог, значит и другой сможет...
не нужно давать повода....

Thumbs up Thumbs down

12 Отредактировано supleader (13-05-2012 15:11:00)

Re: url и функции

Да вот кстати про GET в одной из старых тем, которую подняли, напишу о facepalm  big_smile
Я бы сделал это (отправка смс) не модулем, а библиотекой и подключал бы в нужных местах. Так я сделал постинг новостей и статей из блога на стену группы вконтакте из админки imagecms.

Профессиональное создание сайтов любой сложности, аудит, продвижение, а также поддержка вашего интернет ресурса - web2life.ru

TIMEWEB > Всегда больше, чем просто хостинг для ImageCMS!

13

Re: url и функции

уже ближе ... а чем отличается модуль от библиотеки? где библиотеки хранятся и о каких именно библиотеках идет речь? Я не против против проверить данный метод на своих разработках, если конечно это даст нужный эффект.

Thumbs up Thumbs down

14

Re: url и функции

Контакт я сделал так. Здесь находится наш класс-библиотека application/libraries/vkapi.php. В нужном месте подключаю библиотеку - $this->load->library('vkapi'). А дальше обращаюсь к методам этого класса вот так:

                $vkpost = VkApi::invoke('wall.post', array(
                'owner_id' => '-33551657',
                'message' => strip_tags($data['prev_text']),
                'attachments' => 'http://profirst.ru/'.$data['cat_url'].$data['url'],
                'from_group' => 1
                ));
Профессиональное создание сайтов любой сложности, аудит, продвижение, а также поддержка вашего интернет ресурса - web2life.ru

TIMEWEB > Всегда больше, чем просто хостинг для ImageCMS!

15

Re: url и функции

ну вот! ура наконец живой вариант... то, что нужно... хоть и немного не в той форме...

Thumbs up Thumbs down