ugrás a tartalomhoz

File közvetlen letöltés tiltása

abicska · 2009. Jan. 11. (V), 17.48
Szevasztok!
Van egy zene. Egy MP3. Fel van töltve a honlapomra, a gyökérhez képest néhány mappával lejjebb. (d/r/zene.mp3)
Van egy flash lejátszó, ami ezt a zenét játssza le úgy, hogy paraméterként kapja a lejátszandó fájl elérési útját, értelem szerűen azért, hogy több fájlt is le tudjon játsszani.
Az volna a kérdésem, hogy lehetséges e megakadályozni valamilyen módon azt, hogy ha beírom a böngésző címsorába, hogy "domain.hu/d/r/zene.mp3" ez betöltse be a zenelejátszót és induljon el, vagy éppen letöltődjön. Vagyis nem szeretném ha csak úgy beírnák a címet, jobb gomb, mentés és ott is lenne.
Át lehet ezt irányítani a kezdőlapra, mondjuk a domain.hu-ra?
Köszönöm a segítséget előre is!
Ábel
 
1

Ne álmodozz

tolmi · 2009. Jan. 11. (V), 19.01
Előszöris ne ringasd magad fals képzetekbe, ha kirakod a webre a tartalmat, akkor azt el lehet érni. Ha nem akarod hogy elérjék, akkor ne tedd ki a webre. Gondolj bele és megérted miért:
A Flash lejátszó (de bármilyen lejátszó) a kliens gépén fut, különben nem tudna hangot kelteni (a kliens gépén), tehát a fájlt a kliens gépén kell lejátszani, tehát le kell azt tölteni. Márpedig ha le kell tölteni, akkor nem sok értelme van megakadályozni hogy letöltsék, mert akkor semmi értelme az egésznek. :)

Ha elég csak a látszata a védelemnek, akkor lehet csinálni olyat hogy a webszerver csak akkor szolgálja ki a file-t, ha valamilyen speciális kliensazonosítóval töltik le a fájlt és Flashben ezt te leprogramozod.

Ha tényleg szeretnél komoly erőforrásokat rááldozni a védelemre, akkor megoldható a Flash új szolgáltatásával valamelyest a dolog, amely "SWF verification" alatt fut. Ehhez kell egy FMS 3 licensz(olyan $4500 körül) és telepítés, valamint egy saját player, amely összejátszik az FMSsel és az FMS nem szolgálja ki a streamet, ha nem a te playered próbálja húzni. De ez neked gondolom nem opció, így csak referenciaként írom.
2

Egy gyenge hirtelen megoldás

Kérésre törölve 12. · 2009. Jan. 11. (V), 22.48
Letiltja az oldalon a jobb klikket:

<html>
<body oncontextmenu="return false;">

xxxxx

</body>
</html>
3

tényleg gyenge

gex · 2009. Jan. 11. (V), 22.53
ezért kár volt hozzászólni...
4

Látszat

abicska · 2009. Jan. 12. (H), 00.35
Ilyen látszat védelem kellene tényleg, hogy az egyszerű user ne töltse le. Foglalkozni kelljen vele kicsit. Biztos van valami egyszerű megoldás erre? Nincs valami ötleted? .htaccess fájl?
5

Overkill

janoszen · 2009. Jan. 12. (H), 01.19
Tudsz olyat csinálni, hogy Flashből valamit kommunikálsz, esetleg RSA kódolva vagy ahogy tetszik, ami által kapsz egy tokent, ami egyszer felhasználható és a PHP szolgálja ki az MP3-at. Az as3crypto library erre jó segítség tud lenni. Egyébként overkill és jó szórakozást.
6

docroot

rrd · 2009. Jan. 12. (H), 11.56
Akkor tudod megoldani ha az mp3-ak a docrooton kívülre kerülnek.
7

hogy éri el a flash?

gex · 2009. Jan. 12. (H), 12.58
ez esetben hogy játssza le a flash? ;)
8

Megoldható..

vbence · 2009. Jan. 12. (H), 15.58
A kollégák pesszimista hozzászólásaival szemben szeretnék néhány reálisabb megoldást kínálni:

  • Referer check: a szerveroldalon RewriteRule a főoldalra irányítja, hacsak nincs "Referer" fejléc (a te domaineddel) a kérésben. Ha a flash játssza le a zenédet, a böngésző küldeni fog ilyet, akkor is küldeni fog, ha egyszerűen HTML-be linkelsz a fájlra. Nem fog küldeni ilyet, ha csak kézzel beírja valaki a címsorba, vagy esetleg ha paranoid tűzfalbeállításai vannak. Kivédhető, ha a user feltételezi ezt a védelmet és valami poweuser-féle letöltőprogramot használ (wget, curl).
  • Kódolt paraméter: a flash mozi nem plain textben kapja meg a lejátszandó fájl nevét, hanem valamilyen egyszerű algoritmussal kódolva. Ezt a paramétert a flash egy kis szkripttel visszakódolja fájlnévvé. Kivédhető ha a user valami HTTP proxyval monitorozza a kliens és szerver közti kapcsolatot vagy ha visszafejti a flash mozit flash decompilerrel.
  • Extra paraméter: A flash mozi egy query stringet fűz a lejátszandó fájl végére és így kéri le a szervertől. Pl: /d/r/zene.mp3?titok - Erre az URL-re a szerver minden további nélkül kiszolgálja a fájlt, viszont RewriteRule-lal ellenőrizhető, hogy ha a paraméter nincs a helyén, átdobja a klienst a főoldalra. Gyengesége megegyik az előzővel.
  • Extra könyvtár: Az előző megoldás egyszerübb változata: egyszerűen elhagyod a /d/r/ -t a fájlnévből, ezt a flash fűzi a fájlnév elé... (vagy bevezethetsz egy új könyvtárszintet, ha az előzők nem állandók).


Még lennének ötelteim, pl AMFPHP-vel streamelni a fájlt (ennek utána kéne nézni).
9

Csak hogy nyilvánvaló legyen

tolmi · 2009. Jan. 13. (K), 15.18
Csak hogy nyilvánvaló legyen meg a később olvasók se értsék félre: Ezek nem védelmek, ezek látszatok, átlagosan 10 perc munkát jelent egy hozzáértőnek "feltörni".

Az egyetlen tolerálható védelmet adó megoldás a már általam vázolt SWF verification + FMS 3, de ez sem törhetetlen, csak jó sok munka van vele még egy hozzáértőnek is.
10

Internet és biztonság

vbence · 2009. Jan. 13. (K), 19.43
Igyekeztem minden módszernél mellé írni a hiányosságait. Ha a teljes képet akarjuk érzékeltetni akkor azt szögezzük le, hogy minden megoldás llátszatmegoldás. Mindegy, hogy Adobe, Microsoft vagy Apple DRMről beszélünk, az analog lyuk mindig ott van. A jack dugón kimenő hagokat bárki kedve szerint rögzítheti.

Ezek a DRM-ek csupán arra jók, hogy a jogtualjdonost meggyőzzék a platform elfogadására (azaz azt hazudhatjuk neki, hogy nem készíthető másoldat az adott felvételről).

Bár ezzel tapasztalatom nincs, de símán el tudok képzelni például egy hangkártya-emulátort, ami next-next finish telepítés után bármit tökéletes wav minőségben lement ami csak megszólal a gépen.
11

Music Match Jukebox

Max Logan · 2009. Jan. 13. (K), 20.45
Sok-sok évvel ezelőtt én csináltam ilyet a Music Match Jukebox-szal, hogy a Windows-ban megszólaló hangokat vettem fel. Már meg nem mondom, hogy miért volt erre szükség, de az biztos, hogy valamit fel kellett vennem, amit más megoldással nem tudtam (talán valamilyen program built-in zenéjét akartam kimenteni, ami akkor nem emészthető formában volt tárolva fájl szinten -- aztán rájöttek a programozók, hogy mennyivel egyszerűbb a már szabványos formátumokat használni saját helyett).

Szóval egy hétköznapi audió program képes ilyen jellegű felvételre, még keresni sem nagyon kell. Így minden, ami csak megszólal a hangkártyán felvehető pl. MP3-ba ...
12

OkOk nem kötözködöm, igazad

tolmi · 2009. Jan. 13. (K), 21.42
OkOk nem kötözködöm, igazad is van. De jó hogy ez előkerült, mert így elég szépen kiteregettük a DRM-et is meg azt is hogy sosem lesz törhetetlen.