![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 623 Pomógł: 79 Dołączył: 16.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
W jednym z moich skryptów umożliwiam userom upload plików (jako załączniki do wiadomości). Ze względów bezpieczeństwa, na początku myślałem by zabronić im uploadowania plików typu .php, .js, .htm ale tak sobie myślę - może da się inaczej? Może niech mogą wrzucać pliki dowolnego rodzaju, a ja po stronie serwera zrobię tak by zawsze po ich kliknięciu włączało się "Ściągnij plik..." zamiast uruchamiania go? To chyba da się zrobić za pomocą odpowiednich headers? sczegóły: pliki są przechowywane w katalogu "attachments". Listowanie jest wyłączone. Muszę zrobić co następuje: 1. gdy user wpisze w pasku adresu przeglądarki "attachments/jakis_plik.php" to mu się błąd wywali. 2. stworzyć plik np. "getfile.php" który bierze za parametr nazwę pliku i NIE wykonuje go nawet jak php, zamiast tego-każe przeglądarce go ściągnąć, jest więc "getfile.php?name=jakis_plik.php" i wysłanie odpowiednich headerów. Da się tak? I czy to jest bezpieczne? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 732 Pomógł: 80 Dołączył: 25.05.2005 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
Abstrahując już od samego czy da się czy nie (bo da się
![]() ![]() -------------------- DevBlog - http://www.bartekrogus.pl
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 623 Pomógł: 79 Dołączył: 16.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
No tak... myślałem jednak, że za pomocą .htaccess mógłbym zabronić jakoś bezpośredniego dostępu do plików w katalogu "attachments". Ale dobra, zabronię userom uploadowania plików php - ale dalsze pytania są wciąż aktualne. Bo chciałbym jednak umożliwić jakoś upload plików typu .htm czy .js czy .txt - i teraz jakie headers mam wysłać by przeglądarka sugerowała ściągnięcie zamiast otwierania ich ?
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 78 Pomógł: 15 Dołączył: 10.12.2007 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Tak jak robi to google w mailach.
Instrukcja jest w opisie samej funkcji header" title="Zobacz w manualu PHP" target="_manual. Dokładniej spróbuj pokombinować z tym:
Co do plików php... możesz im zmieniać rozszerzenia, albo zorientować się czy przez .htaccess możesz wyłączyć obsługę interpretera dla tego katalogu. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 623 Pomógł: 79 Dołączył: 16.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki Wam!
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 19:12 |