Jak uniemożliwić użytkownikom bezpośredni dostęp do plików w witrynie sieci Web w usługach IIS 7


Mam witrynę internetową, na której użytkownicy przesyłają pliki za pośrednictwem CMS.
na przykład

http://www.mysite.com/uploadedfiles/file1.txt
http://www.mysite.com/uploadedfiles/file1.txt
Chcę uniemożliwić użytkownikom internetu wpisywanie tego adresu URL w przeglądarce i bezpośredni dostęp do tych plików. Jak mogę to zrobić?
Jednak nadal muszę zezwolić usługom IIS na odczytywanie, modyfikowanie i usuwanie tych plików za pośrednictwem CMS.
Zaproszony:
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Zalecałbym albo zapisanie plików w katalogu niedostępnym z Internetu, albo wygenerowanie losowej nazwy przed zapisaniem na dysku.
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Co powiesz na skonfigurowanie witryny tak, aby akceptowała połączenia tylko z adresu IP CMS?
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Wpisz „filtrowanie żądań” i odrzuć określony adres URL (na karcie „URL”).
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Aby było to bezpieczne, będziesz musiał zaimplementować to inaczej w swojej aplikacji.
Zapisz pobrane pliki w folderze, do którego nie można uzyskać dostępu za pośrednictwem żądania internetowego, takim jak folder zewnętrzny.
         D:\WebData\MyApp\Uploads
... Upewnij się, że konto usługi sieciowej ma dostęp do tego katalogu (w przypadku Twojej aplikacji CMS).
Następnie zaimplementuj

Program obsługi HTTP ASP.NET
http://support.microsoft.com/kb/308001
który sprawdza sesję użytkownika CMS i umożliwia mu pobieranie/modyfikację/dostęp tylko do własnych plików.
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

przejdź do reguł autoryzacji, a następnie dodaj regułę odmowy dla wszystkich użytkowników w wybranym folderze.

Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się