両方の長所/短所は何ですか?
ユーザーがウェブサイトに投稿したコメントをフィルター処理するには、どれを使用しますか?
ksesは7年間更新されていません。これで、すぐに写真から削除できます。
ただし、本当の問題は、ユーザーコメントでHTML入力を受け入れる必要があるかどうかです。
そうしない場合、問題の正しい解決策はhtmlspecialchars
、コメントをHTMLとしてエコーする前に使用することであり、それだけです。これ以上は必要ありません。
ユーザーがコメントをフォーマットできるようにする必要がある場合でも、広く使用されており、タスクに十分すぎるほどのさまざまな代替マークアップ言語(BBCode、MarkDown、Textile-これはSOが入力時に使用するものです)があります。
HTML入力を受け入れなくてもウィキペディアを構築できることを考慮してください。
私に助言した良い記事は次のとおりです。
ほとんどすべてのプロジェクトで HTMLPurifier を使用しています。これは、キャッシングを使用するとパフォーマンスに大きな影響がないためです。
最近、Drupal XSS フィルターのポートを作成しました。Ksesの上級版です。 https://github.com/ymakux/xss
$filter = new Filter();
// List of allowed protocols
$allowed_protocols = array('http', 'ftp', 'mailto');
// List of allowed tags you want to keep in text
$allowed_tags = array('a', 'i', 'b', 'em', 'span', 'strong', 'ul', 'ol', 'li', 'table', 'tr', 'td', 'thead', 'th', 'tbody');
$filter->addAllowedProtocols($allowed_protocols);
$filter->addAllowedTags($allowed_tags);
// Parse string
$filtered_string = $filter->xss($string);