информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Где водятся OGRыАтака на InternetПортрет посетителя
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Бэкдор в xz/liblzma, предназначенный... 
 Три миллиона электронных замков... 
 Doom на газонокосилках 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / web building
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
Никак. 09.09.03 10:39  Число просмотров: 1916
Автор: trent Статус: Незарегистрированный пользователь
<"чистая" ссылка>
<web building>
Как узнать размер файла до аплоада ? 10x 06.09.03 19:07  
Автор: tdes@work Статус: Незарегистрированный пользователь
<"чистая" ссылка>
речь шла о модулях на mod_perl 09.09.03 15:49  
Автор: dl <Dmitry Leonov>
<"чистая" ссылка>
...которыми действительно можно достатчно прилично управлять сервером, но и тут далеко не факт, что пройдет такой фокус с предварительным определением размера.

А главное, я не совсем понимаю, зачем это нужно. Разве что грубо прикинуть из content-length общий размер, чтобы отсечь загрузку заведомо больших файлов.
подразумевалось на стороне клиента 09.09.03 22:29  
Автор: tdes <jin> Статус: Member
<"чистая" ссылка>
просто есть гостевая книга с возможностью добалять картинки, а юзеры так и норовят зааплодить свои многомегабайтные фотки, снятые дигитальными камерами, а потом ещё сцуки жалуются что у них ничего не работает.
видимо без активх/ ява аплетов etc не обойтись
подразумевалось на стороне клиента 10.09.03 00:02  
Автор: dl <Dmitry Leonov>
<"чистая" ссылка>
> просто есть гостевая книга с возможностью добалять
> картинки, а юзеры так и норовят зааплодить свои
> многомегабайтные фотки, снятые дигитальными камерами, а
> потом ещё сцуки жалуются что у них ничего не работает.
> видимо без активх/ ява аплетов etc не обойтись

На стороне клиента - никак. Но никто не мешает вставить в скрипт проверку размера заливаемого файла. В точной формулировке это происходит уже после upload'а, но до завершения работы скрипта.
ну почему никак ? яваскриптом да, но активх то может проверить 10.09.03 01:41  
Автор: tdes <jin> Статус: Member
<"чистая" ссылка>
ну, если не смущает, что исполнение неподписанных activex разрешает меньшинство пользователей, то да :) 10.09.03 07:52  
Автор: dl <Dmitry Leonov>
<"чистая" ссылка>
тогда только меньшинству и разрешить аплоад, а объяснить это технической необходимостью. 10.09.03 10:25  
Автор: !mm <Ivan Ch.> Статус: Elderman
<"чистая" ссылка>
а можно поинтересоваться поподробней. чего хотелось сделать? 09.09.03 15:59  
Автор: hamstr Статус: Незарегистрированный пользователь
<"чистая" ссылка>
просто на твой вопрос возникло несколько возможных вариантов и соответственно несколько ответов....
Никак. 09.09.03 10:39  
Автор: trent Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Можно. См. RFC 2068 (http 1.1) 09.09.03 11:36  
Автор: whiletrue <Роман> Статус: Elderman
<"чистая" ссылка>
Там смотри то место, где говорится о теле сообщения и конкретно о Content-Length. Ну, а как с сокетами работать - знаешь.

З.Ы. FlashGet ведь умеет размер определять до аплоада, да еще и грузить по частям.
Можно. См. RFC 2068 (http 1.1) 09.09.03 13:43  
Автор: trent Статус: Незарегистрированный пользователь
<"чистая" ссылка>
>Можно. См. RFC 2068 (http 1.1)
Это чтобы узнать дo download'a
Дo upload'a никак. Клиент(браузер) не позволяет никаких манипуляций, со стороны js.

К тому же Content-Length сервер не обязан отдавать и прокси бывают его режут
Сори, не правильно понял... 09.09.03 13:58  
Автор: whiletrue <Роман> Статус: Elderman
<"чистая" ссылка>
Тогда, вот для PHP вариант 09.09.03 14:12  
Автор: whiletrue <Роман> Статус: Elderman
<"чистая" ссылка>
$HTTP_POST_FILES - поддерживает size

$HTTP_POST_FILES['userfile']['name']
The original name of the file on the client machine.

$HTTP_POST_FILES['userfile']['type']
The mime type of the file, if the browser provided this information. An example would be "image/gif".

$HTTP_POST_FILES['userfile']['size']
The size, in bytes, of the uploaded file.

$HTTP_POST_FILES['userfile']['tmp_name']

In PHP 4.1.0 or later, $_FILES should be used instead of $HTTP_POST_FILES.

Когда делаем move_uploaded_file он уже физически грузится на сервак.
Тогда, вот для PHP вариант 09.09.03 22:34  
Автор: tdes <jin> Статус: Member
<"чистая" ссылка>
> Когда делаем move_uploaded_file он уже физически грузится
> на сервак.
нет, он уже находится в $HTTP_POST_FILES['userfile']['tmp_name']
это все уже обертка 09.09.03 14:27  
Автор: dl <Dmitry Leonov>
<"чистая" ссылка>
Реально скрипт может что-то узнать только после того, как сервер все уже получил. Content-length относится к размеру всего тела запроса, и чтобы вытащить размер файла, серверу придется вытащить хотя бы кусок multipart-запроса.
Ну, а че не выход? 09.09.03 14:39  
Автор: whiletrue <Роман> Статус: Elderman
<"чистая" ссылка>
> Реально скрипт может что-то узнать только после того, как
> сервер все уже получил. Content-length относится к размеру
> всего тела запроса, и чтобы вытащить размер файла, серверу
> придется вытащить хотя бы кусок multipart-запроса.

Ну не весь же файл он загрузит, а кусок...

Раз речь про аплоад, значит какой-то скрипт на серваке подразумевается. А скрипт, в любом случае, не сможет получить размер самостоятельно, без веб сервера.

З.Ы. Хотя, я действительно, кажись не понял вопрос. Наверное он про javascript...
Можно попытаться воспользоваться запросом HEAD 09.09.03 15:16  
Автор: Yurii <Юрий> Статус: Elderman
<"чистая" ссылка>
> Ну не весь же файл он загрузит, а кусок...

Можно попытаться воспользоваться запросом HEAD,
тогда придет только заголовок.
Только не уверен, что все сервера его поддерживают...
Ну, а че не выход? 09.09.03 14:49  
Автор: dl <Dmitry Leonov>
<"чистая" ссылка>
> > всего тела запроса, и чтобы вытащить размер файла,
> серверу
> > придется вытащить хотя бы кусок multipart-запроса.
> Ну не весь же файл он загрузит, а кусок...

Это исключительно теоретическое предположение, я никогда не видел, чтобы сервер так себя вел :) Схема ведь простая - все стянули с клиента, потом перекинули скрипту. Разве что свой модуль писать, и то я не уверен, что это даст желаемый результат.

> Раз речь про аплоад, значит какой-то скрипт на серваке
> подразумевается. А скрипт, в любом случае, не сможет
> получить размер самостоятельно, без веб сервера.
> З.Ы. Хотя, я действительно, кажись не понял вопрос.
> Наверное он про javascript...

Может и так, но тут ничего не даст сделать секурити.
Может perl умеет? 09.09.03 15:11  
Автор: whiletrue <Роман> Статус: Elderman
<"чистая" ссылка>
> > > всего тела запроса, и чтобы вытащить размер
> файла,
> > серверу
> > > придется вытащить хотя бы кусок
> multipart-запроса.
> > Ну не весь же файл он загрузит, а кусок...
>
> Это исключительно теоретическое предположение, я никогда не
> видел, чтобы сервер так себя вел :) Схема ведь простая -
> все стянули с клиента, потом перекинули скрипту. Разве что
> свой модуль писать, и то я не уверен, что это даст желаемый
> результат.

Помнится как-то Urix в споре Perl vs. PHP говорил, что мол перл умеет управлять непосредственно веб-сервером... может с этой стороны подойти?
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2024 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach