в вашем конструкторе класса baseadapter попробуйте инициализировать LayoutInflater, обычно я предпочитаю этот путь,
public ClassBaseAdapter(Context context,ArrayList<Integer> listLoanAmount) {
this.context = context;
this.listLoanAmount = listLoanAmount;
this.layoutInflater = LayoutInflater.from(context);
}
в верхней части класса создает переменную LayoutInflater, надеюсь, что это поможет вам
Проверка как URI - хорошее начало. После этого проверьте, что scheme
является опцией, указанной в белом списке, например http
/ https
. После этого убедитесь, что вы его кодируете перед его выходом (см. Ссылку OWASP). В основном, вы делаете именно то, что вы делаете для любой кодировки атрибутов html, за исключением того, что вам также нужно знать о вредоносных программах.
Замечания: javascript:alert(1);
(схема проверки), https://example.com?xss=" onclick=alert(1);//
(выход выхода).
См.:
Что касается второй части вашего вопроса, как только пользователь нажимает на ссылку и идет на новый сайт, это уже не XSS на вашем сайте. Предоставление пользователям возможности добавления любого URL-адреса может быть опасным, даже если это не уязвимость XSS. Они могут по-прежнему ссылаться на вредоносные сайты, незаконный контент и т. Д. Для них вы можете утверждать, что API репутации сайта , такой как Google, предоставляет , но даже это не является пуленепробиваемым.