Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
02.12.2009, 12:01
|
|||
|---|---|---|---|
|
|||
ZEN: ссылка на загрузку файла |
|||
|
#18+
Добрый день. Такая вот задачка образовалась: на сервере лежит файл (к примеру *.pdf), нужно отдать его пользователю (к примеру дать ссылку на него) для скачивания. При этом необходимым условием является исключение возможности скачать этот файл любыми способами кроме как по предоставленной уникальной ссылке конкретному пользователю (идентификация, к примеру, по %session.SessionId) Есть какие-нибудь соображения? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.12.2009, 12:15
|
|||
|---|---|---|---|
ZEN: ссылка на загрузку файла |
|||
|
#18+
полагаю это можно сделать так создаете ZEN страницу, в которой принимаете через урл к примеру имя файла или его идентификатор, как пожелаете проверяете доступ пользователя по сессии к файлу создаете читаете файл переопределяете OnPreHTTP() в зависимости от типа файла указываете соответствующий CONTENTTYPE к примеру Код: plaintext только такой способ не будет поддерживать докачки, но для маленьких файлов и в эпоху быстрого интернета это думаю уже не важно _________________________________ Cache for Windows NT (AMD64) 5.0.21 (Build 6408) Tue Jan 3 2006 13:37:41 EST ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.12.2009, 12:16
|
|||
|---|---|---|---|
ZEN: ссылка на загрузку файла |
|||
|
#18+
правда тут еще минус, именем файла для сохранения пользователю, будет имя вашего класса _________________________________ Cache for Windows NT (AMD64) 5.0.21 (Build 6408) Tue Jan 3 2006 13:37:41 EST ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.12.2009, 12:49
|
|||
|---|---|---|---|
ZEN: ссылка на загрузку файла |
|||
|
#18+
13-й ПилигримЕсть какие-нибудь соображения? Не совсем понятна задача... С одной стороны не проблема дать ссылку на файл для скачивания... С другой, воспользоваться этой ссылкой может только тот, кто сдоступом... Так? Тогда, что мешает показывать эту ссылку только авторизованому пользователю? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.12.2009, 14:10
|
|||
|---|---|---|---|
|
|||
ZEN: ссылка на загрузку файла |
|||
|
#18+
krvsa13-й ПилигримЕсть какие-нибудь соображения? Не совсем понятна задача... С одной стороны не проблема дать ссылку на файл для скачивания... С другой, воспользоваться этой ссылкой может только тот, кто сдоступом... Так? Тогда, что мешает показывать эту ссылку только авторизованому пользователю? Да показать-то не проблема. Вот только не сможет ли какой-нибудь нехороший человек, просканировав каталоги сайта, обнаружить и скачать лежащие там документы? Да, и еще вопрос, общего плана: где физически должны лежать файлы, если адрес ресурса, к примеру https://www.somedomen.ru/csp/namespace/application.page.cls ? В IIS в : Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.12.2009, 14:18
|
|||
|---|---|---|---|
ZEN: ссылка на загрузку файла |
|||
|
#18+
13-й ПилигримВот только не сможет ли какой-нибудь нехороший человек, просканировав каталоги сайта, обнаружить и скачать лежащие там документы? Х\з на что способны эти "нехорошие человеки"... 13-й ПилигримТак? Думается что в csp/namespace должен лежать файл... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.12.2009, 14:24
|
|||
|---|---|---|---|
|
|||
ZEN: ссылка на загрузку файла |
|||
|
#18+
DAiMorполагаю это можно сделать так создаете ZEN страницу, в которой принимаете через урл к примеру имя файла или его идентификатор, как пожелаете проверяете доступ пользователя по сессии к файлу создаете читаете файл переопределяете OnPreHTTP() в зависимости от типа файла указываете соответствующий CONTENTTYPE к примеру Код: plaintext только такой способ не будет поддерживать докачки, но для маленьких файлов и в эпоху быстрого интернета это думаю уже не важно _________________________________ Cache for Windows NT (AMD64) 5.0.21 (Build 6408) Tue Jan 3 2006 13:37:41 EST Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. Вот что-то похожее накидал. Но что-то ерунда какая-то получается... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.12.2009, 15:38
|
|||
|---|---|---|---|
ZEN: ссылка на загрузку файла |
|||
|
#18+
а вот мой вариант Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. _________________________________ Cache for Windows NT (AMD64) 5.0.21 (Build 6408) Tue Jan 3 2006 13:37:41 EST ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
03.12.2009, 10:16
|
|||
|---|---|---|---|
|
|||
ZEN: ссылка на загрузку файла |
|||
|
#18+
DAiMorа вот мой вариант Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. _________________________________ Cache for Windows NT (AMD64) 5.0.21 (Build 6408) Tue Jan 3 2006 13:37:41 EST Спасибо, этот вариант работает. Не до конца, правда, разобрался как разные браузеры реагируют, но это ладно... Вот теперь нужно немного усложнить задачу. Файл для вывода должен читаться не прямо с диска а через промежуточную переменную. Что-то вроде этого: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. Не спрашивайте, зачем нужны такие извращения... Нужны... Подскажите как привести это к рабочему виду. А то что-то пока не совсем получается. Документ выводится, но с ошибками. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
03.12.2009, 10:33
|
|||
|---|---|---|---|
ZEN: ссылка на загрузку файла |
|||
|
#18+
в коде который вы привели есть 1 простая ошибка, из-за которой не работает автор s idx = $o(OutStream(idx)) q:idx="" d stream.WriteLine( OutStream (idx)) _________________________________ Cache for Windows NT (AMD64) 5.0.21 (Build 6408) Tue Jan 3 2006 13:37:41 EST ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
03.12.2009, 10:57
|
|||
|---|---|---|---|
|
|||
ZEN: ссылка на загрузку файла |
|||
|
#18+
DAiMorв коде который вы привели есть 1 простая ошибка, из-за которой не работает автор s idx = $o(OutStream(idx)) q:idx="" d stream.WriteLine( OutStream (idx)) _________________________________ Cache for Windows NT (AMD64) 5.0.21 (Build 6408) Tue Jan 3 2006 13:37:41 EST Да не... :( Это я потом у себя сам нашел. Не помогло. Adobe пишет "Невозможно извлечь встроенные шрифты". При этом в вашем варианте все нормально. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
03.12.2009, 11:11
|
|||
|---|---|---|---|
ZEN: ссылка на загрузку файла |
|||
|
#18+
ну про встроенные шрифты, это уже что-то другое у меня все равботает _________________________________ Cache for Windows NT (AMD64) 5.0.21 (Build 6408) Tue Jan 3 2006 13:37:41 EST ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
03.12.2009, 12:06
|
|||
|---|---|---|---|
|
|||
ZEN: ссылка на загрузку файла |
|||
|
#18+
Разобрался :) Оказалось, что нужно использовать только Read , и только Write , а не ReadLine и WriteLine ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
03.12.2009, 12:09
|
|||
|---|---|---|---|
ZEN: ссылка на загрузку файла |
|||
|
#18+
ну все правильно Read() читает блочно а писали во второй stream по строчно, который перевод строки добавлял _________________________________ Cache for Windows NT (AMD64) 5.0.21 (Build 6408) Tue Jan 3 2006 13:37:41 EST ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=39&tablet=1&tid=1558291]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
24ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
| others: | 221ms |
| total: | 336ms |

| 0 / 0 |
