Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: htaccess ja alikansiot

Sivun loppuun

Rams [16.06.2005 18:27:40]

#

Onnistuuko mitenkään seuraava: www-sivuston yksi kansio on salasanasuojattu htaccess -menetelmällä ja kyseisen kansion sisässä on toisia kansioita. Yhteen näistä kansioista pitäisi sallia pääsy. Onnistuuko mitenkään htaccess -tiedostoilla vai pitääkö minun siirtää ko. kansio pois suojatun kansion sisästä? Tämä vain aiheuttaisi aika paljon lisätyötä..

kasetti [16.06.2005 20:03:24]

#

Rams kirjoitti:

Onnistuuko mitenkään htaccess -tiedostoilla

ei onnistu. PHP:lla voi lukea suojatuista kansiosta tietoa. Auttaisiko tämä mitenkään?

ajv [16.06.2005 20:06:39]

#

Laitat sinne kansioon, minkä pitää näkyä oman .htaccess tiedoston, jossa ei ole salasanasuojausta... En tiedä toimiiko ihan suoraan noin, mutta kyllä tuo on mahdollista.

Rams [16.06.2005 20:14:15]

#

kasetti -> kansiossa on pelkkiä kuvia jotka olisi tarkoitus näyttää ei-suojatussa-osiossa sivustoa. Ei taida onnistua PHP:llä?

ajv -> jos tuohon kansioon laittaa oman htaccess -tiedoston niin ohittaako se silloin olemassa olevan suojauksen? Ja mitä tuohon htaccess -tiedostoon tulisi laittaa? Koetin googlettaa mutta ei löytynyt oikein mitään mistä olisin ratkaisua löytänyt. Jotain Allowoverride -juttua oli mistä mitään ymmärtänyt..

Auttakaa, asialla olisi vieläpä kiirekin..

kayttaja-2791 [16.06.2005 20:15:00]

#

Kyllä sen pitäisi jotenkin onnistua myös alkuperäisen kansion .htaccess määrityksillä. Ehkä jotain seuraavan tyylistä:

<Directory "/sivuni/suojattu/avoin">
Order allow,deny
Allow from all
</Directory>

Tai jotain vastaavaa, en tosiaan tarkemmin osaa sanoa kun en jaksa alkaa kokeilemaan enkä tuollaisia virityksiä ole pahemmin tehnyt.

Tempfile [16.06.2005 20:35:55]

#

Tuo AllowOverride kertoo, menevätkö alikansiossa olevan .htaccessin säännöt aiemman päälle. Voit kokeilla laittaa siihen yläkansiossa olevaan .htaccessiin tämän rivin:

AllowOverride All

Alakansioon jonka haluat laittaa saataville, laitat .htaccessin joka antaa pääsyn kaikille.

kasetti [16.06.2005 20:42:53]

#

riippuu varmaan vähän myös siitä että miten palvelimelle on sallittu noitten .htaccess tiedostojen käyttö.

Pystyykö esim. imagecreatefromjpeg funktiolla lukemaan suojatusta kansiosta?

Rams [16.06.2005 20:48:12]

#

Ei onnistu nyt mikään. Kokeilin JTS:n neuvoa sekä Tempfilen neuvoa ja kummassakin tapauksessa tulee Server Error! Error 500.

Heti jos htaccess -tiedostoon laittaa AllowOverride All tulee Server error.

Kokeilin myös seuraavaa kuvat sisältävään kansioon eli tein sinne oman htaccess -tiedoston jossa oli
<Files *>
allow from all
</Files>

Ei pelaa tuokaan. Ei ilmoita server erroria mutta ei myöskään salli kansioon menemistä. Huh, meneepä tämä vaikeaksi..

Tempfile [16.06.2005 20:59:57]

#

Voi olla, että palvelimelta on säädetty että tuota allowoverridea ei voi käyttää. Jos sinulla on PHP käytössä, kannattaa kuskata kuvat sen kautta. Se onnistuu, kun teet PHP-filun, joka lataa kuvan GET-parametrin perusteella. Silloin on helppo linkittää kuviin img-tageistakin.

Rams [16.06.2005 21:08:16]

#

Tempfile -> mitenkähän tuo käytännössä menisi? En ole mikään php guru joten ei ihmeisiin pysty ;)

tuomas [16.06.2005 21:30:49]

#

no tee esimerkiksi nayta.php tiedosto palvelimellesi jonka sisältö olisi tämä:

<?php

  if($_GET['kuva'] != "") {
     if( file_exists("/polku/" . $_GET['kuva'] . ".jpg") ) {
         echo '<img src="/polku/" . $_GET['kuva'] . ".jpg">';
     } else { die("Kuvaa ei löydy!"); }
  } else { die("Parametri puuttuu."); }

?>

sitten viritys toimisi näin:
www.osote.com/nayta.php?kuva=testi

Tempfile [16.06.2005 21:32:44]

#

Tuo tuomaksen koodi ei toimi, sehän tulostaa linkin kuvaan kun pitäisi tulostaa itse kuva. Se täytyy hoitaa tällä tavalla:

<?php
$filu = $_GET['kuva'];
$kuva = imagecreatefromjpeg("polku_kuvakansioon/".$filu.".jpg");

header("Content-type: image/jpeg");
imagejpeg($kuva);
imagedestroy($kuva);
?>

Tuota ei kuitenkaan pidä käyttää sellaisenaan, muokkaa polut tilanteeseen sopivaksi ja lisää tarkistuksia tuohon $_GET-muuttujan luokse(esim. tuomaksen koodissa olevat, riippuu tilanteesta) Minulta on turha täysin valmista koodia odottaa.

Kuvan näyttö tapahtuu niin, että tallennat tuon filun johonkin kansioon, jota .htaccess ei suojaa. Sitten muutat sivun linkit muotoon:

<img src="phpskripti.php?kuva=filun_nimi" />

Rams [16.06.2005 21:57:41]

#

Hmm, nyt on sellainen tilanne että sivulle luetaan php:llä html-koodia ja tuossa koodissa on img -tägit jotka koettavat lukea kuvia tuosta salatusta kansiosta.

Menee vähän hankalaksi edellisten viestien kautta alkaa hommaa tekemään..

Olisiko muita ajatuksia miten homma hoituisi?

Tempfile [16.06.2005 22:04:05]

#

Teet vain tuon minun esimerkkini mukaisesti, muutat ne skriptin tuottamien img-tagien src:t vain osoittamaan tuohon PHP-filuun kuten edellä näytin.

Gulle [16.06.2005 22:17:58]

#

Rams kirjoitti:

.... Onnistuuko mitenkään htaccess -tiedostoilla ...

Kokeile laittaa siihen alikansioon:

RewriteEngine Off

Rams [16.06.2005 22:26:31]

#

Ei toiminut RewriteEngine Off.
Kysyy tunnuksia.

Tempfile -> kiitos neuvosta mutta ei pysty toteuttamaan tavallasi.

Jotain muuta vielä täytyisi kokeilla..


Sivun alkuun

Vastaus

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

Tietoa sivustosta