Wie kann ich mit AOP den Konstruktor von File, FileReader, FileWriter, FileInputStream und FileOutputStream abfangen?

Ich möchte den Konstruktor von File, FileReader, FileWriter, FileInputStream und FileOutputStream abfangen und verhindern, dass Dateinamen ".." (um Pfadüberquerungsangriffe zu verhindern) oder "\ 0" (um Dateinamennullzeichenangriffe zu verhindern) enthalten.

Ich habe noch eine offene Frage zur Vorgehensweise mit SecurityManager, aber noch hat niemand darauf geantwortet. Daher hatte ich gehofft, dass diese alternative Methode funktioniert.

Dies ist für eine Frühlingswebapp auf Kater.

Ich weiß, dass ich dies manuell tun kann, indem ich meine eigenen SafeFile-, SafeFileReader- usw. Klassen erstelle und den Code dahingehend ändere, dass diese stattdessen verwendet werden. Es gibt jedoch 960 Stellen in unserem Code, in denen die Konstruktoren für diese Objekte verwendet werden. Daher würde ich dies lieber vermeiden, es sei denn, dies ist der einzige Weg.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage