我正在尝试将“通过 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 教程,我知道这可以引入他们提到的 3 个风险,它们是
失去对客户端应用程序更改的控制。
在客户端系统上执行任意代码。
向第三方披露或泄露敏感信息。
但是,我也明白,如果我要使用 Google 身份验证,我必须信任 Google,并假设他们不会在这里做任何坏事。
有没有更好的方法在我的代码中执行此操作,以便 ZAP 不会警告我?
可以忽略此警报吗?