Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][Apache]Blokowanie bezpośredniego dostępu do pliku w katalogu
vonski
post
Post #1





Grupa: Zarejestrowani
Postów: 292
Pomógł: 89
Dołączył: 27.12.2006
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Witam.

Mam taką sytuację...
Mam plik, powiedzmy o nazwie test.cvs i chciałbym mieć do niego dostęp tylko za pośrednictwem strony www, tzn:
w formularzu wpisuję sobie jakieś hasło, po wysłaniu formularza wpisane hasło porównywane jest z tym w bazie danych - jeśli jest ok - następuje przekierowanie do tego pliku i pojawia się okienko dialogowe do ściągnięcia pliku, jeśli nie - pojawia się komunikat, że hasło jest złe. Generalnie to już działa, tak jak to opisałem, problem w tym, że jeśli ktoś zna nazwę pliku i wpisze sobie domena.com/test.cvs w pasku adresu, to też mu się pojawi okienko do ściągnięcia pliku. Czy jest jakiś sposób, by zablokować bezpośredni dostęp (z pasku adresu) do pliku? .htaccess - dobrze kombinuję? Tylko jak? (IMG:style_emoticons/default/smile.gif) Problem mam dość duży bo w Apache'u potrafię jedynie zrobić przyjazne linki i nic więcej (IMG:style_emoticons/default/smile.gif)
Myślałem jeszcze żeby ewentualnie zablokować dostęp do całego katalogu, w którym znajduje się plik za pomocą autoryzacji HTTP, tylko wtedy hasło musiałoby być w pliku .htpasswd, tak? A ja chce żeby było w bazie i już (IMG:style_emoticons/default/winksmiley.jpg)

Z góry dzięki za odpowiedź.

Pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
yevaud
post
Post #2





Grupa: Zarejestrowani
Postów: 471
Pomógł: 89
Dołączył: 29.07.2008
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


ja bym te wszystkie pliki wrzucil w miejsce do ktorego apache nie ma dostepu(w sensie dostepu publicznego (IMG:style_emoticons/default/winksmiley.jpg) ), a dostep do nich zalatwilbym przez jakis skrypt pt "getfile.php?haslo=costam" (IMG:style_emoticons/default/winksmiley.jpg)
plik getfile sprawdzalby czy haslo jest ok i jesli wszystko by gralo najpierw wysylalby odpowiedni header z mime, a pozniej wrzucal zawartosc pliku.

cos w ten desen:

  1. if ($_GET['haslo'] == 'dupa')
  2. {
  3. $file = 'monkey.gif';
  4.  
  5. if (file_exists($file)) {
  6. header('Content-Description: File Transfer');
  7. header('Content-Type: application/octet-stream');
  8. header('Content-Disposition: attachment; filename='.basename($file));
  9. header('Content-Transfer-Encoding: binary');
  10. header('Expires: 0');
  11. header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
  12. header('Pragma: public');
  13. header('Content-Length: ' . filesize($file));
  14. flush();
  15. readfile($file);
  16. }
  17. }


Ten post edytował yevaud 8.09.2010, 02:27:27
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 10.10.2025 - 04:06