logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Jak zrobić odsyłacz do pliku .php by nie został wykonywany??

czarekp 20 Wrz 2007 10:04 2690 2
REKLAMA
  • #1 4302305
    czarekp
    Poziom 12  
    Posty: 105
    Pomógł: 5
    Ocena: 1
    Witam
    Mam system uplod plików na serwer. Każdy rodzaj plików może zostać uplodowany i tak ma być. Chce zrobić system download, poprzez który będzie można pobrać plik . Jak zrobić odsyłacz, do pliku php, aby został on pobrany i nie wykonywał się na serwerze. Plik poinien być umieszczony w innym katalogu, by nie mozna było wpisać www.strona.pl/kasuj_wszystko.php w pasek adresowy przeglądarki.

    Mam nadzieje że jasno wyjaśniłem o co mi kaman.

    Pozdrawiam
  • REKLAMA
  • Pomocny post
    #2 4304047
    BoskiDialer
    Poziom 34  
    Posty: 1530
    Pomógł: 353
    Ocena: 42
    Trzeba by sprawdzić, czy da się wyłączyć php na poziomie katalogu przez konfig serwera www. Inna możliwość, to dodać regułę mod_rewrite, która link "/pliki/kasuj_wszystko.php" przepisała by na coś w rodzaju "/pobierz.php?plik=kasuj_wszystko.php" i z poziomu pobierz.php wyrzucać surowy plik:
    <?php
    	header('Content-Type: application\octet-stream');
    	header('Content-Disposition: attachment; filename="'.$_GET['plik'].'"');
    	readfile('/pliki/'.$_GET['plik']);
    ?>
    (oczywiście nie zapominając o odpowiednich zabezpieczeniach). Kolejny pomysł: Gdyby samym plikom php przy wrzucaniu zmieniać rozszerzenie na np _php oraz dać odpowiednią regułę do mod_rewrite, wtedy np żądanie z przeglądarki o plik kasuj_wszystko.php było by zamienione na wewnętrzne kasuj_wszystko._php - nie został by wykonany, ale trzeba by się zastanowić nad dodaniem odpowiedniego typu MIME do konfiga serwera (albo to zignorować).
  • #3 4305023
    czarekp
    Poziom 12  
    Posty: 105
    Pomógł: 5
    Ocena: 1
    BoskiDialer napisał:
    Trzeba by sprawdzić, czy da się wyłączyć php na poziomie katalogu przez konfig serwera www. Inna możliwość, to dodać regułę mod_rewrite, która link "/pliki/kasuj_wszystko.php" przepisała by na coś w rodzaju "/pobierz.php?plik=kasuj_wszystko.php" i z poziomu pobierz.php wyrzucać surowy plik:
    <?php
    	header('Content-Type: application\octet-stream');
    	header('Content-Disposition: attachment; filename="'.$_GET['plik'].'"');
    	readfile('/pliki/'.$_GET['plik']);
    ?>
    (oczywiście nie zapominając o odpowiednich zabezpieczeniach). .


    Nie bardzo rozumiem. Lokalne wyłączeniie php jest ok, ale pliki z html też mają być pobierane a nie otwierane przez przglądarke. Wpadłe na pomysł aby skrypt zipował każdy plik który wchodzi na serwer, tylko jak to zrobić. :?:
REKLAMA