Jak zabezpečit obrázky na serveru

Čau, chtěl bych se zeptat. Je server, na kterým je soubor třeba neco.php, kterej zobrazuje galerii fotek, který jsou třeba zde /fotky/. A chci zabezpečit to, aby fotky viděl jen kdo zná heslo. Můžu do souboru neco.php narvat script kterej si vyžádá heslo a pak se podle toho zachová (buď zobrazí nebo nezobrazí). Ale problém je v tom, že kdokoliv má přímej přístup k fotce tímto způsobem www.neco.wz.cz/fotky/fotka1.jpg (adresa je vymyšlená). Prostě chci říct to, že napíše rovnou tu fotku a ta se zobrazí. Jde tomu nějak zabránit?

Díky za radu.
do toto adresáře, kde jsou fotky dáš soubor .htaccess
a do něho

deny from all

nebo tak nějak ;)
No, když zadám tu celou cestu, tak se mi ta fotka nezobrazí (což je dobře), ale pokud chci fotku zobrazit pomocí <img...> na stránce, tak se nezobrazí taky, ale v tomto případě bych chtěl, aby se zobrazila.
Dalo by se to třeba vyřešit nějak tak, aby přístup pro zobrazneí fotky (přes img) byl povolen pouze tehdy, je-li ten soubor neco.php umístěn na tom samým serveru?
dát tam, jak píše DA deny from all a fotky tahat přes php. Viz fotka místo 404... (jiný thread, někde tady)
Teď jsem si prošel toto fórum, to je samý "můžu si dát jinou stránku místo 404", nebo "jak vytvořit .htaccess". Co potřebuji já, to jsem nikde nenašel. Možná jsem se vyjádřil špatně co vlastně potřebuji, takže ještě jednou.

Je třeba web www.neco.wz.cz
v kořenové adrešáři je soubor "foto.php" a složka "fotky". ve složce "fotky" je fotka "obrazek.jpg".

soubor foto.php by mohl vypadat nějak takto:
-------
<img src="fotky/obrazek.jpg" alt="neco">
-------

Když zadám "www.neco.wz.cz/foto.php" tak chci aby se mi ta fotka zobrazila. Ale chci zabánit tomu, aby po zadání "www.neco.wz.cz/fotky/obrazek.jpg" se ta fotka zobrazila.

Když vytvořím .htaccess
a dám do něj "deny from all" (bez uvozovek), tak fotka není přístupná od nikud.

Když dám do .htaccess toto, tak to taky nefunguje
-------
order allow,deny
allow from http://www.neco.wz.cz/foto.php
deny from all
-------

Jednoduše řečeno, chci aby se fotka zobrazila když je volaná z nějakého souboru, který je na tom samém serveru, v žádném jiném případě nechci aby se fotka zobrazila.
když dáš deny from all a místo fotky to voláš takto:
<img src="img.php?img=obrazek.gif" />

img.php:
<?php
$obr = $_POST['img'];
if (file_exists($obr) && strpos(mime_content_type($obr), 'image')) {
Header("Content-Type: ".mime_content_type($obr));
readfile($obr);
} else {
header("Content-Type: image/jpeg");
readfile("img/not_found.jpg");
}
?>

?

deny zajistí, že to z webu přečíst nepůjde a skript si tam sáhnout může.
Jo, přesně tak, jak píše MzM, předpokládál jsem, že ty obrázky posíláš přes php
Já fakt nevím :(

1) Do kořenového adresáře dá složku "fotky" a do ní dám .htaccess s řádkem "deny from all" a fotku "obrazek.gif"
2) Do kořenového adresáře dám foto.php a ipg.php.
Spouštím foto.php a nejde to.

Tady říkám jakej obrázek <img src="img.php?img=obrazek.gif" />, ale neměl bych ještě říct, kde ho má hledat (ta složka fotky)?

Chápu, předám parametr img s názvem obrázku, to v img.php uložím do proměnné $obr, a teď kontroluji, jestli existuje obrázek a zárověň jestli... to strpos nechápu co dělá (v helpu je že najde pozici prvního výskytu řetězce).
do img.php to předávej i s cestou
<img src="img.php?img=fotky/obrazek.gif" />
nebo ve skriptu img.php musíš zajistit, že se to z toho fotky čte.
Nejde mi to doma na localhostu ani tady na WZ. Buď jsu tak blbej anebo fakt už nevím :(
no jo, koukám na to, jesli jsi tam nechal
$obr = $_POST['img'];
tak to chodit nemůže, bo parametr je get, že... Tak tam dej místo toho:
$obr = $_GET['img'];
Tak ten img.php mám tak:

<?php
$obr = $_GET['img'];
if (file_exists($obr) && strpos(mime_content_type($obr), 'image')) {
Header("Content-Type: ".mime_content_type($obr));
readfile($obr);
} else {
header("Content-Type: image/jpeg");
readfile("img/not_found.jpg");
}
?>

a stejnak to furt nejde.
A co to hlásí, když do adresy dáš jenom jakoby ten odkaz na obrázek? Tedy
http://adresa.wz.cz/img.php?img=foto/foto.jpg
?
Když dám .../img.php?img=fotky/obrazek.jpg tak mi to vyhodí:

Fatal error: Call to undefined function: mime_content_type() in /3w/wz.cz/u/ucimsedelatweb/img.php on line 3

Jak vypadá img.php je v mém předchozím příspevku.
hmmm, teď jsem to rozchodil lokálně, ale na win, musel jsem tam povolit mime_magic.dll, nebo jak se to jmenovalo a dodat cosi do ini (dle navodu), na wz zda se je mod_mime.so nahrany, ale jestli je to to same, nevim. V tomhle ti teď asi neporadim. Akorát v tom skriptu je ještě chyba:
if (file_exists($obr) && strpos(mime_content_type($obr), 'image') !== false) {

musi tam být to !== false, jinak to může vrátit 0, což se bere jako false ale není to false ale výskyt na pozici 0.

Doma se podívám na to mime_content_type pro linux. Vydrž...
Jo, mockrát dík. Vydržím :)
Tak v nejhorším, když se nerozchodí funkce na mime type, bude stačit to kontrolovat podle přípony a do hlavičky to vrážet na tvrdo podke té přípony
MzM: mod_mime je mod Apacha, mime_magic je PHP exstension ,nie je to to iste
Já to doma nemám, mám tu prehistorickou verzi php... Tak až to upgradnu...
jj. Počkám, dík!
no ked sa da .htpasswd alebo nieco take do adresara s obrazkami a cosi sa napise do .htacces tak to bude vyzadovat juzername a heslo pre pristup...