Kysymyksessä on PHP, Unix-serveri ja salasanatiedosto. Avaan tiedoston käskyllä fopen ("/home/rasmus/file.txt", "a"); ja se onnistuu vain, jos kaikilla ryhmillä on sekä luku että kirjoitusoikedet tiedostoon. Jos tietää tiedoston nimen, sen lukeminen käy keltä hyvänsä kirjoittamalla vain web-hakemiston peräänja tiedoston nimen.
Pystyykö joku asiaton tätä nimeä mitenkään selvittämään tai miten voisi määrittää tiedoston niin, että sitä ei voi lukea kuin sitä käsittelevällä skriptillä? Liitettuani hakemistoon index.html -sivun ei ainakaan hakemistoa pysty enään selaamaan.
Pystyykö joku asiaton tätä nimeä mitenkään selvittämään tai miten voisi määrittää tiedoston niin, että sitä ei voi lukea kuin sitä käsittelevällä skriptillä? Liitettuani hakemistoon index.html -sivun ei ainakaan hakemistoa pysty enään selaamaan.
Vastaukset 2
Vanhimmat
Ensin teet hakemiston mihin laitat nämä tiedostot, esim: /home/rasmus/include/ ja sinne tulee myöskin tämä file.txt.
.htaccess-tiedosto näyttää tältä:
AuthUserFile "/home/rasmus/include/.htpasswd"
AuthType Basic
AuthGroupFile None
AuthName "Nimeä pistetään tähän"
require valid-user
Sitten teet .htpassword-tiedoston, sinne ei välttämättä tarvii väsätä oikeita käyttäjä/salasanatietoja, mutta hyvä ne on tehdä kuntoon.
.htpasswd-tiedosto näyttää melkein tältä:
kayttaja:o/kryptattusalasana
Lisätietoja:
http://httpd.apache.org/docs/programs/htpasswd.html
http://faq.clever.net/htaccess.htm
Se scripti suorittaa ohjelmia sinun oikeuksillasi, että chmod 700 file.txt pitäis kyllä riittää sille oikeuksiksi, eihän tuossa oo muuten mitään järkeä.