Мне нужно заблокировать анонимный доступ к PDF, PPT, DOC, содержимое на сервере с помощью приложения, встроенного в .Net 1.1; IIS 5.1. Я попытался отключить анонимный доступ в IIS, но он не работает.Как защитить PDF-контент на сервере в .net 1.1 IIS5.1
ответ
Я знаю, что это старый пост, и, надеюсь, вы отключены .Net 1.1 и/или нашли подходящее решение. Но, надеюсь, это поможет вам или кому-то еще. Моя идея - переместить PDF-файлы за пределы вашей веб-папки и изменить ссылки на обработчик загрузки. В обработчике вы можете проверить, что ваш посетитель зарегистрирован и разрешает или запрещает доступ к PDF-файлу. упрощенный пример будет:
Ссылка: http://mysite/download.ashx?path=secure_folder/my.pdf
Обработчик может содержать:
Public Class Download : Implements IHttpHandler
Implements SessionState.IRequiresSessionState
Public Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest
If User.IsLoggedIn() Then
'implement your own user validation here
Dim path as String = "E:\" & Request.QueryString(path).Replace("/", "\")
Using fs As IO.FileStream = New IO.FileStream(path, IO.FileMode.Open, IO.FileAccess.Read, IO.FileShare.Read)
Dim fileLen As Long = fs.Length()
Dim fileData(fileLen) As Byte
fs.Read(fileData, 0, Integer.Parse(fileLen.ToString()))
context.Response.ContentType("application/pdf") 'set as appropriate based on file extension
context.Response.BinaryWrite(fileData)
End Using
Else
context.Response.Write("You don't have access to this resource.")
End If
End Sub
Public ReadOnly Property IsReusable() As Boolean Implements IHttpHandler.IsReusable
Get
Return False
End Get
End Property
End Class
Хорошая идея, но как насчет того, чтобы обработчик работал для больших файлов? Вы также захотите поместить этот «FileStream» в блок «Использование», если вы не хотите, чтобы я уменьшал его. –
Спасибо, что поймали этого Джона. Мое форматирование пошатнулось при редактировании. Не знаю, почему. – InbetweenWeekends
Нет нисходящего потока, но это не будет работать слишком хорошо для больших файлов. Умственно выполните этот код для файла 3Gb, и вы поймете, что я имею в виду (предоставление 3Gb будет представлять собой большой PDF). –
- 1. Как защитить программу от использования на сервере?
- 2. .NET 1.1 сборка в .NET 2.0: требуется ли .NET 1.1?
- 3. защитить файл xml на сервере
- 4. Защитить загружаемые файлы на сервере?
- 5. Как защитить связь на клиент-сервере?
- 6. Как защитить .NET DLL
- 7. Как защитить файлы на сервере LAMP?
- 8. Как защитить пароль db на сервере приложений?
- 9. Развертывание веб-приложения на IIS5.1
- 10. XMLTextReader в .NET 1.1
- 11. Как защитить API, написанный на .Net
- 12. Как защитить веб-сервис в .net?
- 13. Как .NET 3.5 SP1 повлияет на мои приложения .NET 1.1?
- 14. Вызов сборки .NET 2.0 в .NET 1.1
- 15. Перенос приложения .Net 1.1 в .Net 4.0
- 16. Преобразование .net 1.1 в .net 2.0
- 17. Лучший способ защитить PHP-скрипт на сервере
- 18. Основа .NET 4.0 на том же сервере, что и .NET 1.1
- 19. Сессия в .NET Core 1.1
- 20. HMAC SHA256 в .NET .1.1
- 21. Как сжать файлы в .NET 1.1
- 22. Как защитить пароль pdf программно в .NET?
- 23. .Net 1.1 декомпилирующий инструмент
- 24. .Net 1.1 каркас контейнера
- 25. Как заблокировать и защитить файлы, хранящиеся на сервере в ASP.NET?
- 26. Как защитить файл WAR на сервере Tomcat в локальной сети?
- 27. Как показать модемный диалог в .NET 1.1
- 28. Как подписать сборку в .NET 1.1
- 29. Как назначить объект DataRow в .NET 1.1
- 30. защитить байты данных .net
Я бы подумал, ваш первый приоритет будет обеспечить обновление. .NET 1.1 не поддерживает * расширенную поддержку *. IIS 5.1 выходит из расширенной поддержки через 6 месяцев. –
Да, я понимаю, что мне нужно обновить, но пока оно не будет готово, мне нужно обеспечить мое содержимое ... Любое предложение будет очень полезно. – user2978889