Autor Zpráva
unlucky
Profil
Mám php soubor, který generuje obrázky. Mám stránku, která tyto obrázky zobrazuje takto <img src="/adresar/soubor.php?obrazek=xyz">
Chci všem zamezit přístup k souboru kromě skriptům ze stejné domény.

Deny a order from all jsem zkoušel, obrázek se pak nezobrazuje.
Joker
Profil
unlucky:
Deny a order from all jsem zkoušel, obrázek se pak nezobrazuje.
Tak logicky.

Obrázek stahuje návštěvníkův prohlížeč. K tomu, aby návštěvník mohl obrázek vidět, se k němu musí dostat.

V požadavku, aby se návštěvník k obrázku dostal a současně nedostal je logický rozpor.
juriad
Profil
unlucky:
1) Můžeš vyžadovat přihlášení uživatele, pak ten skript soubor.php bude mít tu samou podmínku na přihlášení jako zbytek stránek.
2) Můžeš si obrázky cachovat na disku, pak tě výkon jejich generování nebude tak trápit.
unlucky
Profil
juriad:
teďka to řeším tak, že kontroluju sessiony, ale někde jsem viděl, že existuje lepší způsob. Bohužel si už nevzpomenu kde :(
Martin2
Profil *
unlucky:
ale někde jsem viděl, že existuje lepší způsob
Většinou se to řeší kontrolou refereru HTTP požadavku. Buď v PHP z hodnoty $_SERVER["HTTP_REFERER"] nebo klidně i podmínkou v rewrite pravidlech konfigurace serveru.

RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://www\.povolena-domena\.cz/ [NC]
RewriteRule ^/adresar/soubor.php - [NC,F,L]
bestik_63
Profil
Martin2:
Jestli se nemýlím, tak není problém podstrčit prohlížeči HTTP_REFERER, takže bych tu kontrolu spíše nechal na session.
Martin2
Profil *
bestik_63:
není problém podstrčit prohlížeči HTTP_REFERER
Ano není to problém. Kontrolu refereru určitě nelze považovat za bezpečnostní opatření, ale jako obrana proti zatěžování serveru hotlinkováním zdrojů je to velmi účinný způsob.

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: