Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Ukrywanie adresu zrodlowego sciaganego pliku
hamlecik
post
Post #1





Grupa: Zarejestrowani
Postów: 79
Pomógł: 0
Dołączył: 31.07.2003

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


Witam!

Mam taki problem. Nie wiem jak zrobic aby przy sciaganiu pliku nie pokazywalo jego adresu zrodlowego. Wymyslilem sobie to tak:

plik 1.php

[php:1:3774551ec3]<?php
// kod

session_start();

$adres = adres_do_pliku
$_SESSION['status'] = $adres;

?>

<iframe src="2.php" width="400" height="200" frameborder="0">
</iframe>

<?php

// kod
?>[/php:1:3774551ec3]


plik2.php

[php:1:3774551ec3]<?php
// kod

session_start();

if($_SESSION['status']) {


?>

<META HTTP-EQUIV="refresh" content="5; URL=<?php echo $_SESSION['status']; ?>">

<?
} else {

echo "blad";

}

// kod
?>[/php:1:3774551ec3]

Kod moze miec bledy bo wklejam go na szybkiego poniewaz sie spiesze smile.gif
Do powyzszego kodu trzeba jeszcze dodac javascript aby blokowal wyswietlanie adresu na pasku stanu.
Szukam jednak jakiegos bardziej profesjonalnego sposobu. Moze ma ktos jakis pomysl?

Pozdrawiam


--------------------

Yamaha YZF R1
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 9)
FiDO
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 717
Pomógł: 0
Dołączył: 12.06.2002
Skąd: Wolsztyn..... Studia: Zielona Góra

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


Mozesz zrobic cos takiego:

dl.php
[php:1:f17ad595c1]
<?php

$file = './files/'.$fname;

header("Cache-control: private");
header("Content-Type: application/octet-stream");
header("Content-Length: ".filesize($file));
header("Content-Disposition: attachment; filename=".basename($file));
header("Connection: Close");

readfile($file);
?>[/php:1:f17ad595c1]

Do tego pliku podajesz jako parametr np. nazwe pliku albo lepiej jakis numer ID, przetwarzasz to, i wysylasz do przegladarki (w sposob podany wyzej) wlasciwy plik.


--------------------
Brak czasu :/
Go to the top of the page
+Quote Post
GeoS
post
Post #3





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

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


Wypadaloby podniesc odrobine bezpieczenstwo:

[php:1:e39a70c5d2]<?php
// tutaj moja sugestia podnoszaca bezpieczenstwo smile.gif
$file = './files/'.basename($fname);

header("Cache-control: private");
header("Content-Type: application/octet-stream");
header("Content-Length: ".filesize($file));
header("Content-Disposition: attachment; filename=".basename($file));
header("Connection: Close");

readfile($file);
?>[/php:1:e39a70c5d2]


--------------------
Zanim zadasz pytanie, zawsze wczesniej zajrzyj do manuala ( pl.php.net/manual/pl/ ).
Szukasz skryptow - www.hotscripts.com
Go to the top of the page
+Quote Post
halfik
post
Post #4





Grupa: Zarejestrowani
Postów: 259
Pomógł: 0
Dołączył: 17.05.2003
Skąd: Nysa

Ostrzeżenie: (10%)
X----


A jeśli masz taką możliwość pliki możesz trzymać na bazie, zatem bez pośrednictwa skryptu nikt ich nie pobierze.
Go to the top of the page
+Quote Post
hamlecik
post
Post #5





Grupa: Zarejestrowani
Postów: 79
Pomógł: 0
Dołączył: 31.07.2003

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


Dzieki za pomoc. Wszystko dziala tak jak chce.


--------------------

Yamaha YZF R1
Go to the top of the page
+Quote Post
FiDO
post
Post #6





Grupa: Przyjaciele php.pl
Postów: 1 717
Pomógł: 0
Dołączył: 12.06.2002
Skąd: Wolsztyn..... Studia: Zielona Góra

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


Cytat
Wypadaloby podniesc odrobine bezpieczenstwo:

To byl kawalek (nawet nie polowa) z skryptu ktory uzywam, wkleilem tylko to, bo chodzilo mi zeby pokazac jak przeslac plik smile.gif
Ta gorna wieksza polowa (a jednak troche wiecej bo jakies 5/6 smile.gif ) to zabezpieczenia snitch.gif


--------------------
Brak czasu :/
Go to the top of the page
+Quote Post
GeoS
post
Post #7





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

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


U siebie mam podobnie - przeslanie naglowkow stanowi cala 1/5 skryptu tongue.gif


--------------------
Zanim zadasz pytanie, zawsze wczesniej zajrzyj do manuala ( pl.php.net/manual/pl/ ).
Szukasz skryptow - www.hotscripts.com
Go to the top of the page
+Quote Post
hamlecik
post
Post #8





Grupa: Zarejestrowani
Postów: 79
Pomógł: 0
Dołączył: 31.07.2003

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


Pojawil mi sie nowy problem. Jesli plik do sciagniecia (np plik.zip) mam w innym katalogu niz plik php do jego sciagniecia (np sciagnij.php) to nie moge sciagnac plik.zip.

Np:
plik do sciagniecia: http://localhost/plik.zip
plik php: http://localhost/php/sciagnij.php

Problem pojawia sie nawet po usunieciu funkcji basename().
Jakies sugestie? smile.gif


--------------------

Yamaha YZF R1
Go to the top of the page
+Quote Post
voytar
post
Post #9





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 1.02.2004
Skąd: Gliwice

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


Może użyj jako ścieżki do pliku: ../plik.zip

(nie jestem pewien czy zrozumialem Twoj problem]
Go to the top of the page
+Quote Post
FiDO
post
Post #10





Grupa: Przyjaciele php.pl
Postów: 1 717
Pomógł: 0
Dołączył: 12.06.2002
Skąd: Wolsztyn..... Studia: Zielona Góra

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


hamlecik: pokaz kod, wrozkami nie jestesmy.
Zreszta podalem Ci wyzej przyklad wlasnie z inna sciezka do plikow (glebiej niz skrypt) i tamto dziala.
Trzecia sprawa.. co znaczy nie moge sciagnac? znowu mamy sie domyslac co jest nie tak? Podal jakis blad czy cokolwiek to odrazu bedzie latwiej Ci pomoc.


--------------------
Brak czasu :/
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 20.08.2025 - 20:35