![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 42 Pomógł: 0 Dołączył: 15.05.2007 Ostrzeżenie: (0%) ![]() ![]() |
Zastanawiam się jak zrobić taką rzecz by uzytkownik miał dostęp do plików do pobrania dopiero po zalogowaniu. Samo logowanie to nie problem jednak 'odkryłem' jedną rzecz. Jeżeli skrypt PHP wyświetla listę plików do pobrania to po wylogowaniu wystarczy znać ścieżkę dostepu do tego pliku i można go pobrać bez potrzeby logowania.
Ktoś ma może pomysł jak zrobić by pobierać można było tylko po zalogowaniu? Ja osobiście mysłałem o tym by w jakiś sposób po zalogowaniu katalogowi nadawać prawa do odczytu lub coś takiego. Z góry dziekuje za pomoc. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 340 Pomógł: 2 Dołączył: 25.12.2006 Ostrzeżenie: (0%) ![]() ![]() |
Ja bym to zrobil tak:
i taki formularzyk który by odsyłał cię na ta stronę na której jesteś. Później wczytanie danych, sprawdzenie czy istnieja jezeli tak to kontynulacja kodu jezeli nie to komunikat, dodanie sesji, porównanie ich z danymi z bazy lub pliku. Do każdego pliku zrobiłbym wczytanie sesji i identyfikator np. plik.php?pobierz_plik=nazwa_pliku. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 42 Pomógł: 0 Dołączył: 15.05.2007 Ostrzeżenie: (0%) ![]() ![]() |
Ja bym to zrobil tak:
i taki formularzyk który by odsyłał cię na ta stronę na której jesteś. Później wczytanie danych, sprawdzenie czy istnieja jezeli tak to kontynulacja kodu jezeli nie to komunikat, dodanie sesji, porównanie ich z danymi z bazy lub pliku. Do każdego pliku zrobiłbym wczytanie sesji i identyfikator np. plik.php?pobierz_plik=nazwa_pliku. Wiem jak zrobić logowanie oparte na sesji i bazach danych. Jeżeli chodzi o "readfile" to oczywiście plik jest ładowany ale ścieżka jest do podejzenia wiec takie rozwiązanie odpada. Nie bardzo wiem o co chodzi z "include" bo ta komenda ładuje inny plik PHP a nie dowolny plik (np. *.doc) |
|
|
![]()
Post
#4
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
Jeżeli chodzi o "readfile" to oczywiście plik jest ładowany ale ścieżka jest do podejzenia wiec takie rozwiązanie odpada. Nie prawda.readfile() bez problemu może wczytać plik, który znajduje się w lokalizaji określonej w skrypcie (bądź pobranej z bazy) a tego podejrzeć się nie da. Bo niby jak podejrzysz plik .php? Skup sie na rozwiązaniu zaproponowanym przeze mnie kilka postów wyżej, jest ono poprawne i najlepsze. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 42 Pomógł: 0 Dołączył: 15.05.2007 Ostrzeżenie: (0%) ![]() ![]() |
Bo niby jak podejrzysz plik .php? Pliku PHP nie podejrzysz i ja wcale nie napisałem że mozna podejrzeć plik PHP. Napisłaem że można w ogóle podejrzeć skąd jest plik pobierany. Otórz W Foxie przy pobieraniu plikow otwiera się okienko (otwórz za pomocą/zapisz) i tam jest podane skąd plik pochodzi. Zatem łatwo w ten sposób odczytać ścieżkę. Ja myślałem o takim może rozwiązaniu które na chwilę nadawało by katalogowi lub plikowi atrybut do odczytu (czyli zmieniło mu CHMOD). Co o tym myślicie? Ten post edytował johny-cage 16.05.2007, 07:23:51 |
|
|
![]()
Post
#6
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
Napisłaem że można w ogóle podejrzeć skąd jest plik pobierany. Czytaj z ruchu warg: G Ó W N O P R A W D A (IMG:http://forum.php.pl/style_emoticons/default/exclamation.gif) !Jesteś najgorszym typem użytkownika jaki trafia się na forum. Nie wiesz a kwestionujesz wiedzę tych, którzy Ci udzielają odpowiedzi. Jakbyś chociaż sprawdził to byś nie pieprzył głupot. Masz kod:
I przykład: http://michalmech.pl/_example Pokaż mi teraz skąd jest ściągany plik. Pomijam to że widać to w kodzie. Ale tylko z kodu jesteś w stanie to wiedzieć. Każda aplikacja powie Ci że źródłem tego pliku jest: http://michalmech.pl/_example/ a nie http://michalmech.pl/_example/ukryty_folder gdzie naprawdę plik się znajduje. A pomysł z CHMODEm jest zły. |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 42 Pomógł: 0 Dołączył: 15.05.2007 Ostrzeżenie: (0%) ![]() ![]() |
Czytaj z ruchu warg: G Ó W N O P R A W D A (IMG:http://forum.php.pl/style_emoticons/default/exclamation.gif) ! Jesteś najgorszym typem użytkownika jaki trafia się na forum. Nie wiesz a kwestionujesz wiedzę tych, którzy Ci udzielają odpowiedzi. Złość pięknoćści szkodzi złociutka (a może złociutki bo aviatar jest homo niepewny). Nie każdy musi znać ie na wszystkim. Jakbyś chociaż sprawdził to byś nie pieprzył głupot. Sprawdziłem, użyłem twojego kodu z poprzednich odpowiedzi i było widać ścieżkę zatem więc nie ma co sie pienić. Nie lubisz odpowiadać na pytania to nie odpowiadaj, proste. Zadaje głupie pytania bo nie wiem. Po co ta agesja. Teraz ja moge odpowiedzieć że jesteś najgorszym typem moderatora. Moge zapisać plik jednak gdy chcę go bezpośrednio otworzyć Wordem dostaje taki oto komunikat: Warning: readfile() has been disabled for security reasons in ... Ten post edytował johny-cage 16.05.2007, 10:59:52 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 13.10.2025 - 19:31 |