Potřeboval bych poradit:
Jak zabránit tomu, aby nebylo možné stahovat soubory z webu?
Konkrétně - mám v adresáři na webu soubory videa (swf,flv, avi, wmv,...) a ty jsou na webu návštěníkům přehrávány přehrávačem. Ve zdrojovém kódu je však možno dohledat, kde je přehrávaný soubor umístěn a jaký má název. Přímým zadáním adresy souboru pak je možné soubor z webu stáhnout. Je možno tomu nějak zabránit pomocí PHP?
Díky za případné náměty.
Honza
Fórum › PHP
Zabránění stahování souborů z webu
Dá se to udělat pomocí .htaccess, pokud je na serveru povolený:http://www.jakpsatweb.cz/server/htaccess.html
Pokud máš všechny videa v jednom adresáři, tak stačí pro ten adresář nastavit:
Deny from all
No da sa to vyriesit nejakym riadenim pristupu v "specifickych pripadoch", ale pokial sa ma dostat k tomu prehravac ako pisal KIIV tak to nejak jednoduch asi vyriesit nejde. ale pokial na nieco prides tak napis, aby sme vedeli do buducna :smile3:
ted mozna placnu blbost, ale dalo by se to udelat pres php soubor - "nacti-video.php?video=asdfg", kde uzivatel neuvidi zdroj souboru a v php pak osetrit, zda k tomu nejak pristupuje primo ... (coz me ted nenapada jak, mozna pres referer)
v tom souboru pak bude mimo kontroly napr file_get_contents, nebo fread ...
Honza
Jestliže má mít uživatel možnost si video nějakým způsobem (Flash, <video>, …) přehrát, video se musí vždy minimálně jednou k němu stáhnout. Tomuto jednomu stažení zabránit nemůžeš. Navrhované řešení: přehrávač bude k videu přistupovat přes „proxy“ skript (á la ), kterému se předloží token vygenerovaný při odesílání stránky s vloženým videem. Tenhle token bude taky uložený na serveru a poté, co PHP skript pošle video, token na serveru smaže (nebo nějak „zneplatní“). Video bude odesláno pouze tehdy, existuje-li token a zároveň je platný.
Když si uložíš k tokenu i referer, UA string apod. a budeš je kontrolovat, nebude jednoduché to video získat přímo a většina lidí to vzdá. Ale některé prohlížeče neposílají referer (a některé nevím, kdy přesně apod.), některé zase UA string, takže zase se na tyhle věci nedá spoléhat a bude to chtít hodně zkoušení.
Myslím si, že většinu lidí od přímého stažení odradí už jen to, že video půjde stáhnout jen jednou, takže budou muset stopnout prohlížeč ve vykreslování stránky, aniž by podnikl požadavek na to video (protože to zneplatní token a budou-li chtít zadat URL videa do prohlížeče, tak je budeš moci hezky poslat do těch správných míst :-)).
a nieco take ako vygenerovat nahodny string, ulozit ho do db pre daneho uzivatela v jeho sedeni, nasledne ho poslat ako premennu do flash prehravaca (toto neviem ako sa robi, o flashi neviem skoro nic), ktory ziska zase cez nejaky script presnu adresu (samozrejme za pomoci stringu ktory mu bol zaslany) a okamzite zmaze string z db... video sa ale musi potom nahrat do toho flash prehliadaca, nie ako samostatny flv subor... len neviem ci sa to da... pokial by niekto stiahol prehravac s videom asi sa neda len tak dekompilovat? cize je takmer nemozne (aspon robotmi) zistit priamy link...
alebo sa mylim... mozno by vediel niekto moju myslienku rozviest...
To marioff : porad si muzes tu stranku stahnout, vytahnout odkaz a ten stahnout samostatne.. nejspis budes muset delat i nejakou kontrolu user-agenta a i to se da obejit.. nevim jestli ten prehravac posila i nejake dalsi info..
mozna testnout treba hodit to na link pres dejme tomu deset redirectu.. a pocitat s tim ze ma na redirect treba jen 5sekund..
ale nemusi to umet prehravac nasledovat.. taky by se clovek mohl trefit nad limit.. a roboti to samozrejme obejdou :)
mozna k tomu brat jeste referera ale to zase nemusi prehravac posilat, scripty to budou posilat jen kdyz se to naprogramuje
mozna prehravaci jen predat odkaz kde to je, ale musel by jeste poslat nejake heslo .. treba vhodne generovane z odkazu ..
problem je v tom, ze ten flash ma clovek fyzicky na kompu a muze si ho dekompilovat...
To KIIV : no ale myslel som tak ze ci sa neda nejakym sposobom napr poslat do prehravaca premenna trebars nieco ako ?kod=56fa4sdr45a4we5f4we64f ktory prehravac zase posle inemu scriptu (resp. priamo na db) ktory za pomoci odoslaneho kodu zisti url videa... to vsetko by sa dialo vo "vnutornostiach" toho prehravaca... cize bude si moct stiahnut iba prehravac priamo s videom... a to mu bude asi nanic...
ano bude musiet dekompilovat... ale nato sa urcite vykasle... a pojde vykradat inde :D
Nejlepší je pole mě řešení, které psal bukaj_001. Sám se podobné řešení použil v jiné situaci. Ale napadla mě ještě jedna věc. Asi je to blbost a je to spíš jít na komára s tankem, ale proč ne.
Co to video převést na base64 a dá ho do texťáku. Samozřejmě, že šikovnější člověk si všimne toho že je to base64, ale tak někoho to možná odradí. A pak v tom přehrávači to dekódovat zpět a přehrávat. Je to dost neefektivní na výkon, ale třeba se toho někdo chytne vylepší to.
marioff
Token (kód) pouze s určitou platností, viz moje řešení .
marioff & KIIV
Myslím, že jakkoli to zesložiťovat redirecty apod. ve výsledku moc nemá cenu. Jelikož je HTTP bezstavový protokol, každý požadavek se dá napodobit, a tak ať nějaký flashplayer, či cokoli něco do požadavku přidá, dá se to odchytit, zanalyzovat, ,,napodobit``.
Osobně, když to určité videu budu tak nutně chtít mít uložené na disku (což nevím, jestli je v dnešní době, kdy je připojení na každém rohu pro lidi až tak důležité) a nebudu ho moci sehnat někde jinde, vezmu nějaký nástroj na snímání obrazovky a natočím si to. Nepředpokládám, že by kvalita výchozího videa takto umisťovaného na stránkách byla o moc větší než to, co nasnímám.
sorry ale tato tema podla mna nema zmysel..
ako povedali ludia nadomnou, video sa takcitak raz musi stiahnut a to znamena ze aj urcite sa da nejako uchovat do hdd
btw.: vsak youtube co je celosvetovy sa myslim o to pokusal a predsa sa to nepodarilo :)..
Myslím též, že to zabezpečit nelze. Cokoli vidí uživatel, to se k němu nějakým způsobem odeslalo a odchytit to půjde vždycky. Tuším, že Youtube se o to taky snaží, přesto algoritmus už je známý stejně jako pouhý javascript kód, jak video stáhnout.
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Software pro stahování webů — založil mates
Zabránění načítání od začátku souboru — založil Thermo
Stahovaní souboru — založil svobodicz
C# - Stahovani souboru — založil Habl
Stahování souborů ze serveru — založil mallox
Moderátoři diskuze