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
1164
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
Miehille kysymys
Onko näin, että jos miestä kiinnostaa tarpeeksi niin hän kyllä ottaa vaikka riskin pakeista ja osoittaa sen kiinnostukse1374053- 891989
Olen tosi outo....
Päättelen palstajuttujen perusteella mitä mieltä minun kaipauksen kohde minusta on. Joskus kuvittelen tänne selkeitä tap151881Kotkalainen Demari Riku Pirinen vangittu Saksassa lapsipornosta
https://www.kymensanomat.fi/paikalliset/8081054 Kotkalainen Demari Riku Pirinen vangittu Saksassa lapsipornon hallussapi571507Haluaisin jo
Myöntää nämä tunteet sinulle face to face. En uskalla vain nolata itseäni enää. Enkä pysty elämäänkin näiden kanssa jos541442Ylen uutiset Haapaveden yt:stä.
Olipas kamalaa luettavaa kaupungin irtisanomisista. Työttömiä lisää 10 tai enempikin( Mieluskylän opettajat). Muuttavat1331395VENÄJÄ muuttanut tänään ydinasetroktiinia
Venäjän presidentti Vladimir Putin hyväksyi tiistaina päivitetyn ydinasedoktriinin, kertoo uutistoimisto Reuters. Sen mu991312- 741216
- 951087
Hommaatko kinkkua jouluksi?
Itse tein pakastimeen n. 3Kg:n murekkeen sienillä ja juustokuorrutuksella. Voihan se olla, että jonkun pienen, valmiin k1181060