Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Řešení problému: Upload dat a následné stažení po zadání hesla (PHP)

Ahoj,

jak řešit následující?

Chci nahrát na server soubor (třeba pdfko) - třeba do adresáře upload. Pdfko dostane svoje ID.

Nechci aby ten soubor stáhl někdo cizí - pouze po zadání hesla.

Jak to vyřešit?

Když v htaccess zakážu přístup do složky upload můžu se tam pak nalinkovat přes <a href="upload/moje.pdf">?

Pak půjdu na stránku, kde zadám id a heslo a ono mi to soubor stáhne..

Velikost souboru bude různá (malá, i velká až 500mb).

Předmět Autor Datum
Máš k dispozici databázi? ANO: Pak generuj heslo vázané na soubor. Můžeš použít PHP fci FLUSH. k "vy…
Flash_Gordon 20.11.2015 18:03
Flash_Gordon
Díky za odpověď, ale pořád to nechápu jak zajistím to, aby si někdo neotevřel přímo link?
MašinkaTomáš 20.11.2015 18:19
MašinkaTomáš
Ffff ! NIKDE NEBUDE LINK. Volat se bude skript, který si ověří heslo. Když bude heslo odpovidat, ta…
Flash_Gordon 20.11.2015 18:41
Flash_Gordon
Už to chápu. Mohl bys mi ještě ukázat jak funguje flush pro soubor? Nenašel jsem žádný vhodný exampl… nový
MašinkaTomáš 20.11.2015 21:32
MašinkaTomáš
Jo. To, co jsem uváděl (flush) je asi vhodné jen pro dynamicky vytvářené soubory. Pro čtení existuj… nový
Flash_Gordon 20.11.2015 23:43
Flash_Gordon
Paráda, funguje jak má, děkuji. poslední
MašinkaTomáš 21.11.2015 10:21
MašinkaTomáš

Máš k dispozici databázi?
ANO:
Pak generuj heslo vázané na soubor.
Můžeš použít PHP fci FLUSH. k "vyprsknutí" souboru uživateli.

NE:
Pak použij třeba timestamp (jako heslo) souboru, opět s fcí flush (viz výše).

Takto jsem to dělával já. Netvrdím, že mám dopr*ele patent na rozum.
Jen jsem dneska pořádně naštvaný.

Ffff !

NIKDE NEBUDE LINK.
Volat se bude skript, který si ověří heslo.
Když bude heslo odpovidat, tak funkce flush pošle na výstup příslušný soubor.

Samozřejmě je blbost předávat heslo např. přes parametry GET v url.
No, třeba já jsem použil ke konstrukci URL JavaScript na pozadí.

Tento způsob je sice stále "prolomitelný", ale uživatel už musí znát to heslo a pravá ruka musí vědět, co dělá levá.
Tudíž to považuji za dostatečně bezpečné pro většinu praktických situací.

No a za chvilku du do kina na Spectre. Snad mě tam opustí dnešní zlost.

Zpět do poradny Odpovědět na původní otázku Nahoru