Я разрабатываю приложение JavaEE с использованием контейнера EJB и EJB.JavaEE - ввод кода RMI
Пусть у меня есть класс Student:
class Student{
private int id;
private String resume;
public void clearXss(){
///some logic to clear resume from js scripts
}
}
У меня есть отдельный клиент и сервер JavaEE. Клиент подключается через RMI к контейнеру EJB. Клиент передает объекты класса Student.
Мой вопрос: безопасно ли вызывать clearXss
по методу объекта или необходимо сделать внешний метод? Я имею в виду:
class MyBean{
private void save(Student student){...}
public void saveStudent(Student student){
sudent.clearXss();
save(student);
}
}
против
class MyBean{
private void save(Student student){...}
private String purifyXss(String string){...}
public void saveStudent(Student student){
student.setResume(purifyXss(student.getResume()))
save(student);
}
}
То, что я боюсь, чтобы вызвать методы защиты объектов, которые мы получаем от ненадежного клиента. Вот почему это главный вопрос безопасности.
У меня нет хорошего ответа на этот вопрос, но я подозреваю, что во всех случаях небезопасно иметь ненадежный клиент RMI, особенно если вы включите удаленную загрузку классов из них. – eckes
@eckes Спасибо за ваше время! –