15-minutong sesyon: magbasa nang 3 minuto, mag-trace nang 3, mag-eksperimento nang 7, at sagutan ang check nang 2. Maglaan ng dagdag na oras kung kailangan.
Gumamit ng parameterized query sa database value at argument array sa process. Hindi ginagawang ligtas para sa SQL o shell ng HTML escaping ang string. Tukuyin ang interpreter sa bawat boundary at gamitin ang data interface. Hindi kailangang magpatakbo ng attack payload sa ibang service.
Pagsasanay at ebidensiya: Hulaan ang halimbawa o iguhit ang pagbabago ng state. Baguhin ang isang palagay, subukan ang hangganan, at itala ang aktuwal na resulta. Ipaliwanag kung ano ang hindi napapatunayan ng maliit na modelo tungkol sa production system.
import sqlite3
db=sqlite3.connect(":memory:")
db.execute("create table notes(value text)")
value="A student's note"
db.execute("insert into notes values (?)",(value,))
print(db.execute("select value from notes").fetchone()[0])
Inaasahang resulta: A student's note
Itala ang hula, aktuwal na resulta, at dahilan ng pagtugma o pagkakaiba. Sinusukat ng completion check ang pag-unawa; hinahasa ng practice task ang kasanayan.