Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Dostep do pliku tylko z okreslonego miejsca...
Forum PHP.pl > Forum > Serwery WWW
Widmo
mam pytanie, czy ktos ma pomysl na zawartosc pliku .htacess bo mam plik na serwie, i nie chce by ktos mogl go sciagnac po prostu linkiem: np www.strona.pl/archiwum.zip tylko poprzez link w okienku. Pozdrawiam.

p.s mam nadzieke ze nie pomylilem działów...
p.p.s SZUKAŁEM wiec nie piszcie prosze POSZUKAJ...
adwol
Kod
AuthName Tajne miejsce

AuthType Basic

AuthUserFile plik_z_uzytkownikami_i_haslami

Żeby dodać do pliku z hasłami nowego usera i hasło uruchom polecenie z shella:
Kod
htpasswd plik_z_uzytkownikami_i_haslami nazwa_uzytkownika

i podaj hasło.
Widmo
wow, ale szybko, nie zdarzylem zprecyzowac...

mam JEDEN plik, nie chce hasel itp (chyba ze logowalo by sie automatycznie...)
mam juz autoryzacje, potem wyskakuje popup, i w nim chce linka do pliku, po kliknieciu sciaga plik. da rade ?
Bakus
Przechowuj ten plik w miejscu nie dostępnym z zewnątrz przez serwer www.
Później przy pomocy php go wyślij.

Mam na myśli coś takiego:
- Użytkownik się loguje
- po zalogowaniu i kliknięciu jakiegoś linka otwiera mu się okienko z odnośnikiem do np. pobierz.php, który wygląda mniejwięcej tak:
[php:1:294576049d]<?php
if($uzytkownik_zalogowany)
{
@set_time_limit(3600); // ustawiamy, ze skrypt może działać przez 3600 sekund (godzinę) *
header('Content-Disposition: attachment; filename="plik.zip"'); // mówim przeglądarce, że ma pobrać dane jako plik o nazwie 'plik.zip
$f = fopen("/home/plik.zip", "rb"); // otwieramy plik nie dostępny przez www, ale dostępny dla php w trubie tylko do odczytu [r] zabezpieczając się na wypadek plików binarnych (takich jak *.zip) [b]
fpassthue($f); // tu wyśle plik do użytkownika
exit; // kończymy działanie skryptu
}
?>[/php:1:294576049d]
Ten kod (bardziej rozwinięty) działa u mnie i się sprawdza... 8)
* - Skrypt powinien się móc wykonywać 2 * dłużej niż pobieranie pliku przy fatalnym transwerze.

W razie problemów i niejasności pisz... winksmiley.jpg
Widmo
jeszcze nie sprawdzalem, ale mam nadzieje ze zadziala...
nie wiecie przypadkiem czy host.sk obsluguje pliki .htaccess ?

zawartosc .htaccess:
Kod
  Order Deny,Allow

  deny from all

  allow from localhost


a mimo wszystko dostep do pliku dalej istnieje...
(mozna go sciagnac linkiem)
Bakus
A sprawdziłeś może moje rozwiązanie questionmark.gif

Nie wymaga ono obsługi plików .htaccess, jest w miarę bezpieczne i proste w zastosowaniu...

P.S. Działa ono także pod serwerami nie obsługującymi .htaccess (np. IIS)
Rozwiązanie, którego szukasz jest dostosowane tylko do Apacha...

[czy wy w ogóle zwracacie na mnie uwagę :? ]
Widmo
[ Tez nie mozesz spac? tongue.gif ]

A gdy moja funkcja sprawdzajaca wyglada tak:

[php:1:5116d27aeb]<?php
if (!isset($_COOKIE['ActiveCode']))
{
print "koniec czasu<BR>";
unset($_COOKIE[session_name()]);
exit;
}

?>[/php:1:5116d27aeb]

to jak ma wygladac caly skrypt, bo cos kiepsko chodzi tak jak ja wymodzilem... (czytaj NIE CHODZI) :]
Bakus
[php:1:2f5a3c241d]<?php
if($_COOKIE['ActiveCode']) // *
{
@set_time_limit(3600); // ustawiamy, ze skrypt może działać przez 3600 sekund (godzinę) *
header('Content-Disposition: attachment; filename="plik.zip"'); // mówimy przeglądarce, że ma pobrać dane jako plik o nazwie 'plik.zip
$f = fopen("/home/plik.zip", "rb"); // otwieramy plik nie dostępny przez www, ale dostępny dla php w trubie tylko do odczytu [r] zabezpieczając się na wypadek plików binarnych (takich jak *.zip) [b]
fpassthue($f); // tu wyśle plik do użytkownika
exit; // kończymy działanie skryptu
}else{ // *
print "koniec czasu<BR>"; // *
unset($_COOKIE[session_name()]); // *
exit; // *
} // *
?>[/php:1:2f5a3c241d]
Linie kończące się na // * zostały zmienione, lub dodane
boya
A jak machnac takie cos: ze na stronie na ktorej mam konta i ktos sie zaloguje ma dostep do katalogu z plikami na ht pasword a ktos kto nie jest zalogowany nie ma dostepu do katalogu questionmark.gif
hasla i login ...
Bakus
http://httpd.apache.org/docs/programs/htpasswd.html

Proponuję zapoznać się z manualem Apacha i dołączonych do niego programików...
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.