Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Sciaganie plikow i proxy
Forum PHP.pl > Forum > PHP
Kamil Matysik
Wlasnie jestem w trakcie tworeznie rozbudowanego narzedzia do obslugi "dzialu download" i pojawily sie komentarze iz jego pierwsza wersja byla uczulona na proxy. Tzn jezeli ktos mial wlaczone proxy nie mogl sciagac plikow.

Czy jest to spowodowane tym iz pliki byly wysylane do przegladarki za pomoca:

[php:1:efdba6abc7]header("location: $url");[/php:1:efdba6abc7]

questionmark.gif

Jezeli tak to chyba najlepsze rozwaizanie aby tego uniknac to zastosowanie

Kod
<META HTTP-EQUIV="Refresh" CONTENT="0; URL=$url">


Jednak jak w takim przypadku ukrys bezposrednia sciezke do pliku?

Jak w ogole zabezpieczyc taka pobieralnie plikow, aby odwiedzajacy nie mogli poznac bezposrednich adresow do plikow na serwerze?
Seth
Cytat
Wlasnie jestem w trakcie tworeznie rozbudowanego narzedzia do obslugi "dzialu download" i pojawily sie komentarze iz jego pierwsza wersja byla uczulona na proxy. Tzn jezeli ktos mial wlaczone proxy nie mogl sciagac plikow.(...)

Nie wiem dokladnie jak dziala Twoj skrypt, ale pewnie blokujesz IP. Jezeli tak to osoby korzystajace z tego samego proxy bede tez mialy zblokowany dostep. Najlepiej odczytac naglowek Via (jezeli dobrze pamietam) gdy sciaganie jest przez proxy.

Cytat
Jak w ogole zabezpieczyc taka pobieralnie plikow, aby odwiedzajacy nie mogli poznac bezposrednich adresow do plikow na serwerze?

Stworz skrypt, ktory pobiera binarnie zawartosc pliku. Przekazujac GETem mozesz podac jaki plik ma byc sciagniety. Za link do sciagniecia dajesz wlasnie ten plik - skrypt. Potem ustawiasz na wstepie odpowiedni naglowek i juz.

Najlepiej sciagnij sobie jakis gotowy skrypt i przeanalizuj go.
Kamil Matysik
Cytat
Nie wiem dokladnie jak dziala Twoj skrypt, ale pewnie blokujesz IP. Jezeli tak to osoby korzystajace z tego samego proxy bede tez mialy zblokowany dostep. Najlepiej odczytac naglowek Via (jezeli dobrze pamietam) gdy sciaganie jest przez proxy.


O to chodzi iz nie blokuje w zadne sposob IP, dlatego nie mam pojacia skod ten blad sie bierze rolleyes.gif Ma ktos jeszcze jakies sugestie?
kurtz
Cytat
Cytat
Wlasnie jestem w trakcie tworeznie rozbudowanego narzedzia do obslugi "dzialu download" i pojawily sie komentarze iz jego pierwsza wersja byla uczulona na proxy. Tzn jezeli ktos mial wlaczone proxy nie mogl sciagac plikow.(...)

Nie wiem dokladnie jak dziala Twoj skrypt, ale pewnie blokujesz IP. Jezeli tak to osoby korzystajace z tego samego proxy bede tez mialy zblokowany dostep. Najlepiej odczytac naglowek Via (jezeli dobrze pamietam) gdy sciaganie jest przez proxy.
obawiam sie ze to wogoel nie o to chodzi.. ;)

pozdrawiam
kurtz
Cytat
Wlasnie jestem w trakcie tworeznie rozbudowanego narzedzia do obslugi "dzialu download" i pojawily sie komentarze iz jego pierwsza wersja byla uczulona na proxy. Tzn jezeli ktos mial wlaczone proxy nie mogl sciagac plikow.

Czy jest to spowodowane tym iz pliki byly wysylane do przegladarki za pomoca:  

[php:1:880060db96]header("location: $url");[/php:1:880060db96]

??
wygooglalem ze istotnei moze o to chodzic. rozwiazaniem moze byc dodatkowy naglowek - [php:1:880060db96]header("HTTP/1.1 304 Found") [/php:1:880060db96]. sprobuj - moze ot pomoze.

co do ukrywania sciezki - jesli korzystasz z header location to io tak przy uzyciu np wgeta od razu widac skad tak na prawde sciagany jest plik. podobnie bodjaze z mozilla - zabezpieczenie wiec niewiele tak na prawde daje ;)


pozdrawiam
Kamil Matysik
[quote]wygooglalem ze istotnei moze o to chodzic. rozwiazaniem moze byc dodatkowy naglowek - [php:1:b828358d62]header("HTTP/1.1 304 Found") [/php:1:b828358d62]. sprobuj - moze ot pomoze.[/quote]

A co to tak dokladniej daje?

[quote]co do ukrywania sciezki - jesli korzystasz z header location to io tak przy uzyciu np wgeta od razu widac skad tak na prawde sciagany jest plik. podobnie bodjaze z mozilla - zabezpieczenie wiec niewiele tak na prawde daje winksmiley.jpg[/quote]

Czyli mam rozumiec ze nie ma skutecznego sposobu? Chyba da sie cos zrobic?[/quote]
kwiateek
Prosty przyklad
[php:1:c998dafaee]<?php
$filename = 'nazwa_pliku.zip';
if(file_exists($filename)) {
$fd = fopen ($filename, "rb");
$contents = fread ($fd, filesize ($filename));
fclose ($fd);
header('Content-type: application/x-zip');
header('Content-Disposition: attachment; filename='.$filename);
echo $contents;
} else {
echo 'ERROR: Plik nie istnieje!';
}
?>[/php:1:c998dafaee]
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.