Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: apache2 mod_rewrite tuottaa tuskaa

askomyyrä [03.08.2009 15:17:57]

#

Moi,

Tässä ois nyt muutama päivä tapeltu kinkkisen ongelman kanssa..

Eli, mulla on video tiedostoja kansiossa www.domain.fi/video niin miten ihmeessä mä nyt saisin nämä tiedostot piilotettua siten, ettei niitä pysty suoraan linkkaamaan MUTTA kuitenkin PHP tiedosto saisi niitä vapaasti käsitellä.. heittää ruudulle pyörimään.

Oon yrittänyt vaikka mitä, jos saan filet piiloon, niin ei PHP:kään niihin käsiksi pääse ja jos PHP pääsee käsiksi, niin sit saa ne suoraa linkkaamallakin näkyville..

Tässä viimeisin .htaccess viritelmäni:

RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?domain\.fi/video/.*$ [NC]
RewriteRule .*\.(jpe?g|gif|png|mp4|str)$ - [F]

Ei toimi ei..

Grez [03.08.2009 15:23:07]

#

Eh, ilmeisesti olet yrittänyt PHP:ssäkin käyttää niitä "http://www.domain.fi/video/jotain" Laitat ihan normaalisti niin, että ne eivät näy suoraan ja sitten käytät PHP:ssä suoraa polkua niihin. Tyyliin "/home/tunnus/public_html/video/jotain". Polku voi olla jotain ihan muutakin. Jos pääset kirjautumaan palvelimelle shelliin, niin näet missä hakemistossa olet komennolla pwd.

Metabolix [03.08.2009 15:59:43]

#

Muista, että jos PHP tulostaa sivulle vain linkin tiedostoihin (vaikka tiedoston osoitteen embed-tagiin tms.), tiedostoja viime kädessä lataa käyttäjän selain eikä PHP. Tiedoston käsittely PHP:llä tarkoittaa jonkin PHP:n tiedostofunktion käyttöä (file_get_contents, readfile, fread jne.).

askomyyrä [03.08.2009 16:21:54]

#

Totta tosiaankin. Arvasitte aivan oikein.. :)

Eli mulla on ne tiedostot paikassa /var/www/video/ ja tosiaankin yritin suoraan php:ssä kutsua niitä tuolla suoralla webbilinkillä (www.domain.fi/video/).

Mulla on siinä php koodissa javascriptin pätkä joka varsinaisesti kutsuu niitä tiedostoja:

'file': 'http://www.domain.fi/video/' +tiedosto+'',

En sitten oikein tiedä, miten mä tuossa voisin niitä kutsua suorasta polusta?

Taitaa olla nyt vähän liian vaikee juttu mulle..

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta