Ubuntu Suomen keskustelualueet

Ubuntun käyttö => Ohjelmointi, palvelimet ja muu edistyneempi käyttö => Aiheen aloitti: teele - 26.12.20 - klo:12.42

Otsikko: [ ratkaistu ] Apache, php ja datan suojaaminen
Kirjoitti: teele - 26.12.20 - klo:12.42
Jos tekee tavallisen virtuaali-isännöidyn php-sivun apachella ja sivun käyttämät tiedot ovat samassa hakemistossa tai tämän alihakemistossa kuin php-sivukin, miten voisi järjestää niin, että tiedot ovat näkyvissä ainoastaan php-sivun kautta.

Tietoihin on luku- ja kirjoitusoikeus www-datalla, koska php-sivulta halutaan lisätä ja muuttaa vanhoja tietoja.

Mutta php-sivun käyttäjä voi muuttaa ainoastaan omia tietojaan, koska hän tietää oman salasanansa, joka kysytään php-sivulla.

Tarkoituksena olisi, että tiedot.data ei olisi vapaasti saatavilla  esimerkiksi curlilla tai wgetillä tms. Miten pitäisi kertoa apachelle, että vain php-sivun kautta saa päästä käsiksi tiedot.data -tiedostoon?
Otsikko: Vs: Apache, php ja datan suojaaminen
Kirjoitti: kamara - 26.12.20 - klo:14.22
En ole varma toimiiko, mutta muistelin joskus toimineen.

Tee tideostosta asetus-/piilotiedosto eli laita tiedostonimen alkamaan '.':llä.

Sen jälkeen kannattaa testata pystyykö kyseisen tiedoston lukea wget:llä. Muisteleisin joskus testanneeni, ettei pysty. Toki alihakemistonkin voi laittaa alkamaan pisteellä, ja pitäisi tulla sama efekti.
Otsikko: Vs: Apache, php ja datan suojaaminen
Kirjoitti: _Pete_ - 26.12.20 - klo:17.15
Siten että pitää kyseistä phpn: data.tiedostoa kokonaan pois sellaisesta hakemistosta mitä apache tarjoilee.

Eli jos on esimerkiksi tämä hakemisto jonka apache tarjoaa virtuaal domainina:

/var/www/projekti/html/

niin tallentaa php:stä data tänne eli kokonaan sen ulkopuolelle mitä apache tarjoaa

/var/www/projekti/data/

Kun tekee näin voi olla varma että data hakemisto sisältöineen ei voi mitenkään päätyä apachen kautta ulkomaailmaan.

Otsikko: Vs: Apache, php ja datan suojaaminen
Kirjoitti: teele - 27.12.20 - klo:11.37

Kokeilut jatkuvat, vasta . -vaihtoehto on ollut kokeilussa ja näyttää, että

Koodia: [Valitse]
https://virtuaalidomaini/projekti/.data/tiedosto.txt

Koodia: [Valitse]
https://virtuaalidomaini/projekti/data/tiedosto.txt

näkyvät selaimella ihan yhtä hyvin eli apache ei kieltäydy lähettämästä pisteellä merkittyä tiedostoa.

Voisiko apachelle kertoa, että vain palvelimen omasta osoitteesta eli omasta php-koodista tulevia tiedostopyyntöjä hyväksytään. Netistä olen muistaakseni joskus lukenut, että tämä voisi olla mahdollista, mutta en ole onnistunut löytämään asiaa uudestaan.

Otsikko: Vs: Apache, php ja datan suojaaminen
Kirjoitti: nm - 27.12.20 - klo:12.01
Tavallinen, turvallinen ja helppo ratkaisu on datatiedostojen sijoittaminen johonkin muualle kuin sivuston hakemistoon, kuten _Pete_ neuvoi.
Otsikko: Vs: Apache, php ja datan suojaaminen
Kirjoitti: teele - 27.12.20 - klo:18.21

Nyt siiretty datatiedostot virtuaalidomainin juuren yläpuolelta lähtevään hakemistopolkuun.

Virtuaalidomainin juuressa näkyvät vain php-tiedostot. Toivottavasti meni oikein ...

Kiitos vastauksista :)