Como posso usar o AOP para interceptar o construtor de File, FileReader, FileWriter, FileInputStream e FileOutputStream?

Quero interceptar o construtor de File, FileReader, FileWriter, FileInputStream e FileOutputStream e impedir que os nomes de arquivos contenham ".." (para impedir ataques de passagem do caminho) ou "\ 0" (para impedir ataques de caracteres nulos do nome do arquivo).

Eu tenho outra pergunta em aberto sobre como fazer a mesma coisa usando o SecurityManager, mas ninguém respondeu ainda, então eu esperava que esse método alternativo funcionasse.

Isso é para um webapp de primavera no tomcat.

Eu sei que eu poderia fazer isso manualmente criando minhas próprias classes SafeFile, SafeFileReader etc., e modificando o código para usá-las. No entanto, existem 960 lugares em nosso código que usam os construtores para esses objetos, portanto, prefiro evitar isso, a menos que seja a única maneira.

questionAnswers(2)

yourAnswerToTheQuestion