Kirjoittaja Aihe: [ ratkaistu ] Syöteturvallisuus, php-koodia input text -kentästä?  (Luettu 2005 kertaa)

teele

  • Käyttäjä
  • Viestejä: 851
    • Profiili
Onko olemassa mahdollisuus, että esimerkiksi html-koodista

Koodia: [Valitse]
<p>
Osallistujanumero
<input type = "Text" value ="testisyöte" name = "testisyötekenttä" onfocus="this$
</p>


lähetetään php $POSTille arvona vaikka php-koodia ja sitten, kun käytetään $POSTin arvoa esimerkiksi näin

Koodia: [Valitse]
muuttuja = $POST['testisyötekenttä']

suoritetaankin kentän arvona ollut php-koodi.

Jos on mahdollista, mikä olisi oikea tapa estää se.

« Viimeksi muokattu: 13.12.20 - klo:09.00 kirjoittanut teele »

nm

  • Käyttäjä
  • Viestejä: 16425
    • Profiili
Vs: Syöteturvallisuus, php-koodia input text -kentästä?
« Vastaus #1 : 12.12.20 - klo:13.43 »
PHP ei suorita lomakkeen kautta luettua POST-merkkijonoa koodina. Se pitäisi tehdä erikseen eval-funktiolla, jota kannattaa välttää koodissa, jos suinkin mahdollista.

Tietokantoja käytettäessä on oltava varuillaan SQL-injektioiden osalta, eli käyttäjän syöttämiä merkkijonoja tai muuta epäluotettavasta lähteestä tulevaa dataa ei pidä sijoittaa sellaisenaan SQL-lausekkeeseen, vaan lauseke kannattaa muodostaa esimerkiksi prepared statementin ja siihen sidottujen muuttujien avulla.

Katso: https://www.php.net/manual/en/security.database.sql-injection.php

teele

  • Käyttäjä
  • Viestejä: 851
    • Profiili
Vs: Syöteturvallisuus, php-koodia input text -kentästä?
« Vastaus #2 : 13.12.20 - klo:08.59 »
 
Kiitos, oli selkeä vastaus  :)