Joomla:Community Builderのフィルタ(filter)について

Community Builderのフィルタ機能で、日本語を設定するとうまく抽出されない。

検索にヒットしない原因は、
フィルタの文字列をs(`cb_memo` =’%u30B6′)という形式で保存している
この%u30B6を数値文字参照(& #12470;のように)変換していて、
この数値文字でSQLを検索しているのでデータが該当しない

数値文字参照に変換しているのは
comprofiler.class.phpのutf8RawUrlDecode関数

●修正方法
■エスケープしている箇所
admin.comprofiler.html.php

moveOption3関数

if(condition!=” && condition!=null) condition=”‘”+escape(condition)+”‘”;

if(condition!=” && condition!=null) condition=”‘”+(condition)+”‘”;
と、escapeをとってしまえばうまくいく

この修正により、エスケープしなくなりますので、 sqlで利用できないような文字列は使用できない

>確認したいんですが、修正により、エスケープされなくなるというのは、セキュリティ上は、あまり良くないってことでしょうか??

いえ。管理画面なので、セキュリティは大丈夫と思います。

参考:http://joomla.bamboo-waves.com/content/view/10/11/lang,english/