2007-02-23から1日間の記事一覧
よく見てほしいのは,name='$name' ではなく, name=$name になっている点だ. ここでは,$name は,あらかじめ文字列型(すなわち,「自然言語型」)として宣言されているものとする.すると, $name部分には文字列型が入る=そこは文字列として構文解析さ…
それじゃあ,「文字列のふりをしたオブジェクト」というのを導入してみよう. Query q="select * from project where name=$name"; 左辺のqは文字列ではなくて,Query型 (SQLのクエリをあらわすオブジェクト)である 右辺の文字列をQuery型のオブジェクト …
よくこんなコードをみかける query="select * from project where name='$name'"; とか request="param=$param&code=$code"; とか file="/tmp/$proc.txt"; とか. SQLインジェクションとか,コードインジェクション,XSSとか,この手の脆弱性の根本は 「本来…