Я работаю над приложением, которое в основном написано на родном языке и поддерживает Ice Cream Sandwich. Однако мне нужно добавить несколько WebView. Существует много дискуссий о безопасности WebView, и когда я использую setJavaScriptEnabled(true), он выдает мне предупреждение: «Использование setJavaScriptEnabled может привести к XSS-уязвимостям в вашем приложении, внимательно изучите».
Просто хочу быть очень осторожным, используя WebView и setJavaScriptEnable(true). Я следовал советам по безопасности Android WebView и предложения. Но контрольного списка лучших практик нет.
Что я сделал до сих пор:
- Загружайте только доверенный контент в WebView. Либо из локального html, либо из нашей серверной части.
Перехватывать все запросы от WebView, реализуя
webView.setWebViewClient(new WebViewClient() { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { // magic return true; } });
- Убедитесь, что все серверные запросы используют https и отправляются только на наш сервер.
- Предупреждение об обнаружении SSL.
- Контрольная сумма проверяет локальные файлы html/JavaScript.
- Минимизировать файлы JavaScript
- Обновить поставщика безопасности для защиты от эксплойтов SSL
Существуют также некоторые другие средства защиты, не предназначенные специально для WebView, такие как шифрование сообщений и проверка взломанного джейла и т. д.
Есть ли что-то еще, что мне не хватает? Насколько безопасно мое приложение?
Спасибо