- ID da verificação
- 2982198e-86b8-42c9-b6f2-c008e23ed866Concluído
- URL enviado:
- https://amsterdaam.nl:2053/slashRedirecionado
- Relatório concluído:
Links · 0 encontrado(s)
Os links de saída identificados na página
Variáveis JavaScript · 29 encontrada(s)
Variáveis JavaScript globais carregadas no objeto janela de uma página são variáveis declaradas fora das funções e acessíveis de qualquer lugar no código dentro do escopo atual
Nome | Tipo |
---|---|
onbeforetoggle | object |
documentPictureInPicture | object |
onscrollend | object |
Vue | function |
moment | function |
__core-js_shared__ | object |
antd | object |
axios | function |
Qs | object |
sizeFormat | function |
Mensagens de registro do console · 2 encontrada(s)
Mensagens registradas no console web
Tipo | Categoria | Log |
---|---|---|
verbose | dom |
|
error | network |
|
HTML
O corpo HTML bruto da página
<!DOCTYPE html><html lang="en"><head>
<meta charset="UTF-8">
<meta name="renderer" content="webkit">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="/slash/assets/[email protected]/antd.min.css">
<link rel="stylesheet" href="/slash/assets/[email protected]/theme-chalk/display.css">
<link rel="stylesheet" href="/slash/assets/css/custom.css?1.8.7">
<style>
[v-cloak] {
display: none;
}
@font-face {
font-display: swap;
font-family: 'Vazirmatn';
font-style: normal;
font-weight: 400;
src: url('/slash/assets/Vazirmatn-UI-NL-Regular.woff2') format('woff2');
unicode-range: U+0600-06FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE80-FEFC, U+0030-0039;
}
body {
font-family: -apple-system, BlinkMacSystemFont, 'Vazirmatn', 'Segoe UI', 'PingFang SC', 'Hiragino Sans GB',
'Microsoft YaHei', 'Helvetica Neue', Helvetica, Arial, sans-serif, 'Apple Color Emoji',
'Segoe UI Emoji', 'Segoe UI Symbol';
}
</style>
<title>amsterdaam.nl-Welcome</title>
</head>
<body><div id="message" class="light"></div>
<style>
h1 {
text-align: center;
margin: 20px 0 50px 0;
}
.ant-btn,
.ant-input {
height: 50px;
border-radius: 30px;
}
.ant-input-group-addon {
border-radius: 0 30px 30px 0;
width: 50px;
font-size: 18px;
}
.ant-input-affix-wrapper .ant-input-prefix {
left: 23px;
}
.ant-input-affix-wrapper .ant-input:not(:first-child) {
padding-left: 50px;
}
.centered {
display: flex;
text-align: center;
align-items: center;
justify-content: center;
width: 100%;
}
.title {
font-size: 32px;
font-weight: bold;
}
#app {
overflow: hidden;
}
#login {
background-color: #fff;
border-radius: 2rem;
padding: 3rem;
transition: all 0.3s;
}
#login:hover {
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.09);
}
.wave {
opacity: 0.6;
position: absolute;
bottom: 40%;
left: 50%;
width: 6000px;
height: 6000px;
background-color: rgba(0, 135, 113, 0.08);
margin-left: -3000px;
transform-origin: 50% 48%;
border-radius: 46%;
pointer-events: none;
rotate: 125deg;
}
.wave2 {
opacity: 0.4;
rotate: 70deg;
}
.wave3 {
opacity: 0.2;
rotate: 90deg;
}
.under {
background-color: #dce9f5;
}
.dark .wave {
background: rgba(14, 73, 181, 0.2);
}
.dark .under {
background-color: #101828;
}
.dark #login {
background-color: #151f31;
}
.dark h1 {
color: rgba(255, 255, 255, 0.85);
}
.ant-form-item {
margin-bottom: 16px;
}
</style>
<section class="ant-layout light" id="app"><main class="under ant-layout-content" style="min-height: 0px;"><div class="wave"></div> <div class="wave wave2"></div> <div class="wave wave3"></div> <div class="ant-row-flex ant-row-flex-center ant-row-flex-middle" style="height: 100%; overflow: auto;"><div class="ant-col ant-col-xs-22 ant-col-sm-20 ant-col-md-14 ant-col-lg-10 ant-col-xl-8 ant-col-xxl-6" id="login" style="margin: 3rem 0px;"><div class="ant-row-flex ant-row-flex-center"><div class="ant-col"><h2 class="title" style="text-align: center;">Welcome</h2></div></div> <div class="ant-row-flex ant-row-flex-center"><div class="ant-col ant-col-24"><form class="ant-form ant-form-horizontal"><div class="ant-row ant-form-item"><div class="ant-col ant-form-item-control-wrapper"><div class="ant-form-item-control"><span class="ant-form-item-children"><span class="ant-input-affix-wrapper"><span class="ant-input-prefix"><i aria-label="icon: user" class="anticon anticon-user" style="font-size: 16px;"><svg viewBox="64 64 896 896" data-icon="user" width="1em" height="1em" fill="currentColor" aria-hidden="true" focusable="false" class=""><path d="M858.5 763.6a374 374 0 0 0-80.6-119.5 375.63 375.63 0 0 0-119.5-80.6c-.4-.2-.8-.3-1.2-.5C719.5 518 760 444.7 760 362c0-137-111-248-248-248S264 225 264 362c0 82.7 40.5 156 102.8 201.1-.4.2-.8.3-1.2.5-44.8 18.9-85 46-119.5 80.6a375.63 375.63 0 0 0-80.6 119.5A371.7 371.7 0 0 0 136 901.8a8 8 0 0 0 8 8.2h60c4.4 0 7.9-3.5 8-7.8 2-77.2 33-149.5 87.8-204.3 56.7-56.7 132-87.9 212.2-87.9s155.5 31.2 212.2 87.9C779 752.7 810 825 812 902.2c.1 4.4 3.6 7.8 8 7.8h60a8 8 0 0 0 8-8.2c-1-47.8-10.9-94.3-29.5-138.2zM512 534c-45.9 0-89.1-17.9-121.6-50.4S340 407.9 340 362c0-45.9 17.9-89.1 50.4-121.6S466.1 190 512 190s89.1 17.9 121.6 50.4S684 316.1 684 362c0 45.9-17.9 89.1-50.4 121.6S557.9 534 512 534z"></path></svg></i></span><input placeholder="Username" type="text" autofocus="autofocus" class="ant-input"></span></span><!----></div></div></div> <div class="ant-row ant-form-item"><div class="ant-col ant-form-item-control-wrapper"><div class="ant-form-item-control"><span class="ant-form-item-children"><span class="ant-input-group-wrapper"><span class="ant-input-wrapper ant-input-group"><span class="ant-input-affix-wrapper"><span class="ant-input-prefix"><i aria-label="icon: lock" class="anticon anticon-lock" style="font-size: 16px;"><svg viewBox="64 64 896 896" data-icon="lock" width="1em" height="1em" fill="currentColor" aria-hidden="true" focusable="false" class=""><path d="M832 464h-68V240c0-70.7-57.3-128-128-128H388c-70.7 0-128 57.3-128 128v224h-68c-17.7 0-32 14.3-32 32v384c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V496c0-17.7-14.3-32-32-32zM332 240c0-30.9 25.1-56 56-56h248c30.9 0 56 25.1 56 56v224H332V240zm460 600H232V536h560v304zM484 701v53c0 4.4 3.6 8 8 8h40c4.4 0 8-3.6 8-8v-53a48.01 48.01 0 1 0-56 0z"></path></svg></i></span><input placeholder="Password" type="password" class="ant-input"></span><span class="ant-input-group-addon"><i aria-label="icon: eye" tabindex="-1" class="anticon anticon-eye" style="font-size: 16px;"><svg viewBox="64 64 896 896" data-icon="eye" width="1em" height="1em" fill="currentColor" aria-hidden="true" focusable="false" class=""><path d="M942.2 486.2C847.4 286.5 704.1 186 512 186c-192.2 0-335.4 100.5-430.2 300.3a60.3 60.3 0 0 0 0 51.5C176.6 737.5 319.9 838 512 838c192.2 0 335.4-100.5 430.2-300.3 7.7-16.2 7.7-35 0-51.5zM512 766c-161.3 0-279.4-81.8-362.7-254C232.6 339.8 350.7 258 512 258c161.3 0 279.4 81.8 362.7 254C791.5 684.2 673.4 766 512 766zm-4-430c-97.2 0-176 78.8-176 176s78.8 176 176 176 176-78.8 176-176-78.8-176-176-176zm0 288c-61.9 0-112-50.1-112-112s50.1-112 112-112 112 50.1 112 112-50.1 112-112 112z"></path></svg></i></span></span></span></span><!----></div></div></div> <div class="ant-row ant-form-item"><div class="ant-col ant-form-item-control-wrapper"><div class="ant-form-item-control"><span class="ant-form-item-children"><div class="centered ant-row"><button type="button" class="ant-btn ant-btn-primary" style="font-weight: bold; width: 100%; display: inline-block;"><span>Log In</span></button></div></span><!----></div></div></div> <div class="ant-row ant-form-item"><div class="ant-col ant-form-item-control-wrapper"><div class="ant-form-item-control"><span class="ant-form-item-children"><div class="centered ant-row"><div class="ant-col ant-col-24"><div tabindex="0" class="ant-select ant-select-enabled" style="width: 150px;"><div role="combobox" aria-autocomplete="list" aria-haspopup="true" aria-controls="a8f24d6b-679c-4cc0-82a4-c374b4f170c2" class="ant-select-selection ant-select-selection--single"><div class="ant-select-selection__rendered"><div title="" class="ant-select-selection-selected-value" style="display: block; opacity: 1;"><span role="img" aria-label="l.name">🇺🇸</span>
<span>English</span></div></div><span unselectable="on" class="ant-select-arrow" style="user-select: none;"><i aria-label="icon: down" class="anticon anticon-down ant-select-arrow-icon"><svg viewBox="64 64 896 896" data-icon="down" width="1em" height="1em" fill="currentColor" aria-hidden="true" focusable="false" class=""><path d="M884 256h-75c-5.1 0-9.9 2.5-12.9 6.6L512 654.2 227.9 262.6c-3-4.1-7.8-6.6-12.9-6.6h-75c-6.5 0-10.3 7.4-6.5 12.7l352.6 486.1c12.8 17.6 39 17.6 51.7 0l352.6-486.1c3.9-5.3.1-12.7-6.4-12.7z"></path></svg></i></span></div></div></div></div></span><!----></div></div></div> <div class="ant-row ant-form-item"><div class="ant-col ant-form-item-control-wrapper"><div class="ant-form-item-control"><span class="ant-form-item-children"><div class="centered ant-row"><div class="ant-col"><i aria-label="icon: bulb" class="anticon anticon-bulb"><svg viewBox="64 64 896 896" data-icon="bulb" width="1em" height="1em" fill="currentColor" aria-hidden="true" focusable="false" class=""><path d="M632 888H392c-4.4 0-8 3.6-8 8v32c0 17.7 14.3 32 32 32h192c17.7 0 32-14.3 32-32v-32c0-4.4-3.6-8-8-8zM512 64c-181.1 0-328 146.9-328 328 0 121.4 66 227.4 164 284.1V792c0 17.7 14.3 32 32 32h264c17.7 0 32-14.3 32-32V676.1c98-56.7 164-162.7 164-284.1 0-181.1-146.9-328-328-328zm127.9 549.8L604 634.6V752H420V634.6l-35.9-20.8C305.4 568.3 256 484.5 256 392c0-141.4 114.6-256 256-256s256 114.6 256 256c0 92.5-49.4 176.3-128.1 221.8z"></path></svg></i>
</div> <div class="ant-col"><button type="button" role="switch" class="ant-switch ant-switch-small"><span class="ant-switch-inner"></span></button></div></div></span><!----></div></div></div></form></div></div></div></div></main></section>
<script src="/slash/assets/vue/vue.min.js?1.8.7"></script>
<script src="/slash/assets/moment/moment.min.js"></script>
<script src="/slash/assets/[email protected]/antd.min.js"></script>
<script src="/slash/assets/axios/axios.min.js?1.8.7"></script>
<script src="/slash/assets/qs/qs.min.js"></script>
<script src="/slash/assets/js/axios-init.js"></script>
<script src="/slash/assets/js/util/common.js?1.8.7"></script>
<script src="/slash/assets/js/util/date-util.js?1.8.7"></script>
<script src="/slash/assets/js/util/utils.js?1.8.7"></script>
<script src="/slash/assets/js/langs.js"></script>
<script>
const basePath = '\/slash\/';
axios.defaults.baseURL = basePath;
</script>
<script>
function createThemeSwitcher() {
const isDarkTheme = localStorage.getItem('dark-mode') === 'true';
const theme = isDarkTheme ? 'dark' : 'light';
return {
isDarkTheme,
get currentTheme() {
return this.isDarkTheme ? 'dark' : 'light';
},
toggleTheme() {
this.isDarkTheme = !this.isDarkTheme;
localStorage.setItem('dark-mode', this.isDarkTheme);
document.getElementById('message').className = themeSwitcher.currentTheme;
},
};
}
const themeSwitcher = createThemeSwitcher();
Vue.component('theme-switch', {
props: [],
template: `
<template>
<a-switch size="small" :default-checked="themeSwitcher.isDarkTheme"
@change="themeSwitcher.toggleTheme()">
</a-switch>
</template>
`,
data: () => ({ themeSwitcher }),
mounted() {
this.$message.config({getContainer: () => document.getElementById('message')});
document.getElementById('message').className = themeSwitcher.currentTheme;
}
});
</script>
<script>
Vue.component('password-input', {
props: ["title", "value", "placeholder", "icon"],
template: `
<template>
<a-input :value="value" :type="showPassword ? 'text' : 'password'"
:placeholder="placeholder"
@input="$emit('input', $event.target.value)">
<template v-if="icon" #prefix>
<a-icon :type="icon" style="font-size: 16px;" />
</template>
<template #addonAfter>
<a-icon :type="showPassword ? 'eye-invisible' : 'eye'"
@click="toggleShowPassword"
style="font-size: 16px;" />
</template>
</a-input>
</template>
`,
data() {
return {
showPassword: false,
};
},
methods: {
toggleShowPassword() {
this.showPassword = !this.showPassword;
},
},
});
</script>
<script>
class User {
constructor() {
this.username = "";
this.password = "";
}
}
const app = new Vue({
delimiters: ['[[', ']]'],
el: '#app',
data: {
themeSwitcher,
loading: false,
user: new User(),
lang: ""
},
created() {
this.lang = getLang();
},
methods: {
async login() {
this.loading = true;
const msg = await HttpUtil.post('/login', this.user);
this.loading = false;
if (msg.success) {
location.href = basePath + 'xui/';
}
}
},
});
</script>
</body></html>