Форум » [x]Harbour » Пассивный режим FTP (передача файлов) » Ответить

Пассивный режим FTP (передача файлов)

Dima: Почему в режиме passive mode .T. передача не всегда удачна ? Со значением .F. все работает нормально. Cделал пример для проверки , проверял в Harbour 2.0 и Xharbour 1.1 [pre2] Proc main local i for i=1 to 20 ? Hb_sendftp("111.111.111.111","test","test",21,{"t.prg","111.ico"},"minisklad",.f.) // .t. все 20 раз next for i=1 to 20 ? Hb_sendftp("111.111.111.111","test","test",21,{"t.prg","111.ico"},"minisklad",.t.) // .t. не всегда и тупит next * pS * свои данные для входа на ФТП я убрал ;) return nil STATIC FUNCTION Hb_sendftp( cserver,cuser,cpassword,nport,afiles,cdir,lpassmode ) LOCAL cUrl LOCAL cStr LOCAL lRetorno := .T. LOCAL oUrl LOCAL oFTP LOCAL cFile := "" cUrl := "ftp://" + cUser + ":" + cPassword + "@" + cServer IF Len( aFiles ) > 0 oUrl := tUrl():New( cUrl ) oFTP := tIPClientFtp():New( oUrl, .f. ) oFTP:nConnTimeout := 20000 oFTP:nDefaultPort:=nport oFTP:bUsePasv := lpassmode IF oFTP:Open( cUrl ) if oFtp:Cwd(cdir) FOR each cFile IN afiles IF !oFtp:UploadFile( cFile ) lRetorno := .F. EXIT ELSE lRetorno := .t. ENDIF NEXT endif oFTP:Close() ELSE lRetorno := .F. ENDIF ENDIF RETURN lRetorno [/pre2]

Ответов - 17

PSP: Dima пишет: и тупит oFTP:nConnTimeout := 20000 Может оставить по-умолчанию, 3000?

Dima: PSP У меня стояло по умолчанию 20000. Поставил 3000 , тупить стало меньше но кол-во неудачных отправок не уменьшилось. В случае oFTP:bUsePasv:=.F. все норм.

Dima: Ладно , бум юзать oFTP:bUsePasv:=.F.


Dima: Похоже виноват фтп сервер. Юзаю, да и клиенту поставил из за простоты настроек Golden FTP Server PRO 4.30. Выяснилось что после запуска проги что в 1 посте несколько раз , Golden FTP Server PRO просто падает (не всегда) , да и клиент жаловался что Golden FTP Server PRO иногда сваливается, бывает 1 раз в месяц , бывает несколько раз в неделю. Free версию тоже пробнул , результат тот же. Пожалуй пробну Gene6.FTP.Server.3.10.0.2 , вроде как есть на него рабочий комплект с аспирином.

PSP: Тут вот еще что... Активный режим, в общем говоря, небезопасен.

Dima: PSP пишет: Активный режим, в общем говоря, небезопасен Чем это грозит ? Можешь объяснить как для домохозяек ?

PSP: Нууууу... я тоже на уровне домохозяйки знаю... Активный и пассивный режимы: http://netpromoter.ru/linkutility/help/ftp.html http://asweb.ru/notes/miscellaneous/ftpmodes/ При использовании пассивного режима, клиента можно защитить файрволом. Т.е., файрвол не пустит из вне ни одного запроса на соединение, который не был инициирован клиентом. При использовании активного режима применение файрвола делает невозможной работу с FTP. Если не использовать файрвол, то нужно быть уверенным в надежности FTP-сервера. ПС: не нужно забывать, что кроме personal firewall, бывает corporate firewall (в том числе hardware), а также proxy servers.

Dima: PSP пишет: При использовании активного режима применение файрвола делает невозможной работу с FTP Ну и меня же получилось. Файл на ФТП ложит скажем так доверенное приложение (мое приложение) Какая разница в этом случае в каком режиме передавать ?

Dima: PSP пишет: ПС: не нужно забывать, что кроме personal firewall, бывает corporate firewall (в том числе hardware), а также proxy servers. То есть он может это дело заблокировать ?

PSP: Dima пишет: То есть он может это дело заблокировать ? При использовании активного режима обязан заблокировать. С точки зрения файрвола, попытка FTP-сервера подключится к порту клиента, это - несанкционированное внешнее соединение. При пассивном режиме клиент сам запрашивает соединение и, поэтому файрвол пропускает входящий трафик от сервера, как "ответ на запрос клиента". Собственно, пассивный режим был изобретен, когда появились файрволы...

PSP: Dima пишет: Файл на ФТП ложит скажем так доверенное приложение (мое приложение) Файрвол не проверяет сами файлы. Он работает в соответствии с правилами (rules) безопасности. Т.е. ему наплевать, что закачивается на станцию. Если станция запросила данные с какого-то адреса, то файрвол пропустит их, будь это хоть сотня троянов и вирусов. Ему плевать. Тут уже работа антивируса начинается...

Dima: PSP пишет: Файрвол не проверяет сами файлы. Он работает в соответствии с правилами (rules) безопасности. Это я понимаю. Cпасибо. Крепко подумаю еще раз и проведу ряд тестов. PS Интересно а в каком режиме работает торрент клиент , скажем utorrent _http://www.utorrent.com ?

PSP: Dima пишет: Интересно а в каком режиме работает торрент клиент С этим я не разбирался...

Dima: PSP пишет: С этим я не разбирался... Торможу , там это можно настроить.

PSP: Dima пишет: там это можно настроить. Вобщем-то, файрвол тоже можно настроить, чтобы он пропускал входящий трафик от заранее известного сервера.

Dima: Dima пишет: Пожалуй пробну Gene6.FTP.Server.3.10.0.2 Однако пробнул. Все работает как часы , в любом режиме передачи ! Для проверки цикл увеличил до 1000 , ни одного промаха. Dima пишет: Golden FTP Server PRO Отстойный FTP

Dima: Существует ли связь между именем пользователя в Windows и приемом файлов с FTP ? Дело было так. Имя пользователя было Администратор и в программе стоял пассивный режим передачи файлов. К юзеру файлы не доходили , по логам FTP все нормально , файлы якобы передаются. Режим ACTIVE MODE вис на LISTе (просто проверили). Сменили имя юзера на ADMIN и передача файлов заработала в ACTIVE MODE , в PASSIVE висяк. Антивирусов нет , файер отключен.



полная версия страницы