Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

19.11.2009, 22:54
|
|
Участник форума
Регистрация: 02.04.2006
Сообщений: 273
Провел на форуме: 1269624
Репутация:
114
|
|
PHP and Python
В общем есть следующая проблема.
Есть скрипт на питоне которому передаются 3 файла и он делает на их основе четвертый(если быть откровенным то это просто подпись файла, тобеж 1 это файл сертификата 2 это файл ключей а 3 это тот фйл который мы подписываем).
Собственно есть дилемма, как лучше отдать 4 файл пользователю(как будет правильнее)?
Вы наверно спросите причем тут пхп, дело в том что сайт написан на пхп и думаю так будет проще кое какие варианты реалиовать.
Я вижу пару варианта. При этом хотелось бы(я бы даже сказал ооочень хотелось, так как это облегчит в будущем мне жизнь  , хранить сертификат и ключ в базе а не в отдельных файлах ).
1) Сертификат и ключ храним не в базе (  ) , а в базе просто храним путь до них.
через passthru в php мы запускаем скрипт на питоне а скрипт правим так чтобы он делал вывод не в файл а на стандартный поток вывода.
Тут соответственно + в том что это все довольно просто в реализации. Но вот насколько это грамотно(имееться ввиду запуск через passthru скрипта)
2) Вариант близкий к идеальному но не не совсем )
Мы просто разрешаем исполнение python скриптов на сайте(честно некогда не подключал питон на сайтах но думаю это не проблема, и если все таки подключать. тут наверно лучше как cgi приложение его подключать, ведь этот python скрипт будет не часто вызываться), и в самом скрипте на питоне подключаться к базе забирать из нее сертификат и ключ подписывать файл и отдавать ссылку на файл пользователю.
Тут не идельно вот что. Насколько питон нормально работает с mysql? ))
3) Вариант мы питон скрипту через параметры передаем сертификат и ключ подписываем приложение и дальше схоже с 1 вариантом.
Тут + в том что сертификат и ключ хранятся как и хотелось бы, в базе.
4 Некая комбинация 1-3 варианта?
5 ваши предложения ?
ЗЫ файлы которые мы будем отдавать и подписывать будут в среднем 1-3мб максимум 8-10 мб
|
|
|

19.11.2009, 23:49
|
|
Постоянный
Регистрация: 12.06.2008
Сообщений: 654
Провел на форуме: 4512757
Репутация:
973
|
|
Сообщение от EST a1ien
В общем есть следующая проблема.
Есть скрипт на питоне которому передаются 3 файла и он делает на их основе четвертый(если быть откровенным то это просто подпись файла, тобеж 1 это файл сертификата 2 это файл ключей а 3 это тот фйл который мы подписываем).
Собственно есть дилемма, как лучше отдать 4 файл пользователю(как будет правильнее)?
Вы наверно спросите причем тут пхп, дело в том что сайт написан на пхп и думаю так будет проще кое какие варианты реалиовать.
Я вижу пару варианта. При этом хотелось бы(я бы даже сказал ооочень хотелось, так как это облегчит в будущем мне жизнь  , хранить сертификат и ключ в базе а не в отдельных файлах ).
1) Сертификат и ключ храним не в базе (  ) , а в базе просто храним путь до них.
через passthru в php мы запускаем скрипт на питоне а скрипт правим так чтобы он делал вывод не в файл а на стандартный поток вывода.
Тут соответственно + в том что это все довольно просто в реализации. Но вот насколько это грамотно(имееться ввиду запуск через passthru скрипта)
2) Вариант близкий к идеальному но не не совсем )
Мы просто разрешаем исполнение python скриптов на сайте(честно некогда не подключал питон на сайтах но думаю это не проблема, и если все таки подключать. тут наверно лучше как cgi приложение его подключать, ведь этот python скрипт будет не часто вызываться), и в самом скрипте на питоне подключаться к базе забирать из нее сертификат и ключ подписывать файл и отдавать ссылку на файл пользователю.
Тут не идельно вот что. Насколько питон нормально работает с mysql? ))
3) Вариант мы питон скрипту через параметры передаем сертификат и ключ подписываем приложение и дальше схоже с 1 вариантом.
Тут + в том что сертификат и ключ хранятся как и хотелось бы, в базе.
4 Некая комбинация 1-3 варианта?
5 ваши предложения ?
ЗЫ файлы которые мы будем отдавать и подписывать будут в среднем 1-3мб максимум 8-10 мб
Честно говоря смутно понял что это такое - понял только что из пхп нужно вызвать питон - срипт. Это изврат. Уж лучше на питоне написать какого-то демона (естественно, при условии что это вдс/впс/дед в противном случае это маразм). Подключение питона не так просто как кажется. Там хватает подводных камней. Насчет работы с БД - есть такая вещь как SQLalchemy, она все твои вопросы по поводу БД решит. Или переписать питон скрипт на пхп.
|
|
|

20.11.2009, 00:09
|
|
Участник форума
Регистрация: 02.04.2006
Сообщений: 273
Провел на форуме: 1269624
Репутация:
114
|
|
Честно говоря смутно понял что это такое - понял только что из пхп нужно вызвать питон - срипт. Это изврат.
Чесно полностью согласен что это изврат НО
....переписать питон скрипт на пхп.
Это конечно возможно НО переписывать около 2,5к строк с питона на пхп занятие для еще больших извращенцев ))
Уж лучше на питоне написать какого-то демона (естественно, при условии что это вдс/впс/дед в противном случае это маразм).
Собстенно непонятно а причем тут демон.
Грубо говоря совсем упрощая.
Мне надо отдать пользователю файл после обработки его тем питон скриптом. А то что я описывал было мои идеи по решению той проблемы.
Да действия будут происходить на ВДС
|
|
|

20.11.2009, 00:24
|
|
Постоянный
Регистрация: 12.06.2008
Сообщений: 654
Провел на форуме: 4512757
Репутация:
973
|
|
Просто можно написать демона который будет проверять постоянно с заданным интервалом (ну положим там в секунду или пол секунды) БД на наличие задач по сертификации или что там. И потом обратно ложить в БД сертфицированный файл, а пхп же будет просто в БД ложить запрос на эту саму сертификацию, а потом через заданный интервал проверять БД на наличие ответного файла
Под демоном подразумеваю скрипт, просто работающий себе на вдс , которого никто не трогает 
P.S. Я за четкое разделение задач.
P.P.S. Какая предполагается пиковая нагрузка ?
P.P.P.S.  Свалил спать, буду завтра читать 
Последний раз редактировалось login999; 20.11.2009 в 00:38..
|
|
|

20.11.2009, 00:48
|
|
Участник форума
Регистрация: 02.04.2006
Сообщений: 273
Провел на форуме: 1269624
Репутация:
114
|
|
Демон не получиться по той причине что
1) Нужно отдать файл по запросу пользователя.
2) Подпись файла делается моментально(ну время выполнения скрипта на питоне менее 1 сек)
3) Выекает из 1. Пользователь может запросить на подпись любой файл любым своим сертефикатом.
Тоесть подписать все файлы одним сертом и складировать их неполучиться.
Итог. Запрос пользователся (имя файла+выбранный серт)=> (Както подписывам) => както отдаем файл пользвателю. ))
Собственно а где подводные камни зарыты при подключении питона к апатчу?
Пиковая нагрузка ну думаю что 1-2 файла на подпись в минуту МАКСИМУМ ))
|
|
|

20.11.2009, 11:27
|
|
Постоянный
Регистрация: 12.06.2008
Сообщений: 654
Провел на форуме: 4512757
Репутация:
973
|
|
Вот вам бы тут необходимо почитать.
http://habrahabr.ru/blogs/python/67475/#habracut
Подозреваю, что в планируете использовать mod_python.
Посмотрите тесты, почитайте, сделайте выводы.
В принципе с вашей предполагаемой нагрузкой то вам оно до жопы.
Вам его как угодно можно подключить.
Я предполагал нагрузку поболее.
P.P.S. Предлагаю маразм еще круче - переписать сайт на Python 
|
|
|

20.11.2009, 11:41
|
|
Участник форума
Регистрация: 02.04.2006
Сообщений: 273
Провел на форуме: 1269624
Репутация:
114
|
|
нет сама посебе нагрузка на сайт будет.
А это грубо говоря некая предоставляемая услуга на сайте.
Щас почитаю что на хабре пишут.
ЗЫ
P.P.S. Предлагаю маразм еще круче - переписать сайт на Python
Да переписывать DLE(который я и так переделываю под свои нужды) на питон это сильно ))
|
|
|

20.11.2009, 11:56
|
|
Постоянный
Регистрация: 09.11.2006
Сообщений: 639
Провел на форуме: 1917742
Репутация:
541
|
|
вам на free-lance.ru и подобные
|
|
|

20.11.2009, 11:59
|
|
Участник форума
Регистрация: 02.04.2006
Сообщений: 273
Провел на форуме: 1269624
Репутация:
114
|
|
вам на free-lance.ru и подобные
Это к чему пост?
|
|
|

20.11.2009, 18:59
|
|
Участник форума
Регистрация: 21.02.2008
Сообщений: 255
Провел на форуме: 975514
Репутация:
177
|
|
Собственно есть дилемма, как лучше отдать 4 файл пользователю(как будет правильнее)?
через http протокол можно.
php скрипт посылает следующие заголовки:
PHP код:
header('Content-Type: application/force-download');
header('Content-Type: application/octet-stream');
header('Content-Type: application/download');
header('Content-Transfer-Encoding: binary');
header('Content-Disposition: attachment; filename="4file.txt"');
и браузер предлагает скачать 4-й файл
Последний раз редактировалось imajo.ati; 20.11.2009 в 19:04..
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|