Tietoturva

Vierailijalla on mahdollisuus lisätä oma viesti sivulle.

Mitä kaikkea pitäisi ottaa huomioon, kun käyttäjän teksti lisätään sivulle? Esim poistaa html-tagit? Mitä vielä?

Mikä on helpoin tapa tehdä se?
3386
Äänestä

Muut lukivat myös

Vastaukset 3

Vanhimmat

Jos lisäät tekstitiedostoon, niin html () merkit muuttaa koodikieles tai joskin (oli sillä hieno nimikin joku entryteetti tai jotain, viisaampi kertokoon)

Muuta ei tartte poistaa, paitsi jos käytät jotain tiettyä merkkiä viestin erottimena, niin sekin pitää poistaa.
1|viesti
2|viesti

tossa tapauksessa | merkkit pois.


Uudenvuoden kunniaksi saat pienen toimivan esimerkin




Poista tosta FILE_APPEND jos haluat, että uusi viesti korvaa vanhan.

Tohon lähetät viestit normaalilla post formilla (viesti känttä tallentuu esimerkis)

Äänestä
  • Entiteetti.

    Poista ehdottomasti myös mahdollisuus kirjoittaa SQL-lauseita. Tuolle taisi olla jokin oma funktio PHP:ssä. Laiska voisi korvata html-muotoilusta vaikkapa sulut entiteetillä.

    Äänestä

  • --- kirjoitti:

    Entiteetti.

    Poista ehdottomasti myös mahdollisuus kirjoittaa SQL-lauseita. Tuolle taisi olla jokin oma funktio PHP:ssä. Laiska voisi korvata html-muotoilusta vaikkapa sulut entiteetillä.

    Kiitoksia, muistin sentään sinnepäin ;)

    On sille oma functio vaikkapa http://fi.php.net/mysql_escape_string jos mysliä käyttelee muillekkin kannoille löytyy oma, ei sulkuja tarvitse korvata (eikä sulkujen korvaaminen/poistaminen edes riitä tekemään kyselystä turvallista), mikäli syötteen laittaa '' merkkien väliin ja käyttää tota aikasempaa functiota, niin käyttäjä ei pääse tekemään alikyselyitä eikä muutakaan pahaa tietokantaan, mikäli koodi ei sitä muualta mahdollista.

    Yleisempia virheitä on, ettei käyttäjän syötettä tarkisteta ollenkaan, vaan oletetaan sen olevan halutunlaista, jos tarvitaan numeroita, niin silloin tarkistetaan, että syöte on vain numeroita jne...

    Esim poistamis kyselyssä pääsee tuhomaan tiedot, mikäli se on tyyliä ....... WHERE id = $_GET['id']
    Tossa ei edes auta toi aikasemmin mainittu functiokaan, sillä tohon voi syöttää 1 and id > 1 jolloin kannasta poistetaankin kaikki.

    ...WHERE id = intval($_GET['id']) on sitävastoin turvallinen, kun toi hyväksyy vain numeroita (korvaa muutkuin numerot nollalla), varmuuden vuoksi kannattaa lisätä LIMIT 1 jolloin kerralla voi poistaa vain yhden, mikäli ei useampia tarvitse poistaa.

    Äänestä

Kommentoi aloitusta


aapuva kirjoitti:

Vierailijalla on mahdollisuus lisätä oma viesti sivulle.

Mitä kaikkea pitäisi ottaa huomioon, kun käyttäjän teksti lisätään sivulle? Esim poistaa html-tagit? Mitä vielä?

Mikä on helpoin tapa tehdä se?

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu