The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"smtp вместо ftp"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [ Отслеживать ]

"smtp вместо ftp"  
Сообщение от billybons2006 email(ok) on 30-Апр-08, 15:12 
Вот возник такой вопрос - есть хостинг на Linux, есть возможность загрузки файлов по ftp, НО у меня на работе возможности загружать файлы на хостинг по ftp нет (обрублено).

Соответственно, вопрос возник - а как можно загружать файлы на хостинг (причем делать это регулярно и автоматически), но не по ftp, а, скажем, по... SMTP?

Объясняю свою мысль: на специально созданный почтовый ящик типа upload_by_smtp@domain.ru (ящик будет использоваться только для получения специально подготовленных писем) буду отправлять письма с вложением. Во вложении будет архив данных. У письма будет специальным образом подготовленная тема, тело сообщения и определенное имя архива с вложением. На хостинге есть возможность периодического запуска (автоматом) какого-либо скрипта, например, на php. Можно ли этим скриптом на php так обрабатывать почтовый файл на хостинге, чтобы извлечь оттудова архив из вложения, распаковать его и положить в отдельную директорию?

Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "smtp вместо ftp"  
Сообщение от newser (ok) on 30-Апр-08, 15:47 
>[оверквотинг удален]
>по... SMTP?
>
>Объясняю свою мысль: на специально созданный почтовый ящик типа upload_by_smtp@domain.ru (ящик будет
>использоваться только для получения специально подготовленных писем) буду отправлять письма с
>вложением. Во вложении будет архив данных. У письма будет специальным образом
>подготовленная тема, тело сообщения и определенное имя архива с вложением. На
>хостинге есть возможность периодического запуска (автоматом) какого-либо скрипта, например, на php.
>Можно ли этим скриптом на php так обрабатывать почтовый файл на
>хостинге, чтобы извлечь оттудова архив из вложения, распаковать его и положить
>в отдельную директорию?

Можно.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "smtp вместо ftp"  
Сообщение от billybons2006 email(ok) on 30-Апр-08, 16:31 
>Можно.

Например, просто читая файл почты построчно, и начиная со строки, где идет архив, просто копировать в новый файл? Или есть хитрости?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "smtp вместо ftp"  
Сообщение от PavelR (??) on 30-Апр-08, 16:35 
>>Можно.
>
>Например, просто читая файл почты построчно, и начиная со строки, где идет
>архив, просто копировать в новый файл? Или есть хитрости?

есть хитрости. Посмотрите внутро письма, почитайте стандарты на емыл, будет всё хорошо.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "smtp вместо ftp"  
Сообщение от billybons2006 email(??) on 30-Апр-08, 16:37 
Оки, почитаю. И напоследок - так вообще кто-либо делает или я уж совсем перемудрил?
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "smtp вместо ftp"  
Сообщение от Vladimir (??) on 30-Апр-08, 22:53 
Не перемудрил. У меня несколько скриптов по такому принципу работают, разбирают почту.
Тебе проще всего будет первой строкой в сообщении записать имя файла, дальше содержимое, закодированное uuencode. Принятое письмо передается в скрипт (как - смотри описание почтаря конкретного, скорее всего в таблице alias), он его сохраняет где-нить в /tmp, потом распаковывает в нужное место.

С другой стороны, если отказались от фтп, то мог остаться ssh, по нему проще файлы кидать.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "smtp вместо ftp"  
Сообщение от angra (ok) on 01-Май-08, 06:14 
Откуда же нам знать что еще у вас доступно кроме почты. Может у вас еще http есть, тогда проще делать через него upload.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

7. "smtp вместо ftp"  
Сообщение от billybons2006 email(ok) on 05-Май-08, 23:10 
>Откуда же нам знать что еще у вас доступно кроме почты. Может
>у вас еще http есть, тогда проще делать через него upload.

http есть (точнее говоря, это хостинг), но как автоматом туда заливать файлы по http, я не думал, честно говоря. Мысль про почту пришла, вот и стал гуглить на тему, а потом и спросил здесь. Про upload на сайт автоматом (с помощью программы на компе, по расписанию) я посчитал, что будет труднее сделать.

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

SSH, к сожалению, нет, иначе я бы именно по ssh и заливал бы. Увы, не имею возможности.

В общем, спасибо, вы меня уже направили, больше нахлебничать не буду :) - мне уже достаточно информации, чтобы разрабатывать готовое приложение. Большое спасибо!

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

8. "smtp вместо ftp"  
Сообщение от angra (??) on 07-Май-08, 22:06 
Скорее всего на хостинге есть и php. В доке по пыху есть готовый пример скрипта обрабатывающего upload файлов. На клиенте проще всего запаковать в архив нужный каталог и сделать запрос на upload(если делать скриптами, то стоит глянуть в сторону perl+LWP), а на сервере после приема архива его распаковать. Также стоит в эту схему добавить хотя бы минимальный механизм авторизации иначе легко могут поиметь.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

9. "smtp вместо ftp"  
Сообщение от billybons2006 email(ok) on 08-Май-08, 12:57 
>Скорее всего на хостинге есть и php. В доке по пыху есть
>готовый пример скрипта обрабатывающего upload файлов. На клиенте проще всего запаковать
>в архив нужный каталог и сделать запрос на upload(если делать скриптами,
>то стоит глянуть в сторону perl+LWP), а на сервере после приема
>архива его распаковать.

php есть, как эту схему я рассмотрел сразу после своего последнего ответа. Меня частично остановила мысль о том, что "легко могут поиметь", а во-вторых, с ходу не нашел скриптов для разархивирования с помощью php. Точнее говоря, нашел целый класс на эту тему, но это потребует чуть больше времени, чем я думал. Не думаю, что это станет для меня проблемой. В общем схема с загрузкой по http+php мне очень понравилась, пробные загрузки делал, вопрос только в распаковке остался. И с надежной авторизацией. Думаю, надо 1) средствами apache у хостера поставить пароль на папку плюс 2) сделать авторизацию через сесии. Правда, при этом могут возникнуть проблемы, как программа с компьютера сможет автоматом проходить эти две проверки для автоматической загрузки архива на сервер.

А еще я недавно купил себе WiFi Asus WL-500gP с USB ;) И т.к. его я вводить в корпоративную сеть не буду, то можно смело разрешать на нем ftp! И все. Правда, вопрос о загрузке и распаковке все-равно актуальнее в силу универсальности.


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

10. "smtp вместо ftp"  
Сообщение от angra (??) on 08-Май-08, 13:20 
А зачем делать разархивацию средствами php? Вызовите внешний архиватор через system или ``. Если отключено, то можно по крону вызывать скрипт проверяющий время обновления архива и делающий его распаковку.
По поводу безопасности есть много вариантов. Если между клиентом и сервером нет сниферов, то можно просто отдельным параметром передавать пароль используя http. Если возможность снифа не исключена, то стоит использовать https. Также может помочь ограничение доступа к папке с определенных ip через .htaccess.
Если делать более продвинутый вариант и минимизировать трафик, то можно предварительно получить список файлов с их md5 суммами, сравнить с имеющимся и передать в архиве только новые/измененные.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

11. "smtp вместо ftp"  
Сообщение от billybons2006 email(ok) on 08-Май-08, 16:54 
>А зачем делать разархивацию средствами php? Вызовите внешний архиватор через system или
>``. Если отключено, то можно по крону вызывать скрипт проверяющий время
>обновления архива и делающий его распаковку.

По поводу внешнего архиватора надо запросить провайдера, но заранее уверен, что запрещено.

>По поводу безопасности есть много вариантов. Если между клиентом и сервером нет
>сниферов, то можно просто отдельным параметром передавать пароль используя http. Если
>возможность снифа не исключена, то стоит использовать https.

https нет, тариф не позволяет :( Сниферов не должно быть, но программа (типа Cobian Backup и ей подобные) все равно в теле запроса http ничего не передадут, даже не сомневаюсь.

>Также может помочь
>ограничение доступа к папке с определенных ip через .htaccess.

По ip не могу, т.к. клиенты отовсюду.

>Если делать более продвинутый вариант и минимизировать трафик, то можно предварительно >получить список файлов с их md5 суммами, сравнить с имеющимся и передать
>в архиве только новые/измененные.

Тут можно делать все, что угодно :)

Большое спасибо за внимание к вопросу. Варианты защиты от подмены, аутентификации и прочего я решу, это просто надо чуть поискать, не хочу никого напрягать. Тем более что, как всегда, меня загрузили по самые уши всякими "срочными" вопросами, и я вынужден отложить решение этого вопроса. Еще раз спасибо!

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру