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
Форумы портала PHP.SU :: Версия для печати :: Как отдать пользователю файл скриптом [2]
Форумы портала PHP.SU » PHP » Пользовательские функции » Как отдать пользователю файл скриптом

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

16. kamikadze - 08 Августа, 2008 - 14:00:22 - перейти к сообщению
ASHOOT-x86, я не совсем пойму о чем ты... Вообще то я вроде не помню такого, чтоб PHP при каждой новой закачке создавал себе клона...
D1mOn, есть такое понятие как базовая аутентификация средствами самого HTTP, тоесть ее осуществить можно на уровне HTTP заголовков (появляется окошко похожее на то, которое появляется при доступе к запароленому FTP через браузер)
17. ASHOOT-x86 - 13 Августа, 2008 - 15:36:02 - перейти к сообщению
Да, к сожалению создает, если стоит как цги скрипт php. Если стоит в виде модуля, то апач начинает весить больше(((((((((
18. kamikadze - 18 Августа, 2008 - 23:46:22 - перейти к сообщению
Хм Чет я не вьеду, а причем тут CGI? Да и установка пыха как установка. Чет я не пойму о чем ты. У меня такой скрипт лежит на мини серве для локалки, все в порядке.
19. Гость - 02 Декабря, 2008 - 15:57:12 - перейти к сообщению
Цитата:
Теперь мне нужно, чтобы пользователь с паролем не скачать её мог, а посмотреть на экране.
Меня настораживает эта фраза. В любом случае если картинка появилась на экране, то ее всегда можно сохранить. Это же касается и видео, даже во Flash, ибо программы типа FlashHunter никто не отменял
В общем я клоню к тому, что все, что показано на экране, всегда может быть сохранено пользователем, даже если пытаться защититься от этого

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

P.S. 2 Никто еще не отменял PrintScreen Подмигивание
20. Champion - 02 Декабря, 2008 - 16:34:03 - перейти к сообщению
JustUserR, всё нормально)
21. Гость - 02 Декабря, 2008 - 17:51:22 - перейти к сообщению
Цитата:
JustUserR, всё нормально)
??? Улыбка

Функция то отличная никто не спорит и я не спорю
Но тот факт что защитить картинку от сохранения когда она уже на экране я не могу отрицать
22. Champion - 02 Декабря, 2008 - 20:57:11 - перейти к сообщению
Но если ее нужно сберечь от злых рук, то наверное, запаролена будет та страница, где она отображается. Вы так не считаете?)
23. Гость - 03 Декабря, 2008 - 08:01:54 - перейти к сообщению
Видать я плохо выражаюсь. Либо не понял смысл цитаты "Теперь мне нужно, чтобы пользователь с паролем не скачать её мог, а посмотреть на экране. "

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

А насчет всего остального я и не спорю Улыбка
24. Champion - 03 Декабря, 2008 - 09:41:02 - перейти к сообщению
JustUserR пишет:
может посмотреть, НО НЕ МОЖЕТ СКАЧАТЬ
Это уже сложно)
Можно показать ему плохую картинку, и он ее скачивать не захочет. Превьюшку. Тогда такими способоми как "сохранить как", printScrn ему пользоваться не захочется
25. nkrk - 28 Января, 2009 - 18:59:36 - перейти к сообщению
Привет алл
использую скрипт с первой стнраницы с возможностью докачки
проблема есть: кода я его тестирую локально через Денвер все замечательно, жму на ссылку начинается закачка и браузер пишет скоко закачалось и сколько еще планируется закачиваться, НО проблема когда я заливаю все это на сервер и там начинаю скачивание файла, то ни один браузер не показывает сколько времени осталось до завершения, т.е. я полагаю браузеры не видят общего размера файла, ХОТЯ если качать через какой нить даунлоад менеджер то там все показывается хорошо
как это поправить?

спасибо.
26. SiemX - 16 Апреля, 2009 - 22:28:25 - перейти к сообщению
Тут писали про блокировку скриптами и telnet. А не проще отключить жаваскрипт и картинки а потом свободно посмотреть код? Вобщем то что пользователю попало уже никак ну уберечь. на картинки надо копирайт полупрозрачный накладывать
27. movEAX - 14 Сентября, 2009 - 08:09:26 - перейти к сообщению
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[dot]in/articles/habrahab[dot][dot][dot]data-url-images/
28. ecolora - 17 Ноября, 2011 - 11:06:26 - перейти к сообщению
В самом 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 (в гугл хроме) либо размеру уже скачанного (в мозилле).
29. Loshara - 10 Октября, 2012 - 23:08:12 - перейти к сообщению
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ҵ�ť�����|�{��=� {翿
30. avtor.fox - 14 Октября, 2012 - 21:32:35 - перейти к сообщению
Loshara
Проверьте, не стоит ли у файла метка BOM


АААААААААААААААААААААААААААААаа А?!
НЕКРОФИИИИЛ Ха-ха

 

Powered by ExBB FM 1.0 RC1