Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Zablokowanie możliwości pobierania plików z serwera
Raven1122
post
Post #1





Grupa: Zarejestrowani
Postów: 369
Pomógł: 2
Dołączył: 1.11.2010

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


Witam,

Mam taki problem, ponieważ robię portal gdzie będzie taka usługa jak "portfel". Smsem można dodać środków do portfela, a poźniej jeżeli mam wystarczającą sumę w portfelu mogę ściągnąć paczkę zip z grafiką. Zastanawiam się jednak jak zabezpieczyć pliki przed pobraniem przez użytkownika znającego link. Czytałem gdzieś, żeby folder z tymi plikami umieścić przed folderem public_html, ale jak wtedy mam się odnosić do tych plików??

Proszę o podanie jakichś sensownych podpowiedzi.

Z góry dziękuje.
Go to the top of the page
+Quote Post
Dominator
post
Post #2





Grupa: Zarejestrowani
Postów: 565
Pomógł: 15
Dołączył: 11.10.2010

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


Może rób to na tokeny, czyli, że link do pliku wygląda tak: twojastrona.pl/download?token=39213j123hjkh12j4jhk21h312, w bazie dany token będzie dla konkretnego pliku. Sprawdzasz sobie czy token jest powiązany z plikiem. Jeśli tak - pobiera, jeśli nie - błąd.

Natomiast jeśli ktoś już pobierze plik to możesz zrobić tak, że dla tokenu w bazie będzie pole "active", czyli jeśli "active" jest 0 to można pobrać, a jeśli 1 to ktoś nie może pobrać.

Chyba o to Ci chodziło, tak ?

Ten post edytował Dominator 16.01.2013, 17:53:40
Go to the top of the page
+Quote Post
Raven1122
post
Post #3





Grupa: Zarejestrowani
Postów: 369
Pomógł: 2
Dołączył: 1.11.2010

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


Tak o cos takiego, tylko jesczze jak rozpoczac pobieranie pliku poprzez php?

EDIT

no i co jesczze jesli 2 osoby kupia ten sam plik 1 pobierze, a druga juz nie bedzie mogla


EDIT 2

Teraz tak bardziej pomyslalem nad tym i mam pytanie:

Czy proces wygladalby tak o:

Klient klika przycisk "Zakup", w tym momencie w mazie tworzy się rekord z nickiem kupujacego tokenem i sciezka do pliku i informacja czy link jest aktywny.

Gdy klient wejdzie w link z tokenem status aktwywny zmieni sie na nieaktwyny, a rekord usunie tak?

Tylko jesli bym przetrzymywal te paczki z plikami na serwerze to i tak ktos moze sciagnac ich polozenie powiedzmy metoda prob i bledow

Ten post edytował Raven1122 16.01.2013, 18:05:27
Go to the top of the page
+Quote Post
Dominator
post
Post #4





Grupa: Zarejestrowani
Postów: 565
Pomógł: 15
Dołączył: 11.10.2010

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


Zrób tak, że ktoś będzie mógł pobrać to tylko w ciągu 10 minut, potem kicha (IMG:style_emoticons/default/biggrin.gif)
Go to the top of the page
+Quote Post
Raven1122
post
Post #5





Grupa: Zarejestrowani
Postów: 369
Pomógł: 2
Dołączył: 1.11.2010

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


Watpie by bylo to dobra idea bede sprawdzal po tokenie i po loginie, aby sciagnac trzeba byc zalogowanym.

tylko jescze powiedz mi prosze jak pobrac plik przez php?? czy to cos zwiazanego z header oraz fopen??


Zrobilem to tak:

  1. <?php
  2. header('Content-type: application/x-rar-compressed');
  3. header('Content-Disposition: attachment; filename="../paczka.rar"');
  4. readfile('../paczka.rar');
  5.  
  6. ?>


oczywiscie jest to forma testowa... ta poprawna bedzie pobierala z mysql lokalizacje pliku i zmieniala stan active na nieaktwny czyli 0.

Nie wiem dlaczego ale dodaje mi znak _ przed nazwa pliku


Dodatkowo po rozpakowaniu paczki winrar mowi ze plik jest uszkodzony

Ten post edytował Raven1122 16.01.2013, 18:25:56
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 27.09.2025 - 21:16