четверг, 18 июля 2013 г.

Android: warning "SetJavaScriptEnabled"

Используя WebView есть риск получить варнинг setJavaScriptEnabled.

        WebView webView = (WebView) findViewById(R.id.web_view);
        webView.getSettings().setJavaScriptEnabled(true);

Это предупреждение о потенциальной XSS уязвимости.
Для решения этой проблемы можно отключить JS (by default значение равно false), или, если вы уверены в том, что эксплуатация XSS уязвимостей невозможна (например, вы отображаете свой HTML контент), можно "задавить" предупреждение аннотацией на класс или метод:

        @SuppressLint("SetJavaScriptEnabled")

Или комментарием для IDE (проверено в IntellijIdea/AndroidStudio):

        //noinspection AndroidLintSetJavaScriptEnabled
        webView.getSettings().setJavaScriptEnabled(true);