Как я могу использовать AOP для перехвата конструктора File, FileReader, FileWriter, FileInputStream и FileOutputStream?
Я хочу перехватить конструктор File, FileReader, FileWriter, FileInputStream и FileOutputStream и не допустить, чтобы в именах файлов содержалось «..» (для предотвращения атак путем обхода пути) или «\ 0» (для предотвращения атак с пустыми символами в имени файла).
У меня есть еще один открытый вопрос о том, как сделать то же самое с помощью SecurityManager, но никто еще не ответил на него, поэтому я надеялся, что этот альтернативный метод будет работать.
Это для весеннего веб-приложения на tomcat.
Я знаю, что мог бы сделать это вручную, создав собственные классы SafeFile, SafeFileReader и т. Д. И изменив код, чтобы использовать их вместо этого. Однако в нашем коде 960 мест, в которых используются конструкторы для этих объектов, поэтому я бы предпочел этого избегать, если только это не единственный способ.