. Я пытаюсь внедрить «Аутентификацию через Google» в простое веб-приложение, над которым я работаю. Для этого я использовал следующий код.Ошибка безопасности. Страница содержит один или несколько файлов сценариев из стороннего домена.
<html>
<head>
<title> Home </title>
<script src = "https://apis.google.com/js/platform.js?onload=onLoadCallback" ></script>
<script>
function changePage() {
if (!gapi.auth2.getAuthInstance().isSignedIn.get()) {
window.location.href = "login.jsp";
}
}
</script>
<script>
gapi.load('auth2', function() {
gapi.auth2.init().then(changePage);
});
</script>
<script>
</script>
<script>
var user;
function signOut() {
var auth2 = gapi.auth2.getAuthInstance();
user = auth2.signOut().then(changePage);
}
;
</script>
<meta name="google-signin-client_id" content="xxxxxxxxxxxx">
</head>
<body style="background-color:azure;">
<div class="vertcal-center">
<div class="myclass">
<h1>Welcome to home page
</h1>
<button type="button" class="button" onclick="signOut()">Log Out</button>
</div>
</div>
</body>
</html>
Однако, когда я провел анализ ZAP на моем коде, он дает мне Низкое уведомление о рисках, говоря "The page includes one or more script files from a third-party domain"
. Он указывает на следующую строку в качестве строки с проблемой.
<script src = "https://apis.google.com/js/platform.js?onload=onLoadCallback" ></script>
Я имею в виду OWASP tutorial, описывающую об этой проблеме, и я понимаю, что это может ввести 3 риски, которые они упомянули, которые
Утрата контроля над изменениями в клиентском приложении.
Выполнение произвольного кода в клиентских системах.
Разглашение или утечка конфиденциальной информации третьим сторонам.
Однако я также понимаю, что если я собираюсь использовать аутентификацию Google, я должен буду доверять Google и предположить, что они не будут делать ничего плохого здесь.
Есть ли лучший способ сделать это в моем коде, чтобы ZAP не предупредил меня?
Можно ли игнорировать это предупреждение?
Есть ли проблемы с безопасностью, вызванные наличием внешнего javascript, который будет предотвращен с использованием вышеупомянутого? Или они просто избегают предупреждения ZAP? –
Атрибут «целостность» гарантирует, что сценарий не был изменен - если это тогда, значение целостности будет неправильным, и ваш браузер не должен загружать скрипт. –