Неверная ссылка возвращается после очистки (очистки).Android

Форум для тех, кто программирует под Android
Anonymous
Неверная ссылка возвращается после очистки (очистки).

Сообщение Anonymous »

Я загружаю URL-адреса с различными намерениями (у меня есть глубокие ссылки или ссылки, отправленные уведомлениями FCM), а затем открываю их в WebView.
Я внедрил Jsoup для защиты своего приложения от XSS-атак. .
Реализация:

Код: Выделить всё

@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
String intentUrl = loadIntentUrl(intent);
if (intentUrl != null) {
String safeUrl = Jsoup.clean(intentUrl, Safelist.basic());
Log.d("onNewIntent", "safeUrl: " + safeUrl);
webView.loadUrl(safeUrl);
}
}
Но я получаю действительный URL-адрес глубокой ссылки (пример: https://my.appName.com/?activate=users&userId=523332)
Но Jsoup.clean(intentUrl, Safelist.basic()) преобразует его в

Код: Выделить всё

https://my.appName.com/?activate=users&userId=523332
И отправка этого в WebView вызывает некоторые проблемы у клиента. Есть ли способ устранить это преобразование, чтобы Jsoup правильно обрабатывал его, предотвращая при этом XSS-атаку?
Я мог бы использовать .replaceAll("&", "&") но не уверен, что это будет хорошим динамическим решением (если Jsoup может искажать некоторые другие параметры в разных ссылках)

Подробнее здесь: https://stackoverflow.com/questions/792 ... on-cleanup

Вернуться в «Android»