Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: chmod, nyt ei vaan uppoa jakeluun :D

E.K.Virtanen [14.09.2006 14:56:54]

#

Nyt tarvitaan rautalankaa.

gFTP ohjelmassani kun valitsen tiedoston jota chmodata niin eteeni putkahtaa valikko.

(Special) SUID, SGID, Sticky
(User) Read, Write, Execute
(Group) Read, Write, Execute
(Other) Read, Write, Execute

Tiedostoilla lue.php ja luettava.txt on sama User ja Group joten jos laitan luettava.txt tiedostolle
(User) r,w,
(Group) r,w,
(Other) en mitään
niin eikö lue.php filen ainakin minun järkeni mukaan pitäisi tällöin pystyä lukemaan luettava.txt tiedosto mutta jos selaimella painaa suoraan ko. tiedostoon niin luku ei onnistu, eikä myöskään jos jostain muusta palvelimesta koettaa ko. tiedostoa lukea?

Vaan nyt luku onnistuu sekä selaimella että toiselta palvelimelta php:n tiedostonluku komennoilla.

Ideana siis on että lue.php voisi luettava.txt filen lukea mutta ei muut.

folio [14.09.2006 15:47:22]

#

Todennäköisesti php:ta ajetaan samalla käyttäjätunnuksella kuin http-serveriä.

Mitäs tarkoitat tiedostonluku komennolla?

E.K.Virtanen [14.09.2006 16:10:17]

#

Siis omalla palvelimellani on samassa hakemistossa sekä lue.php että luettava.txt.
lue.php filen ainoa tarkoitus onkin juuri lukea luettava.txt taulukkoon ja tulostaa se näytölle.

Nyt kuitenkin pystyn suoraan selaimella menemään www.omapalvelin.com/luettava.txt ja se näkyy kaikkine sisältöinensä. Myös www.toinenpalvelin.com palvelimelle sijoitettu minakinluen.php pystyy lukemaan luettava.txt filen palvelimeltani taulukkoon.

Nyt haen chmodia jolla lue.php pystyy luettava.txt filen lukemaan taulukkoon ja tulostamaan sen mutta selaimella tai sillä toiselle palvelimelle sijoitetulle minakinluen.php:llä ei sitä pystyisi lukemaan.

Toisaalta sain eräänlaisen ratkaisun ongelmaan kun muutin luettava.txt filen php muotoon, pistin niin että header vaikuttaa jos ei oikeaa tunnusta (muuttuja) tule mukana kun luettava.php fileä luetaan.

<?php
      if ($muuttuja != "salainen_juttu") {
             header("HTTP/1.0 404 Not Found");
      }

$muuttuja = jotain
$muuttuja2 = jotain
jne
jne
?>

Ennen nuo muuttujat siis saivat arvonsa siitä luettava.txt tiedostosta mutta tämä nyt kertomani taitaa olla paljon fiksumpi tapa hoitaa homma?

folio [14.09.2006 16:23:00]

#

Eli tarkoitin sitä, että jos php:lla saa avattua tiedoston, sen saa avattua myös internetttiselaimella. Vaihtoehto on ajaa php cgi:nä (eli omalla käyttäjätunnuksella), jolloin voit antaa tiedostolle esim. 600 oikeudet ja silloin se ei näy muille. Tämä vaan ei aina ole mahdollista.

Tärkeitä tietoja sisältävät tiedostot ehdottomasti pois www-kotihakemistosta. Tuo php pääte on myös ihan toimiva ratkaisu.

Vastaus

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

Tietoa sivustosta