Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Как отдать пользователю файл скриптом [2]

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (3): « 1 [2] 3 »   

> Описание: или форсированная скачка
kamikadze
Отправлено: 08 Августа, 2008 - 14:00:22
Post Id



Склонен к самоубийству


Покинул форум
Сообщений всего: 391
Дата рег-ции: Янв. 2007  


Помог: 0 раз(а)




ASHOOT-x86, я не совсем пойму о чем ты... Вообще то я вроде не помню такого, чтоб PHP при каждой новой закачке создавал себе клона...
D1mOn, есть такое понятие как базовая аутентификация средствами самого HTTP, тоесть ее осуществить можно на уровне HTTP заголовков (появляется окошко похожее на то, которое появляется при доступе к запароленому FTP через браузер)
 
 Top
ASHOOT-x86
Отправлено: 13 Августа, 2008 - 15:36:02
Post Id



Новичок


Покинул форум
Сообщений всего: 53
Дата рег-ции: Июль 2008  
Откуда: Россия, Краснодар


Помог: 0 раз(а)




Да, к сожалению создает, если стоит как цги скрипт php. Если стоит в виде модуля, то апач начинает весить больше(((((((((


-----
PHP - рулезУлыбка
 
My status
 Top
kamikadze
Отправлено: 18 Августа, 2008 - 23:46:22
Post Id



Склонен к самоубийству


Покинул форум
Сообщений всего: 391
Дата рег-ции: Янв. 2007  


Помог: 0 раз(а)




Хм Чет я не вьеду, а причем тут CGI? Да и установка пыха как установка. Чет я не пойму о чем ты. У меня такой скрипт лежит на мини серве для локалки, все в порядке.
 
 Top
Гость
Отправлено: 02 Декабря, 2008 - 15:57:12
Post Id


УДАЛЁН










Цитата:
Теперь мне нужно, чтобы пользователь с паролем не скачать её мог, а посмотреть на экране.
Меня настораживает эта фраза. В любом случае если картинка появилась на экране, то ее всегда можно сохранить. Это же касается и видео, даже во Flash, ибо программы типа FlashHunter никто не отменял
В общем я клоню к тому, что все, что показано на экране, всегда может быть сохранено пользователем, даже если пытаться защититься от этого

P.S. 1 Даже допустим, что картинка хорошо защищена, скрипты на стороне пользователя блоктруют сохранеие каритнок, а при выходе ActiveX элемент чистети эти каринки из TemporatryOnternetFiles, что уже почти невозмонжо. А при поторноцй загрузке картинки она удаляетсяс сервера (Т.е. та ее копия, кторая была отдана пользователю). Но даже тогда на худой конец можно прочитать страницу с тэгом IMG с той самой заветной картинеой м помощью telnet, и взять адрес и скачать эту картинку.

P.S. 2 Никто еще не отменял PrintScreen Подмигивание

(Отредактировано автором: 02 Декабря, 2008 - 16:00:51)

 
 Top
Champion Супермодератор
Отправлено: 02 Декабря, 2008 - 16:34:03
Post Id



Активный участник


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


Помог: 57 раз(а)




JustUserR, всё нормально)
 
 Top
Гость
Отправлено: 02 Декабря, 2008 - 17:51:22
Post Id


УДАЛЁН










Цитата:
JustUserR, всё нормально)
??? Улыбка

Функция то отличная никто не спорит и я не спорю
Но тот факт что защитить картинку от сохранения когда она уже на экране я не могу отрицать
 
 Top
Champion Супермодератор
Отправлено: 02 Декабря, 2008 - 20:57:11
Post Id



Активный участник


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


Помог: 57 раз(а)




Но если ее нужно сберечь от злых рук, то наверное, запаролена будет та страница, где она отображается. Вы так не считаете?)
 
 Top
Гость
Отправлено: 03 Декабря, 2008 - 08:01:54
Post Id


УДАЛЁН










Видать я плохо выражаюсь. Либо не понял смысл цитаты "Теперь мне нужно, чтобы пользователь с паролем не скачать её мог, а посмотреть на экране. "

Я подумал что имеется ввиду, что если пользователь введет пароль, то он может посмотреть, НО НЕ МОЖЕТ СКАЧАТЬ эту картинку. Я и обосновал что если пользователь УЖЕ посмотрел эту картинку, т.е. имеет пароль, то он сможет и скачать ее (Заполучиь на свой компьютер в виде файла)

А насчет всего остального я и не спорю Улыбка
 
 Top
Champion Супермодератор
Отправлено: 03 Декабря, 2008 - 09:41:02
Post Id



Активный участник


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


Помог: 57 раз(а)




JustUserR пишет:
может посмотреть, НО НЕ МОЖЕТ СКАЧАТЬ
Это уже сложно)
Можно показать ему плохую картинку, и он ее скачивать не захочет. Превьюшку. Тогда такими способоми как "сохранить как", printScrn ему пользоваться не захочется
 
 Top
nkrk
Отправлено: 28 Января, 2009 - 18:59:36
Post Id


Новичок


Покинул форум
Сообщений всего: 1
Дата рег-ции: Янв. 2009  


Помог: 0 раз(а)




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

спасибо.

(Отредактировано автором: 28 Января, 2009 - 19:03:39)

 
 Top
SiemX
Отправлено: 16 Апреля, 2009 - 22:28:25
Post Id


Новичок


Покинул форум
Сообщений всего: 12
Дата рег-ции: Март 2009  


Помог: 0 раз(а)




Тут писали про блокировку скриптами и telnet. А не проще отключить жаваскрипт и картинки а потом свободно посмотреть код? Вобщем то что пользователю попало уже никак ну уберечь. на картинки надо копирайт полупрозрачный накладывать
 
 Top
movEAX
Отправлено: 14 Сентября, 2009 - 08:09:26
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 750
Дата рег-ции: Авг. 2009  


Помог: 16 раз(а)




evgenijj пишет:
2. считывает файл изображения с помощью функций imagecreatefrompng(), imagecreatefromjpeg(), imagecreatefromgif()
$img = imagecreatefrompng( './downloads/files/'.$_GET['name'] )
3. посылает заголовок header('Content-type: image/png'Подмигивание; (или jpg, или gif)
4. выводит изображение в браузер imagepng($img);
5. освобождает память imagedestroy($img);


Вот эти пункты, думаю, лишние... Картинка же уже сформирована достаточно использовать readfile + header. Ну конечно могут быть разные форматы файлов, но это разве проблема?

Другое дело если на изображение нужно прилепить "противоугонную систему".

А еще можете посмотреть эту ссылочку: http://webo.in/articles/habrahabr/29-all-about-data-url-images/

(Отредактировано автором: 14 Сентября, 2009 - 08:13:28)



-----
армия.. самое убогое место
 
 Top
ecolora
Отправлено: 17 Ноября, 2011 - 11:06:26
Post Id


Новичок


Покинул форум
Сообщений всего: 1
Дата рег-ции: Июль 2011  


Помог: 0 раз(а)

[+]


В самом 1 коде докачки ошибка. Надлежит вот это:

CODE (htmlphp):
скопировать код в буфер обмена
  1.  else {
  2.  $size2=$size-1;
  3.  header("Content-Length: ".$size);
  4.  }


заменить на:

CODE (htmlphp):
скопировать код в буфер обмена
  1.  else {
  2.         $size2=$size-1;
  3.         header("Content-Range: bytes 0-$size2/$size");
  4.         header("Content-Length: ".$size);
  5.     }


Иначе на некоторых хостингах сразу же при закачке общий размер файла не определится и будет равен либо 0 (в гугл хроме) либо размеру уже скачанного (в мозилле).
 
 Top
Loshara
Отправлено: 10 Октября, 2012 - 23:08:12
Post Id


Новичок


Покинул форум
Сообщений всего: 2
Дата рег-ции: Окт. 2012  


Помог: 0 раз(а)

[+]


valenok пишет:
CODE (htmlphp):
скопировать код в буфер обмена
  1. <?php
  2. $file = ("file.rar");
  3. header ("Content-Type: application/octet-stream");
  4. header ("Accept-Ranges: bytes");
  5. header ("Content-Length: ".filesize($file));
  6. header ("Content-Disposition: attachment; filename=".$file);
  7. readfile($file);
  8. ?>

Можете объяснить, почему у меня не работает этот пример?
Запускаю этот скрипт (файл file.rar естественно в той же директории), на локальном и платном хостинге выдает одно и тоже - что ошибка заголовки уже присланы и начинает выводить файл на экран в бинарном виде:
Цитата:
Warning: Cannot modify header information - headers already sent by (output started at Z:\home\localhost\www\tng\download\download.php:1) in Z:\home\localhost\www\tng\download\download.php on line 3
Warning: Cannot modify header information - headers already sent by (output started at Z:\home\localhost\www\tng\download\download.php:1) in Z:\home\localhost\www\tng\download\download.php on line 4
Warning: Cannot modify header information - headers already sent by (output started at Z:\home\localhost\www\tng\download\download.php:1) in Z:\home\localhost\www\tng\download\download.php on line 5
Warning: Cannot modify header information - headers already sent by (output started at Z:\home\localhost\www\tng\download\download.php:1) in Z:\home\localhost\www\tng\download\download.php on line 6
Rar!ϐs �kt �,:�H�50�q�A3 img.gif��#�eUȍ�b%��9$$��uC��\D'J#��* *"+�eX�Z*V�t�J�EEEb�����EF�5[��Zҵ�ť�����|�{��=� {翿

(Отредактировано автором: 10 Октября, 2012 - 23:09:34)

 
 Top
avtor.fox
Отправлено: 14 Октября, 2012 - 21:32:35
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2083
Дата рег-ции: Март 2012  
Откуда: Воронеж


Помог: 50 раз(а)




Loshara
Проверьте, не стоит ли у файла метка BOM


АААААААААААААААААААААААААААААаа А?!
НЕКРОФИИИИЛ Ха-ха
 
 Top
Страниц (3): « 1 [2] 3 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Пользовательские функции »


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



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB