vermer
10.05.2011, 10:26:02
Witam mam taki problem chciałbym umieścić na stronie link do ebooka ale chce link do niego udostępniać tylko dla osób które zapiszą się na newsletter wszstko działa ale mam problem jak ukryć url pliku tak żeby nikt nie mógł go tak po prostu ściągnąć?
blooregard
10.05.2011, 10:31:09
Linki do plików przechowujesz w bazie danych, na stronie wyświetlasz jedynie ich identyfikatory.
Po kliknięciu na taki identyfikator, pobierasz z bazy przypisany do niego właściwy url i uruchamiasz pobieranie.
Ma to tę zaletę, że "po drodze" możesz łatwo zweryfikować użytkownika, który taki identyfikator kliknął, na ile jego uprawnienia są właściwe do pobrania danego pliku.
A katalog, w którym umieszczasz pliki do pobrania, zabezpieczasz w .htaccess przed bezpośrednim dostępem i już.
vermer
10.05.2011, 11:01:10
A to nie będzie tak że jak na stronie wyświetlimy ten identyfikator to po kliknięciu na niego i tak i tak użytkownik będzie miał możliwośc podejrzenia ścieżki
tabbi
10.05.2011, 11:28:13
Często stosuje się też nagłówki headers
thek
10.05.2011, 11:31:56
@varmer: I co z tego że znasz ścieżkę? Blooregard napisał dobrze -> ZABEZPIECZONY w htaccess przed dostępem

Innymi słowy nawet znając ścieżkę, nie pobierzesz go bo wywali Ci error 403 Access Forbidden

Jedynie skrypt, który ma dostęp do tego katalogu zdoła to zrobić.
vermer
10.05.2011, 21:47:47
To w takim razie postaram się to ogarnąć w jakiś sposób:) ale jak wie ktoś gdzie to jest dobrze opisane poproszę o jakiś przyjazny link:)
thek
10.05.2011, 22:46:46
To nie jest coś specjalnie trudnego... Do katalogu zabezpieczonego trzeba tylko dać htaccess z odpowiednim blokiem blokującym. I tylko jeden jedyny skrypt powinien do tego katalogu się odnosić. Skrypt ten powinien być używany tylko przez osoby z odpowiednimi uprawnieniami lub tylko w określonych sytuacjach. W ten sposób będziesz miał wszystko jak chcesz i dla kogo chcesz
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.