Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Полная блокировка

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Как заблочить вызов абсолютно всего, кроме разрешенных ользовательских функция
Bkmz
Отправлено: 01 Апреля, 2009 - 13:31:47
Post Id


Новичок


Покинул форум
Сообщений всего: 2
Дата рег-ции: Июнь 2008  


Помог: 0 раз(а)




Есть пара идей, но столкнулся с очень серьезной проблемой. Начну по порядку.
Идея заключается, грубо говоря, в создании sandbox, в котором люди будут писать что то своё. Так вот, чтобы не было проблем, я придумал такую методику, блочится АБСОЛЮТНО ВСЁ, даже "Echo",но кроме того что работает с массивами переменными, и пишется к примеру функция output, отличие от эхо заключается в том что там будет идти проверка на содержание... Не говорите зачем, и так.... Вообщем нужен дельный совет.
пробывал блочить вызов функций, не всегда срабатывает. Полез в гугл... И понял что такого еще никто не придумывал. Так вот, спрашиваю вас, есть ли такая фича, чтобы можно было заблочить функции, конструкции, классы, а разрешить выполнять только то что я разрешу.
После гугла пришла идея копания сорцов самого пхп, но так как это всё страшно и очень опасно Улыбка вдруг потом не собирется... Прошу помощь у вас, Может проще написать нативную пхпшную функцию которая дальше в коде блочит вызов всего, и вторую которая разрешает? Может в зенд написать? Сам я на диалапе, так что в данный момент не могу ничего скачать, да потестить...
Единственное что не нужно блочить, в принципе это можно будет прописать в исключение, так это работа с переменными и массивами, так как это ничего болезненого не может сделать. Короче САБЖ
 
 Top
IOpeH
Отправлено: 01 Апреля, 2009 - 13:52:52
Post Id



Частый гость


Покинул форум
Сообщений всего: 175
Дата рег-ции: Нояб. 2007  


Помог: 0 раз(а)




параноя ?
 
 Top
EuGen Администратор
Отправлено: 01 Апреля, 2009 - 14:12:34
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Заблокировать функции можно через php.ini:

Классы тоже:

Пользовательские не выйдет таким образом.


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Bkmz
Отправлено: 01 Апреля, 2009 - 17:45:43
Post Id


Новичок


Покинул форум
Сообщений всего: 2
Дата рег-ции: Июнь 2008  


Помог: 0 раз(а)




EuGen пишет:
Заблокировать функции можно через php.ini:
CODE:
скопировать код в буфер обмена
disable_functions
Классы тоже:
CODE:
скопировать код в буфер обмена
disable_classes
Пользовательские не выйдет таким образом.

Ух ты... Не понял а я блин не знал... Хм Хоть и первое апреля сегодня, но все таки... эти варианты не проходят, echo print die etc... у меня увы не блочятся, а это и прогнозуемо, это не функции и классы, а это конструкции. И вы себе представляете я буду абсолютно все функции прописывать??? это ведь не реально, как по мне проще написать нативную функцию.... а не е№&#ться, занимаясь поиском и записывание функций...
IOpeH пишет:
параноя ?


Нужно кодом пхп перед выполнение eval заблочить все функции конструкции и классы которые идут с пхп. если вы меня не правильно поняли...
 
 Top
Stierus Супермодератор
Отправлено: 01 Апреля, 2009 - 18:33:05
Post Id



Рекордсмен по количеству сообщений за 7 дней


Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008  
Откуда: Москваль


Помог: 52 раз(а)




IOpeH пишет:
параноя ?
Самая что ни на есть настоящая Улыбка Либо человек чего-то недопонимает, либо бредит ...
 
My status
 Top
Гость
Отправлено: 01 Апреля, 2009 - 18:55:42
Post Id


УДАЛЁН










Вам нужен код-фильтр? Регулярные выраженитя вам в руки и режьте все операторы и функции котлорые вам мешают -)
 
 Top
EuGen Администратор
Отправлено: 01 Апреля, 2009 - 19:41:36
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Тогда что то вроде
eval+preg_replace

И читайте правила форума, здесь любой ответ нужно расценивать как желание помочь, и, если Вы будете реагировать подобным образом, оно - это самое желание, может отпасть.


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB