HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #2701  
Старый 28.01.2009, 10:41
slesh
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме:
3288241

Репутация: 3349


Отправить сообщение для slesh с помощью ICQ
По умолчанию

То, что ты делаешь - это не файл отправляет, а имя файла.
Для того чтобы отправить файл тебе нужно сделать примерно так:
progressbar1.max = размер файла
затем файл блоками читаешь и отправляешь. И в прогрессбар ставишь сколько уже отправил данных
 
Ответить с цитированием

  #2702  
Старый 29.01.2009, 07:31
Nightmarе
Познавший АНТИЧАТ
Регистрация: 29.04.2007
Сообщений: 1,189
Провел на форуме:
5749763

Репутация: 1680


Отправить сообщение для Nightmarе с помощью ICQ
По умолчанию

Есть php скрипт:
Код:
<?php
$uploaddir = '/uploads/';
$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);

print "<pre>";
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
    print "File is valid, and was successfully uploaded. ";
    print "Here's some more debugging info:\n";
    print_r($_FILES);
} else {
    print "Possible file upload attack!  Here's some debugging info:\n";
    print "Possible file upload attack!  Дополнительная отладочная информация:\n";
    print_r($_FILES);
}
print "</pre>";
?>
Он принимает файл POST параметром "userfile" и загружает на сервак.

Собственно вопрос, как в делфи реализовать передачу файла этому скрипту???
Пробовал через IdHttp, не катит. Тут явно что то ещё надо юзать...
 
Ответить с цитированием

  #2703  
Старый 29.01.2009, 11:27
slesh
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме:
3288241

Репутация: 3349


Отправить сообщение для slesh с помощью ICQ
По умолчанию

Тебе нужно самому постоить HTTP запрос. Вид запроса для отсылки файла примерно такой:
Код:
POST /test.php? HTTP/1.1
Host: site.ru
Content-Length: 185
Content-Type: multipart/form-data; boundary=----------HRMPqBFF7FBJH4xJX2p87i

------------HRMPqBFF7FBJH4xJX2p87i
Content-Disposition: form-data; name="userfile"; filename="myfilename.txt"
Content-Type: text/plain

TEST TEST

------------HRMPqBFF7FBJH4xJX2p87i--
----------HRMPqBFF7FBJH4xJX2p87i - это уникальный разделитель который невстречается в передаваемых данных. ты модешь генерить его сам.
каждая строчка заканчивается на #13#10

В дельфе этот запрос будет строиться примерно так:
1) генери boundary типа ------------HRMPqBFF7FBJH4xJX2p87i
2) data:=boundary+#13#10+'Content-Disposition: form-data; name="userfile"; filename="'+filename+'"'+#13#10+'Content-Type: text/plain'+#13#10#13#10+filedata+#13#10#13#10+boundary +'--'+#13#10;
3) pack:='POST /'+script+' HTTP/1.1'#13#10+Host: '+host+#13#10+'Content-Length: '+inttostr(length(data))+#13#10+'Content-Type: multipart/form-data; boundary='+boundary+#13#10#13#10+data;
4) СОединяйся с сервером каких угодно способом и шли ему pack

Последний раз редактировалось slesh; 29.01.2009 в 11:31..
 
Ответить с цитированием

  #2704  
Старый 29.01.2009, 14:27
Nightmarе
Познавший АНТИЧАТ
Регистрация: 29.04.2007
Сообщений: 1,189
Провел на форуме:
5749763

Репутация: 1680


Отправить сообщение для Nightmarе с помощью ICQ
По умолчанию

Пасиб, про формирование заголовков и POST запроса на сокэтах и т.д... Ну это понятно.
Хотелось бы через специальный компонент упростить всё это дело, должен же быть какой то компонент отвечающий за пердачу файлов.
 
Ответить с цитированием

  #2705  
Старый 29.01.2009, 14:48
slesh
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме:
3288241

Репутация: 3349


Отправить сообщение для slesh с помощью ICQ
По умолчанию

Тогда копай тут:
в IdHttp есть модуль IdMultipartFormData
А нем есть класс TIdMultiPartFormDataStream;
в этом классе есть процедура AddFile которая добавляет файл
Через idHTTP1.Post можно послать как раз данные из TIdMultiPartFormDataStream
Надеюсь понял какая последовательность всего

Если быть точным то это выглядит примерно так:
Код:
uses  IdMultipartFormData;

procedure TForm1.Button1Click(Sender: TObject);
var
 d:TIdMultiPartFormDataStream;
begin
 d:=TIdMultiPartFormDataStream.Create;
 d.AddFile('userfile','c:\test.txt','text/plain');
 idHTTP1.Post('/index.php?',d);
end;

Последний раз редактировалось slesh; 29.01.2009 в 14:55..
 
Ответить с цитированием

  #2706  
Старый 29.01.2009, 14:58
Nightmarе
Познавший АНТИЧАТ
Регистрация: 29.04.2007
Сообщений: 1,189
Провел на форуме:
5749763

Репутация: 1680


Отправить сообщение для Nightmarе с помощью ICQ
По умолчанию

Большое спасибо, понял. Попробуем.
 
Ответить с цитированием

  #2707  
Старый 29.01.2009, 15:28
FindeR
Участник форума
Регистрация: 15.11.2006
Сообщений: 259
Провел на форуме:
2589211

Репутация: 151
По умолчанию

Регистрирую хоткеи.
alt - MOD_ALT, ctrl - MOD_CONTROL...
а tab у нас как "называется"?
 
Ответить с цитированием

  #2708  
Старый 29.01.2009, 15:32
slesh
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме:
3288241

Репутация: 3349


Отправить сообщение для slesh с помощью ICQ
По умолчанию

VK_TAB?
 
Ответить с цитированием

  #2709  
Старый 29.01.2009, 15:35
FindeR
Участник форума
Регистрация: 15.11.2006
Сообщений: 259
Провел на форуме:
2589211

Репутация: 151
По умолчанию

Вот, блин...туплю очень сильно.
Спасиб))
 
Ответить с цитированием

  #2710  
Старый 29.01.2009, 18:30
RaX
Познающий
Регистрация: 07.06.2008
Сообщений: 48
Провел на форуме:
247923

Репутация: 52
Отправить сообщение для RaX с помощью ICQ
По умолчанию

Привет всем. У меня вопрос, как можно с помощью Delphi сделать так, чтобы никакой процесс на заданный процесс не смог сделать WriteProcessMemory, ну или ей подобные функции?
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Wi-Fi, BT] Задай вопрос - получи ответ! Alexsize Беспроводные технологии/Wi-Fi/Wardriving 2568 25.04.2026 12:58
[jQuery] - Задай вопрос, получи ответ Isis PHP 62 25.12.2009 03:25



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ