Muutama kysymys PHP:n turvallisuudesta, SQL injektiot ja mitä näitä onkin.
1) Kannattaako data varmistaa vaarattomaksi sisäänkirjoittamisen yhteydessä ennen tietokantaan tallettamista vai vasta tietokannasta käytettäessä? Yksi testailija kommentoi, että ei tarkisteta tietokantaan kirjoitettaessa. Miksi, jos tulostus- ja muita käyttökohteita on lukemattomia. Paitsi että näkisi kuka kirjoittelee puuta heinää tai yrittää jotakin kyseenalaista.
2) Mikä olisi selkein tapa varmistaa, että merkkijono on turvallisesti tietokantaan kirjoitettavissa? Olen löytänyt monenlaisia esimerkkejä, mutta en ole varma, mikä olisi paras.
3) Mitä muita asioita liittyy PHP:n turvallisuuteen. Käytössä on viimeisin versio. Tarkoitus on tehdä harrastukseen liittyvien havaintojen kirjaamiseen liittyvä tietokanta, josta saa erilaisia tulosteita. Käyttäjät kirjautuvat ja salasanojen kryptaus on tehty. Haluan varmistaa turvallisuus asioita ennen julkaisemista. Sovellus on sinänsä aika yksinkertainen. Uuden tiedon kirjaus, itse kirjatun tiedon korjaus tai poisto ja erilaiset tulosteet.
Kiitos kommenteista.
PHP ja turvallisuus
6
1236
Vastaukset
Kaikki mitä HTTP:llä tulee sisään pitää tarkistaa. Sen lisäksi jos selain ajaa käyttöliittymäosaa, siinä sitten yleensä lisää tarkistuksia vaikka samoja tarkistettaisiin jo PHP:llä.
Eli tarkistus tulisi silloin ennen kuin kantaan menee mitään. SQL injektio kun tarkoittaa sitä, että annetaan vaikka käsky tietokannalle niin se pitää tarkastaa ettei siellä joku jekkuile laittamalla nimeksi ; DROP customers- Anonyymi
Kiitos vastauksesta!
Jos on vaikka muuttujassa $place tarkoitus kerätä tietokantaan paikkakunta. Miten se tarkastettaisiin ennen tietokantaan talletusta?
Numerotietoja ja päivämääriä ei tarvinne tarkistaa, kun muuta ei voi syöttää. Sähköpostiosoite ilmeisesti pitää tarkistaa, vaikka sekin vaatii jonkin [email protected] muotoisen merkkijonon.- Anonyymi
Paikkakunta valittaisiin käyttöliittymästä jostain listasta ja sama lista sitten backendin puolelle, että on sitä mitä olettaa olevankin.
Sähköpostiosoitteita voi tarkastaa regexillä: https://en.wikipedia.org/wiki/Regular_expression
Ihan kaikki käyttöliittymästä tulevat asiat pitää tarkistaa koska kaikki käyttöliittymästä lähtevät viestit ovat muokattavissa.
- Anonyymi
Lista oli hyvä ajatus, vaikka lisää ylläpitotyötä, varmistaa samalla ettei tule kirjoitusvirheitä. Muutenkin hyvä vinkki, Vielä kaipaan kuinka tarkistetaan vapaateksti, jolle on varattu 256 merkkiä pitkä merkkitila tietokannasta. Ääkköset täytyy sallia, samoin melkein kaikki ascii-merkit, ei siis vain kirjaimet ja numerot. < ja > sekä ; voisi olla esim kiellettyjä. Ehkä /-merkki pitäisi sallia. Jos siis tarkistetaan merkki kerrallaan? Vai onko joku muu tapa kätevämpi? Luin jostain htmlchr ...
- Anonyymi
Käy läpi silmukassa kaikki kielletyt merkit strposin avulla.
- Anonyymi
Ei vastausta. Voisiko joku laittaa vaikka linkin?
Ketjusta on poistettu 1 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Kalajoen hukkuneet pojat olivat tummaihoisia
Jälleen kerran, hukkuneet tai heikon uimataidon vuoksi vaaraan joutuneet olivat muita kuin suomalaisia. Turha viisastell3156807Kysymys muille miehille
Onko teille varattu nainen ongelma? Mikään muu naisessa ei töki kun se että hän on varattu. Kamppailen houkutuksen kanss663872- 2073096
Kohta katson sun kuvaasi
ja päästän ajatukseni liitämään. Jo kuvasi näkeminen rauhoittaa, ja pistää hyrräämään vähän muutakin. Ihanan kaunista sa242797- 741922
- 1461682
Ahneus iski Fazeriin, suklaalevy kutistuu 180 grammaan
Kun mikään ei riitä. Shrinkflaatio. Mitä isot (Marabou) edellä, sitä pienet (Fazer) perässä. Pienikin voi siis olla a2101672Minkä asian haluaisit muuttaa kaivatussasi?
Mikä kaivattusi luonteessa tai ulkonäössä ärsyttää sua?1201528Jos kaivattusi on perääntynyt lähestyessäsi
jossain tilanteessa, ymmärrätkö miksi hän saattoi tehdä sen?1631521- 891408