Mam zrobione za pomocą authlogic logowanie. Zalogowany user widzi link z plikiem do ściągnięcia. Klika i ściąga. Ale jak podam bezpośrednią ścieżkę do pliku bez logowania to tez go ściągam. Jak zabezpieczyć się przed bezpośrednim dostępem do pliku niezalogowanej osoby, która zna bezpośrednia ścieżkę do pliku?
jak masz pliki w public to tam do wszystkiego masz dostęp z poziomu przeglądarki wgeta itp. DocumentRoot jest ustawiony na public katalog i jak jest request do pliku np. public/files/some_file.txt to Apacha, nginx czy cokolwiek innego omija Railsy bo widzi ten pliczek
Dlatego wystarczy, że zapiszesz gdzieś poza public (wtedy nie będzie możliwości ściągnięcia plików bez pośrednictwa railsów), a w akcji z downloadem sprawdzasz czy ktoś jest zalogowany. Jeżeli tak, to dajesz send_file, jeżeli nie to akces dinajd bro!