Autor Zpráva
kap
Profil *
Jak zařídím, aby si uživatel mohl zobrazit obrázek např. http://www.example/obrazek.png, ale když si někdo vytvoří nějakou stránku a zadá do kódu
<img src="http://www.example/obrazek.png" />
, aby se obrázek nenačítal.
vynalezce
Profil
tezko
mozna nefunguje, netestovano:
mit to jako obrazek.php ulozit js adresu do cookies a phpkem overit a vyhodit obrazek ale lze to obejit
a bez js to nefunguje
ninja
Profil
kap: nejcasteji se to resi v .htaccess. Zde na foru to bylo uz nekolikrat, internet je toho take plny.
Bubák
Profil
http://diskuse.jakpsatweb.cz/index.php?action=vthread&forum=3&topic=86543#7
imploder
Profil
asi nejneprůstřelnější způsob:
Při generování stránky úplně na začátku uložit na server (třeba do session) unikátní klíč a ten pak předávat jako parametr skriptu, který bude načítat obrázek. Obrázek načte jenom když bude zadaný klíč existovat. Po načtení celé stránky klíč smazat.

To by (za předpokladu, že obrázky nejsou přímo přístupné a jdou jenom načítat tím skriptem) nemělo jít obejít. Možná by to šlo i nějak nastavit přímo na serveru, aby se obrázky nemusely načítat skriptem, ale netuším, jak udělat přímo na serveru to ověření klíče bez toho aby to muselo spustit nějaký skript v PHP.

Jde i testovat referer, ale to jde obejít a mohl by být problém s tím, že má někdo nastavené referer neposílat (jako bezpečnostní opatření).
Bubák
Profil
Jde i testovat referer, ale to jde obejít a mohl by být problém s tím, že má někdo nastavené referer neposílat
Proto je mnou odkázaný skript napsán tak, že pokud není referrer, tak se obrázek zobrazí. Což zpravidla nevadí. Pokud bych byl autorem stránky, kde bych hotlinkoval obrázky, které by se nezobrazily u převážné většiny návštěvníků mého webu, tak bych s tím holt musel něco udělat, přičemž nejjednodušší a dokonce nezákonné, pokud pominu pár výjimek, kdy AZ kopírování dovoluje, je zkopírovat obrázy k sobě, ať už "natvrdo", nebo skriptem.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0