Olen muun ohjelmoinnin ohessa joutunut/saanut koodata myös php:tä ja päätin vihdoin kirjata muutaman mielestäni oleellisen asian eräänlaiseksi muisti- ja linkkilistaksi, josko tuosta olisi hyötyä myös muille:
http://www.talaakso.fi/suomi/ohjelmointi/php/php-perusasiat.php
En ole mikään alan guru, joten myös tekemistäni virheistä voi oppia :)
PHP-ohjelmoinnin perusasioita
6
515
Vastaukset
- mikäpäs ettei
Ihan hieno asia.
Muutama ehdotus tulee tästä lonkalta vaan mieleen:
- koska PHP-tulkki ei välttämättä ihan aina toimi (se voi olla kaatunut) niin kriittinen koodi kannattaa ehkä inkludaamalla sijoittaa muualle kuin siihen tiedostoon jota ensisijaisesti kutsutaan niin ettei kriittinen koodi koskaan näy selaimessa (silloinkaan kun PHP-tulkki on poissa pelistä)
- voi olla hyvä ajatus sijoittaa inkludatut PHP-tiedostot web-juurihakemiston "yläpuolelle" niin että niihin ei pääse ulkopuolelta
- hakemiston lukitseva tiedosto kuten index.html - vaikka tyhjänäkin - olisi hyvä olla jokaisessa hakemistossa koska se estää hakemiston sisällön tutkimisen suoraan selaimella
- print_r on kovin hyödyllinen kehittelyssä ja debuggauksessa taulukoiden rakenteen ja sisällön tulostukseen
- session käyttö- talaakso
Hei!
Kiitos paljon noista erittäin hyödyllisistä ja opettavaisista kommenteistasi!
Olen jonkin verran askarrellut myös noiden palvelimelle tiedostoja generoivien ratkaisujen parissa, joten kirjaisin samalla hieman asioita noista ylös ennen kuin ne ihan unohtuvat:
Thumbnails-kuvien generoimisesta:
http://www.talaakso.fi/suomi/ohjelmointi/php/php-thumbs.php
PDF-tiedoston generoimisesta:
http://www.talaakso.fi/suomi/ohjelmointi/php/php-pdf.php - juuret kohti taivasta?
Tämä ehkä selventää mitä tarkoitin webjuurta ylemmällä hakemistolla
YLEMPI HAKEMISTO
|
--- JEMMA
| |
| kriittiset kooditiedostot
|
--- WEBJUURI
|
webjuuren alla näkyvät tiedostot
Idea on tässä se että käyttäjän selaimessa voivat näkyä suoraan vain webjuuren alla olevat tiedostot. Käyttäjä ei pääse selaimella webjuuren yläpuolelle, eikä siten pääse myöskään hakemistoon JEMMA. Jos PHP-tulkki on toiminnassa, voi se kuitenkin käyttää myös hakemistossa JEMMA olevia skriptejä. Kun kriittinen koodi on hakemistossa JEMMA niin se ei missään tilanteessa voi näkyä käyttäjän selaimessa. - juuret kohti taivasta?
juuret kohti taivasta? kirjoitti:
Tämä ehkä selventää mitä tarkoitin webjuurta ylemmällä hakemistolla
YLEMPI HAKEMISTO
|
--- JEMMA
| |
| kriittiset kooditiedostot
|
--- WEBJUURI
|
webjuuren alla näkyvät tiedostot
Idea on tässä se että käyttäjän selaimessa voivat näkyä suoraan vain webjuuren alla olevat tiedostot. Käyttäjä ei pääse selaimella webjuuren yläpuolelle, eikä siten pääse myöskään hakemistoon JEMMA. Jos PHP-tulkki on toiminnassa, voi se kuitenkin käyttää myös hakemistossa JEMMA olevia skriptejä. Kun kriittinen koodi on hakemistossa JEMMA niin se ei missään tilanteessa voi näkyä käyttäjän selaimessa.Minä tyhmä yritin käyttää tuossa yllä välilyöntejä havainnollistamaan tasoja. No eihän ne näy. Kaksi välilyöntiä on täällä sama kuin yksi välilyönti. Pistämpä uusiksi pisteiden kanssa:
YLEMPI HAKEMISTO
|
--- JEMMA
| ......|
| ......kriittiset kooditiedostot
|
--- WEBJUURI
......|
...... webjuuren alla näkyvät tiedostot - talaakso
juuret kohti taivasta? kirjoitti:
Minä tyhmä yritin käyttää tuossa yllä välilyöntejä havainnollistamaan tasoja. No eihän ne näy. Kaksi välilyöntiä on täällä sama kuin yksi välilyönti. Pistämpä uusiksi pisteiden kanssa:
YLEMPI HAKEMISTO
|
--- JEMMA
| ......|
| ......kriittiset kooditiedostot
|
--- WEBJUURI
......|
...... webjuuren alla näkyvät tiedostotKiitos vielä noista kommenteistasi, laitan ne oman sivuni loppuun jonkinlaiseen "kommentteja"-osioon, jos et tuota kiellä.
Muotoilen nyt tuon yllä olevan hakemisto asian vielä "tavallisella unix/linux-kielellä":
Monesti nettisivujen palvelimelle logatessa ollaan omassa juurihakemistossa, jossa on nettisivuja
varten olemassa hakemisto (aina ei näin ole)
public_html
Yleensä tuon public_html-hakemiston ja sen alihakemistojen sisältö on "yleistä riistaa" eli näkyvät netissä.
Jos siis haluaa tehdä php/shell-skriptejä, jotka hoitavat esim. tilapäistiedostojen poistoa tai sisältävät arkaluoteista tietoa esim. tietokantojen loggaustietoja niin nämä olisi tietoturvasyistä syytä sijoittaa tuon public_html (tai vastaavan hakemiston) yläpuolelle.
Esim. juurihakemistossa hakemistoon bin
bin
public_html
Lisäksi unix/linux-ympäristössä on aina syytä olla tietoinen tiedostojen/hakemistojen oikeuksien määräämisestä chmod-komenolla.
Lisätietoja:
man chmod
Jos kuitenkin päättää lisätä nettisivuilleen arkaluonteista materiaalia tai ns. jäsenmateriaalia, niin aloittelijoille (kuten itselleni) näkisin tuon monen palveluntarjoajan tukeman salasanasuojattujen kansioiden käytön (htpasswd) järkevänä systeeminä. Omiin ex. tempore käyttäjätunnus/salasana viritelmiin kun usein jää etenkin alottelijoilla pahojakin tietoturva-aukkoja. Ja toisaalta miksi keksiä pyörää uudestaan...
Tosin en tiedä onko tuo salasanasuojettujen kansioiden systeemi sitten "täysin" aukoton systeemi, mutta varmasti turvallisempi kuin useimmat nopeasti kyhätyt systeemit. - HNInfo
talaakso kirjoitti:
Kiitos vielä noista kommenteistasi, laitan ne oman sivuni loppuun jonkinlaiseen "kommentteja"-osioon, jos et tuota kiellä.
Muotoilen nyt tuon yllä olevan hakemisto asian vielä "tavallisella unix/linux-kielellä":
Monesti nettisivujen palvelimelle logatessa ollaan omassa juurihakemistossa, jossa on nettisivuja
varten olemassa hakemisto (aina ei näin ole)
public_html
Yleensä tuon public_html-hakemiston ja sen alihakemistojen sisältö on "yleistä riistaa" eli näkyvät netissä.
Jos siis haluaa tehdä php/shell-skriptejä, jotka hoitavat esim. tilapäistiedostojen poistoa tai sisältävät arkaluoteista tietoa esim. tietokantojen loggaustietoja niin nämä olisi tietoturvasyistä syytä sijoittaa tuon public_html (tai vastaavan hakemiston) yläpuolelle.
Esim. juurihakemistossa hakemistoon bin
bin
public_html
Lisäksi unix/linux-ympäristössä on aina syytä olla tietoinen tiedostojen/hakemistojen oikeuksien määräämisestä chmod-komenolla.
Lisätietoja:
man chmod
Jos kuitenkin päättää lisätä nettisivuilleen arkaluonteista materiaalia tai ns. jäsenmateriaalia, niin aloittelijoille (kuten itselleni) näkisin tuon monen palveluntarjoajan tukeman salasanasuojattujen kansioiden käytön (htpasswd) järkevänä systeeminä. Omiin ex. tempore käyttäjätunnus/salasana viritelmiin kun usein jää etenkin alottelijoilla pahojakin tietoturva-aukkoja. Ja toisaalta miksi keksiä pyörää uudestaan...
Tosin en tiedä onko tuo salasanasuojettujen kansioiden systeemi sitten "täysin" aukoton systeemi, mutta varmasti turvallisempi kuin useimmat nopeasti kyhätyt systeemit.Mitä itse olen käyttänyt niin PHP-tiedostoissa jos käyttää esim. tietokantojen tietoja sisältäviä salasanatiedostoja, niin kannattaa tehdä esim. näin linux/unix -järjestelmässä:
Jos www-juuri on /home/user/public_html, sijoittaa tiedoston paikkaan /home/user/.(random), jossa (random) on satunnainen merkkijono, joka ei ole arvattavissa normaalisti. Piste hakemiston edessä piiloittaa sen järjestelmässä normaalista tiedostolistauksesta.
Itse PHP-scriptissä hakee liittää tiedoston käyttöön komennolla @include('/home/user/.random/.random'); jossa tiedostonnimikin on satunnaisesti luotu, samalla tapaa kuin hakemiston nimikin.
@ merkki estää tiedoston liittämisessä tapahtuvien virheiden näkymisen selaimessa, jos virheet on asetettu näkymään.
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Trump muka öljyn takia Venezuelaan? Pelkää mustamaalausta
Kertokaapa mistä tuollainen uutisankka on saanut alkunsta? Näyttäkääpä ne alkuperäiset lähteet, minä en löytänyt mitään19217985Kun Arman Alizad puolusti hiihtäjä Vilma Nissilää sanomalla
"älä välitä sekopäistä Vilma", ja kun siitä kerrottiin täällä, niin sekopäinen mukasuvaitsevainen teki siitä valituksen903825Lataus pakkaskelissä
En olisi koskaan ostanut sähköautoa jos olisin tajunnut että ne eivät lataa pakkasissa suurteholatauksella vaan istut tu351993Martinalta vahva viesti
"Suuret unelmat venyttävät sinua, pelottavat vähän ja vievät mukavuusalueen ulkopuolelle. Juuri siellä kasvu tapahtuu. J2801540Miksei Trump ole kiinnostunut Suomen valloittamisesta?
Täällähän on enemmän turvetta kuin Norjalla öljyä. Eikö Ttump ole turvenuija?681522Akateemikko Martti Koskenniemi vertaa Trumpia Putiniin
"-Suomalaisena on syytä olla huolissaan siitä, että Yhdysvallat näin vahvistaa 1800-luvun alkupuolella julistamansa etup1651442Jos mies olet oikeasti...?
Kiinnostunut... Pyydä mut kunnolla treffeille ja laita itsesi likoon. En voi antaa sydäntä jos sinä olet epävarma ja eh1151334Esko Eerikäinen paljastaa järkyttävän muiston lapsuudesta - Isä löytyi alastomana slummista
Esko Eerikäisen tausta on monikulttuurinen, hän muutti vain 10-vuotiaana yksin kotoaan Kolumbiasta isovanhempiensa luo S141314Temutatko ?
Ostatko kiinalaisista verkkokaupoista halpaa tavaraa tai vaatteita ja miksi? Siksi että on kiva ostaa kun halvalla saa?1191226- 811111