XPath
エスケープを無くせばOK、と勘違いして失敗した事例 XPath 1.0
昨日のブログでは.NETにはSQLのエスケープAPIが無いので、セキュリティ対策として本末転倒な状態になっている事を紹介しました。もう一つXPath 1.0の失敗例を紹介します。
XPathクエリ(2)
XPathクエリ(1)の続きです。 現在のPHPのXPathクエリの問題はXPath 1.0である事です。通常の仕様書であれば特殊文字のある文字列の場合はエスケープ方法やエスケープAPIが定義されています。エスケープ方法が定義されていなければ「特殊文字を入力することができない」からです。エスケープ方法が無い場合は「エスケープが必要ないAPI」を用意すべきです…
XPathクエリ(1)
XPathはXML文書をクエリして要素を取り出す仕組みです。XML文書を検索して結果を返します。 SimpleXMLにはxpathメソッドが用意されています。