質問: CakePHPのSanitizeが廃止になるそうなので、代わりにネイティブPHPで使えるライブラリを探しています。 今までCakePHPしか触ったことがないので、何が定番で信用できるのかわからないので教えて下さい。
回答: `Sanitize::html()`の代わりに、PHP標準の`htmlspecialchars()`が使えます。タグの除去であれば、`stripTags()`という同名の関数がこれもPHP標準で存在します。 `escape()`ですが、もし使っていたとしたら、それはSQLを文字列で組み立てているか、さもなくばエスケープが不要な場面で誤って不必要なエスケープをしているということです。滅多なことでは`escape()`が必要になる場面はありません。それを理解して使っているのでない限り、使い方が間違っています。 どう間違っているかわからない、または、Sanitizeの別の関数`clean()`を使っていたら、なぜエスケープが必要なのか、というところをおさらいされた方が良いでしょう。「体系的に学ぶ安全なWebアプリケーションの作り方」という本を紹介しますので、通読されることをおすすめします。 残りの関数は簡単な文字列置換なので、必要なら自力で実装できるでしょう。