与えられた型のパラメータを持つメソッドにアドバイスをする方法はありますか?私は入力フィルタリングが必要なクラスのためにこれを使用するつもりです。一例として、AspectJの与えられた型の任意のパラメータにアドバイスを配置
:
@Filtered
class Unsafe {
public void doStuff (String input) { ... }
public void doMoreStuff (String input, int value, String name) { ... }
}
は私が安全にその内容を置き換えることができるように、このクラスのメソッドのいずれかの文字列パラメータに適用されるアドバイスを、書きたい、予防するために(バージョンをエスケープ例えばSQLインジェクション)。
このようなポイントカットを書くことはできますか?
とPATTERN_FOR_METHODS_THAT_TAKES_IN_SQL_STRINGを交換してくださいはい、私はあまりにも、データベース層の上にそれを行うことができ、それはまだクロス・サイド・スクリプティング・インジェクションからの私の妨げにはなりません。したがって、私は最初にウェブからの入力を受け入れるファサードでこれをやりたかったのです。トリッキー。 –
@ Unnfilteredのようにフィルタリングされていない各メソッドでアノテーションを配置して、そのアノテーションのアスペクトを書き込むことはできますが、ターゲットとするパラメータを知る必要があります。 –