Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как создать своё расширение для php? *.php → *.so 
:(
    Опции темы
kanaris
Дата 8.1.2011, 17:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 70
Регистрация: 16.2.2008

Репутация: нет
Всего: -1



Добрый вечер!

Интересует возможность создания расширения для пхп (*.so) из обычного php-файла. С целью сокрытия исходного кода, и, возможно, ускорения работы.
Читал статейку: http://habrahabr.ru/blogs/php/98862/ там сильно сложно, функцию нужно писать на си. В си я не разбираюсь, кроме того конвертировать в си десятки тысяч строк пхп-кода нереально.
Есть ли такие компиляторы, которые дают эту возможность?
PM MAIL   Вверх
SamDark
Дата 8.1.2011, 19:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Добрый кот
***


Профиль
Группа: Участник
Сообщений: 1424
Регистрация: 25.7.2006
Где: Voronezh

Репутация: нет
Всего: 38



kanaris
Нет.


--------------------
rmcreative.ru — Это жжж неспроста...
yiiframework.ru — О фреймворке Yii на русском.
reggi — здесь я регистрирую домены
PM MAIL WWW GTalk Jabber MSN   Вверх
vasac
Дата 8.1.2011, 21:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1060
Регистрация: 4.5.2006

Репутация: нет
Всего: 36



kanaris, а как распространять будете? В виде *.so, которая на большинстве никсов не заработает?
PM WWW   Вверх
kanaris
Дата 8.1.2011, 22:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 70
Регистрация: 16.2.2008

Репутация: нет
Всего: -1



Цитата

а как распространять будете? В виде *.so, которая на большинстве никсов не заработает? 


Не буду никак распространять, это будет на моем сервере. Будет отключены некоторые расширения (типа mysql, работа с файлами), но зато включено мое расширение. Получится как фреймворк, только из ограниченных функций. Будут наниматься фрилансеры, кодить модули, используя только функции фреймворка: а их будет достаточно для полноценной разработки сайта.
Получится масса преимуществ:
  • самая главная цель: фрилансеры не смогут скачать ядро движка (юзать для себя), но смогут кодить нужные моды.
  • нельзя залить шелл (не будет работать, т.к. отключено большинство функций, которые использует шелл, типа file_get_contents())
  • нельзя будет оставить в коде лазейки (для тайного инклуда скриптов, бэкдор, ...), т.к. из скрипта будет доступно только окружение, которое и так доступно пользователю (напр. нельзя задампить базу, сделать выборку всех паролей из базы).

Имхо задумка идеальна, однако пока что не могу найти подходящего решения для этого. Или может предложите альтернативное что-нибудь?
PM MAIL   Вверх
skyboy
Дата 9.1.2011, 00:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: нет
Всего: 260



Цитата(kanaris @  8.1.2011,  21:50 Найти цитируемый пост)
Будет отключены некоторые расширения (типа mysql, работа с файлами),

а твой модуль будет как-то использовать функции отключенных тобой модулей mysql и прочих напрямую? и что это за модуль "работы с файлами"? работа с ФС реализована в "ядре" РНР, хочешь отключить - только через php.ini.
PM MAIL   Вверх
kanaris
Дата 9.1.2011, 00:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 70
Регистрация: 16.2.2008

Репутация: нет
Всего: -1



Цитата

а твой модуль будет как-то использовать функции отключенных тобой модулей mysql и прочих напрямую?


Само расширение должно иметь полный доступ ко всем функциям.
Но в самих php-файлах, которые будут создавать фрилансеры, будут доступны только функции из расширения и стандартные "безопасные" php-функции (типа str_replace, preg_match, in_array и тд). А "опасные" функции типа mysql_query(), fwrite() будут недоступны.


Цитата

и что это за модуль "работы с файлами"? работа с ФС реализована в "ядре" РНР, хочешь отключить - только через php.ini.


значит отключить через php.ini
PM MAIL   Вверх
kanaris
Дата 9.1.2011, 20:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 70
Регистрация: 16.2.2008

Репутация: нет
Всего: -1



что, никто не знает?
PM MAIL   Вверх
skyboy
Дата 10.1.2011, 09:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: нет
Всего: 260



Цитата(kanaris @  9.1.2011,  19:48 Найти цитируемый пост)
что, никто не знает? 

Цитата(SamDark @  8.1.2011,  18:25 Найти цитируемый пост)
kanaris, 
Нет. 

пиши на С++

PM MAIL   Вверх
kanaris
Дата 12.1.2011, 15:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 70
Регистрация: 16.2.2008

Репутация: нет
Всего: -1



Ну может быть не обязательно через пхп-расширения.
Основная задача: отключить некоторые системные функции, НО разрешить свои функции, использующие те отключенные системные.
Буду очень рад, если подскажете что-нибудь подобное или наводящее.
PM MAIL   Вверх
phpsc
Дата 13.1.2011, 05:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 234
Регистрация: 22.11.2010

Репутация: нет
Всего: 0



демоны на c++
сайт на php
--------------------
Социальная сеть
PM MAIL   Вверх
lukas
Дата 18.1.2011, 20:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 771
Регистрация: 23.2.2007

Репутация: нет
Всего: 15



Есть расширение phptk для freepascal с помощью которого можно писать расширения для php: http://wiki.freepascal.org/Pascal_and_PHP

.so я не писал расширения, но .dll написал с десяток для php 5.2. Но freepascal позволяет писать для линукса, так что поддержка и варианта .so должна быть. 

P.S. Есть еще phc, который транслирует код php в расширение написанное на си для php.

Это сообщение отредактировал(а) lukas - 18.1.2011, 20:16


--------------------
http://code.google.com/p/orionphp/ - opensource скриптовой язык Orion (аналог PHP) для freepascal/delphi.
PM MAIL WWW   Вверх
KLeonid
Дата 4.4.2011, 18:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Entropy
*


Профиль
Группа: Участник
Сообщений: 51
Регистрация: 5.7.2007
Где: Shpongleland

Репутация: нет
Всего: 1



На сколько я понимаю, вам не нужно расширение. Вам нужно просто защитить код ядра.
Для этого лучше использовать, например, SVN. Фрилансерам дается ваш АПИ, и логин в SVN репозиторий, в котором они будут видеть только свои части кода. Все остальное будет скрыто от их глаз smile.
Это правильный, используемый в профессиональной разработке метод.
А скомпилированные модули нужны для ускорения работы "тяжелых" для PHP модулей (парсинг, работа с БД или графикой...).
PM MAIL   Вверх
Antonsaer
Дата 24.8.2011, 18:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 16.8.2011

Репутация: нет
Всего: нет



user posted image а можно подробнее про свн 

PM MAIL   Вверх
krundetz
Дата 29.8.2011, 15:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вечный странник
***


Профиль
Группа: Завсегдатай
Сообщений: 1400
Регистрация: 14.6.2007
Где: НН(Сормово)

Репутация: нет
Всего: 69



kanaris, глянте в сторону разработки HipHop for PHP от facebook 


--------------------
!цензоры - Хранитель стратегической жидкости
Группа ТГВ
Группа Нижний Новгород
user posted image
PM MAIL   Вверх
krundetz
Дата 29.8.2011, 15:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вечный странник
***


Профиль
Группа: Завсегдатай
Сообщений: 1400
Регистрация: 14.6.2007
Где: НН(Сормово)

Репутация: нет
Всего: 69



KLeonid, мне кажется предложенный вами способ легко обхдиться


--------------------
!цензоры - Хранитель стратегической жидкости
Группа ТГВ
Группа Нижний Новгород
user posted image
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Extensions | Следующая тема »


 




[ Время генерации скрипта: 0.1510 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.