Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> pliki do ściągniecia tylko dla zalogowanych uzytk., (logowanie na sesji)
Wedrowiec
post
Post #1





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 1.12.2003
Skąd: Łódź

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


Witam - pytanie jak w temacie -pliki do ściągniecia tylko dla zalogowanych użyszkodników.
Tzn: leżą pliki na serwerze www, pobrać je mogą tylko osoby dla których spełniony jest pewien warunek (tutaj określona wartość zmiennej sesyjnej).
Jak to zrobić ?
Mam nadzieję, że w miare jasno napisałem (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 13)
wassago
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 701
Pomógł: 0
Dołączył: 26.06.2002
Skąd: Londyn

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


hmm... o dziwne rzeczy sie pytasz... przeciez wystarczy mala instrukcja warunkowa:
  1. <?php
  2.  
  3. if ( (tutaj określona wartość zmiennej sesyjnej) )
  4. {
  5.  
  6. // przekierowanie
  7.  
  8. } else {
  9.  
  10. echo 'prosze sie zalogowac';
  11.  
  12. }
  13.  
  14. ?>
Go to the top of the page
+Quote Post
Zepco
post
Post #3





Grupa: Zarejestrowani
Postów: 71
Pomógł: 0
Dołączył: 5.09.2003
Skąd: Kielce

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


A jeśli ktoś zna dokładną ścieżkę do pliku?
Go to the top of the page
+Quote Post
wassago
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 701
Pomógł: 0
Dołączył: 26.06.2002
Skąd: Londyn

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


to mimo to musi byc spelniony warunek:
  1. <?php
  2.  
  3. if ( (tutaj określona wartość zmiennej sesyjnej) )
  4. {
  5.  
  6. // ustawienie ciacha lub sesji i przekierowanie
  7.  
  8. } else {
  9.  
  10. echo 'prosze sie zalogowac';
  11.  
  12. }
  13.  
  14. ?>
Go to the top of the page
+Quote Post
Wedrowiec
post
Post #5





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 1.12.2003
Skąd: Łódź

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


Cytat(wassago @ 2004-07-01 15:31:21)
to mimo to musi byc spelniony warunek:
  1. <?php
  2.  
  3.     if ( (tutaj określona wartość zmiennej sesyjnej) )
  4.     {
  5.  
  6.         // ustawienie ciacha lub sesji i przekierowanie
  7.  
  8.     } else {
  9.         
  10.         echo 'prosze sie zalogowac';
  11.  
  12.     }
  13.  
  14. ?>

no dobra ale plik lezy fizycznie na serwerze - ktos kto zna dokladną ścieżkę bez problemu sobie ściągnie
Go to the top of the page
+Quote Post
CyklOP
post
Post #6





Grupa: Zarejestrowani
Postów: 61
Pomógł: 0
Dołączył: 16.08.2003
Skąd: Wrocław

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


  1. <?php
  2.  
  3. header(&#092;"Cache-Control: \");
  4. header(&#092;"Pragma: \");
  5. header(&#092;"Content-type: application/force-download\");
  6. header('Content-Disposition: attachment; filename=\"'.$name.'\"');
  7. header('Content-Length: '.filesize($filenamepluspath)); 
  8. sleep(1);
  9.  
  10. readfile('$filenamepluspath');
  11.  
  12. ?>
Go to the top of the page
+Quote Post
Wedrowiec
post
Post #7





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 1.12.2003
Skąd: Łódź

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


hmmm fajnie ja chyba głupi jestem - gdzie ma być umieszczony ten plik i w jaki sposób ma byc zabezpieczony? tak zeby ktoś kto zna dokladny adres pliku nie mógł go sobie ściągnąć ?

czyli mam plik pod adresem

http://www.moj_adres.pl/pliki/pliczek.zip

wklejenie adresu w przeglądarce ma wywalić błąd/info jakieś, zalogowany użytkownik ma mieć możliwość sciągnięcia tego pliku.
Kombinowałem że może trzeba zabezpieczyć katalog na serwerze (na hasło) ale jak z php się do niego dostać ?
Go to the top of the page
+Quote Post
CyklOP
post
Post #8





Grupa: Zarejestrowani
Postów: 61
Pomógł: 0
Dołączył: 16.08.2003
Skąd: Wrocław

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


Nie nie nie (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) nie rozumiesz istoty (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Masz plik download.php

w nim:

  1. <?php
  2. $sciezkadopliku='downloady/';
  3. $nazwapliku=$_GET['d'];
  4.  
  5. #UWAGA, teraz sprawdzasz czy osoba jest zalogowana, wstaw swoją funkcję
  6. if (not(czyzalogowany()))
  7. die('Zaloguj się!');
  8.  
  9. #UWAGA, sprawdzasz czy plik jest udostępniany w ogóle do downloadu (aby ktoś nie wpisał np. index.php
  10.  
  11. if (not(czyudostepniony($nazwapliku)))
  12. die('Nie kombinuj!');
  13.  
  14. header(&#092;"Cache-Control: \");
  15. header(&#092;"Pragma: \");
  16. header(&#092;"Content-type: application/force-download\");
  17. header('Content-Disposition: attachment; filename=\"'.$nazwapliku.'\"');
  18. header('Content-Length: '.filesize($sciezkadopliku.$nazwapliku)); 
  19. sleep(1);
  20.  
  21. readfile($sciezkadopliku.$nazwapliku);
  22.  
  23. ?>


Uruchamiasz go poprzez:
http://twojastrona.pl/download.php?d=teksty.txt

Albo zobacz jak to działa u mnie na http://replays.pl :
http://replays.pl/sciagnij/777 <-- kliknij to i zobacz co się dzieje (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Ten post edytował CyklOP 1.07.2004, 15:19:53
Go to the top of the page
+Quote Post
Wedrowiec
post
Post #9





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 1.12.2003
Skąd: Łódź

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


hmm co sie dzieje? sciagnalem pliczek - ~250 kb, cos z warcrafta....
a wlasnie nie powinienem miec prawa do sciagniecia tego !
Go to the top of the page
+Quote Post
matid
post
Post #10





Grupa: Zarejestrowani
Postów: 362
Pomógł: 0
Dołączył: 18.02.2004
Skąd: Knurów

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


Cytat(Wedrowiec @ 2004-07-01 16:53:28)
hmm co sie dzieje? sciagnalem pliczek - ~250 kb, cos z warcrafta....
a wlasnie nie powinienem miec prawa do sciagniecia tego !

Ten skrypt nie miał Ci pokazać możliwości blokowania a jedynie przykład pobierania takiego pliku. W tej wersji co podał CyklOP wszystko będzie działać bez problemu, dzięki temu kawałkowi kodu:
  1. <?php
  2. if (not(czyzalogowany()))
  3. die('Zaloguj się!');
  4. ?>
Go to the top of the page
+Quote Post
Wedrowiec
post
Post #11





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 1.12.2003
Skąd: Łódź

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


ok, wielkie dzięki, będę walczył :]
teraz czas z roboty do domu uciekać, jeszcze pewnie Was pomęczę (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
Dravo
post
Post #12





Grupa: Zarejestrowani
Postów: 207
Pomógł: 0
Dołączył: 7.09.2003

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


Wędrowiec: php nie ma za zadanie obsługiwać twojego serwera (zapewniać np. jego bezpieczeństwa) od tego jest serwer ftp lub http... php może jedynie wykonać kod dzięki któremu będziesz mógł pobrać plik. Więc tak jak pokazywali to wyżej inni możesz utowrzyć taki kod zapewniający dostęp do pliku, ale dzięki php nigdy nie zabronisz, aby bezpośrednio ktoś pobrał plik z serwera (poprzez np. http), od tego jest serwer ftp/http i jego ustawienia...

Ten post edytował Dravo 1.07.2004, 17:27:23
Go to the top of the page
+Quote Post
Wedrowiec
post
Post #13





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 1.12.2003
Skąd: Łódź

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


hmm nie pisałem, że php ma zabezpieczać pliki.

Dobra to zmiana lekka pytania: mam katalog zabezpieczony hasłem (przez .htaccess), jak dostać się do niego z poziomu php, jak udostępnić go do ściągania.

Plus wszelkie inne znane Wam metody (zabezpieczone) na download plików tylko dla wybranych użytkowników (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
GeoS
post
Post #14





Grupa: Zarejestrowani
Postów: 602
Pomógł: 0
Dołączył: --
Skąd: W - WA -> GRO

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


Wrzucasz .htaccess'a z odpowiednimi wpisami (chroniacymi przed direct dl dla serwera Apache) do katalogu, w ktorym trzymasz pliki do sciagniecia.

Budujesz skrypt php do sciagania w taki sposob, zeby spelnial warunki dostepu ustawione po stronie serwera (.htaccess) i po sprawie.
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 23.08.2025 - 00:04