Help
RSS
API
Feed
Maltego
Contact
Domain > delivery.spoleto.com.br
×
More information on this domain is in
AlienVault OTX
Is this malicious?
Yes
No
DNS Resolutions
Date
IP Address
2020-04-23
13.227.47.195
(
ClassC
)
2025-08-04
20.206.176.0
(
ClassC
)
Port 443
HTTP/1.1 200 OKContent-Length: 30791Content-Type: text/htmlDate: Mon, 04 Aug 2025 05:30:14 GMTServer: nginxAccept-Ranges: bytesCache-Control: max-age60ETag: 688b7e38-7847Expires: Mon, 04 Aug 2025 05:31:14 GMTLast-Modified: Thu, 31 Jul 2025 14:31:20 GMTVary: Accept-EncodingContent-Security-Policy: frame-ancestors none;X-Frame-Options: SAMEORIGIN !DOCTYPE html>html translateno>head> meta charsetutf-8 /> meta http-equivcache-control contentno-cache, must-revalidate, post-check0, pre-check0> meta http-equivcache-control contentmax-age0 /> meta http-equivcache-control contentno-store /> meta http-equivexpires content-1 /> meta http-equivexpires contentTue, 01 Jan 1980 1:00:00 GMT /> meta http-equivpragma contentno-cache /> meta http-equivX-Frame-Options contentdeny> title>/title> base href/ /> meta nameviewport contentviewport-fitcover, widthdevice-width, initial-scale1.0, minimum-scale1.0, maximum-scale1.0, user-scalableno /> meta nameformat-detection contenttelephoneno /> meta namemsapplication-tap-highlight contentno /> !--Login social--> meta namegoogle-signin-client_id content694295447302-782o5lm41dv16gn3rfv3b71fgohud6tj.apps.googleusercontent.com> script srchttps://apis.google.com/js/platform.js async defer>/script> !-- link relicon typeimage/png hrefassets/icon/favicon.png /> --> link hrefhttps://fonts.googleapis.com/css2?familyManrope:wght@300;400;500;600;700&displayswap relstylesheet> !-- add to homescreen for ios --> meta nameapple-mobile-web-app-capable contentyes /> meta nameapple-mobile-web-app-status-bar-style contentblack /> script> if (window.location.href.includes(papricaburger.com)) { const script document.createElement(script); script.type text/javascript; script.text ` !function(f,b,e,v,n,t,s) {if(f.fbq)return;nf.fbqfunction(){n.callMethod? n.callMethod.apply(n,arguments):n.queue.push(arguments)}; if(!f._fbq)f._fbqn;n.pushn;n.loaded!0;n.version2.0; n.queue;tb.createElement(e);t.async!0; t.srcv;sb.getElementsByTagName(e)0; s.parentNode.insertBefore(t,s)}(window, document,script, https://connect.facebook.net/en_US/fbevents.js); fbq(init, 1085620839609026); fbq(track, PageView); `; document.head.appendChild(script); const noscript document.createElement(noscript); // Define o conteúdo HTML dentro do noscript> noscript.innerHTML ` img height1 width1 styledisplay:none srchttps://www.facebook.com/tr?id1085620839609026&evPageView&noscript1 /> ` ; // Adiciona o noscript> ao body> ou outro local desejado document.body.appendChild(noscript); } /script> !-- Temporário, vai virar um parâmetro da marca --> script> window.sigInApple function (){ AppleID.auth.init({ clientId : com.spoleto.serviceauth, scope : name email, redirectURI : https://pwafronthomolog.azurewebsites.net, usePopup : true }); AppleID.auth.signIn().then((o)>{ console.log(o); }) } document.addEventListener(AppleIDSignInOnSuccess, (event) > { // Handle successful response. console.log(success, event.detail.data); }); // Listen for authorization failures. document.addEventListener(AppleIDSignInOnFailure, (event) > { // Handle error. console.log(event.detail.error); }); /script> style> #install-button, #update-button { background-color: transparent; color: var(--corPrimaria); border: none; font-weight: 600; cursor: pointer; } #update-button { bottom: 60px; } #wrapper-install-button, #wrapper-update-button { display: none; align-items: center; justify-content: space-between; flex-direction: row; gap: 10px; height: 60px; position: fixed; bottom: 70px; right: 20px; left: 20px; background-color: #404040; color: wheat; border-radius: 6px; padding: 8px 16px; cursor: pointer; z-index: 100; box-shadow: 2px 2px 8px #00000047; } #close-button-update, #close-button-install { display: block; padding: 4px; border-radius: 50px; background-color: transparent; } /style>/head>body> script> window.addEventListener(load, () > { var urlHost document.location.host var url https://app-gcom-publicacao-homolog.azurewebsites.net/ + Settings/DominioAgregado?domin + urlHost fetch(url, { method: GET, headers: { Content-Type: application/json, }, }) .then((response) > response.ok ? response.json(): null) .then((response) > { loadAndCreateManifest(response.Data.manifest) }) }) /script> div stylewidth: 100%; height: 100%; margin: 16px; display: flex; justify-content: center; align-items: center;> h2>Carregando.../h2> /div> div idwrapper-install-button> div styledisplay: flex; flex-direction: row; gap: 8px; justify-content: space-between;> span stylefont-size: 14px; font-weight: 300; color: white; line-height: 16px;> Instale o App e comece a usar! /span> button idinstall-button> span stylefont-size: 14px; line-height: 16px;>Instalar/span> /button> /div> button idclose-button-install> svg xmlnshttp://www.w3.org/2000/svg width18 height18 viewBox0 0 24 24 fillnone stroke#ffffff stroke-width2.25 stroke-linecapround stroke-linejoinround classlucide lucide-x > path dM18 6 6 18 /> path dm6 6 12 12 /> /svg> /button> /div> div idwrapper-update-button> div styledisplay: flex; flex-direction: row; gap: 8px;> span stylefont-size: 14px; font-weight: 300; color: white; line-height: 16px;> Uma nova versão está disponível! /span> button idupdate-button> span stylefont-size: 14px; line-height: 16px;>Recarregar/span> /button> /div> button idclose-button-update> svg xmlnshttp://www.w3.org/2000/svg width18 height18 viewBox0 0 24 24 fillnone stroke#ffffff stroke-width2.25 stroke-linecapround stroke-linejoinround classlucide lucide-x > path dM18 6 6 18 /> path dm6 6 12 12 /> /svg> /button> /div> script> function loadAndCreateManifest(manifest) { if(!manifest) return; try { console.log(try load manifest) // Converter o objeto manifest em uma string JSON const manifestJson JSON.stringify(manifest) // Criar um blob do manifest JSON const blob new Blob(manifestJson, { type: application/json }) // Criar uma URL para o blob const manifestURL URL.createObjectURL(blob) // Criar e adicionar a tag link> com o manifest no head const link document.createElement(link) link.rel manifest link.href manifestURL document.head.appendChild(link) } catch (error) { console.error(Erro ao carregar o JSON:, error) } } /script> script> // loadAndCreateManifest() let deferredPrompt let swregistration const installButtonWrap document.getElementById( wrapper-install-button ) const installButton document.getElementById(install-button) const updateButtonWrap document.getElementById(wrapper-update-button) const updateButton document.getElementById(update-button) const closeButtonInstall document.getElementById(close-button-install) const closeButtonUpdate document.getElementById(close-button-update) let updateWebsiteAvailable false window.addEventListener(beforeinstallprompt, (e) > { e.preventDefault() deferredPrompt e installButtonWrap.style.display flex }) closeButtonInstall.addEventListener(click, () > { installButtonWrap.style.display none }) closeButtonUpdate.addEventListener(click, () > { updateButtonWrap.style.display none }) installButton.addEventListener(click, async () > { deferredPrompt.prompt() const { outcome } await deferredPrompt.userChoice if (outcome accepted) { installButtonWrap.style.display none console.log(Usuário aceitou a instalação do PWA) } else { console.log(Usuário rejeitou a instalação do PWA) } deferredPrompt null }) if (serviceWorker in navigator) { window.addEventListener(load, () > { navigator.serviceWorker.addEventListener(message, (event) > { if (event.data.action newVersionAvailableInCache) { saveVersion(); updateButtonWrap.style.display flex installButtonWrap.style.display none } if (event.data.action reload) { setTimeout(() > { window.location.reload() }, 1000) } }) navigator.serviceWorker .register(/service-worker.js) .then((registration) > { swregistration registration serviceWorkerRegistered true setInterval(() > { registration.update() }, 2 * 60 * 1000) }) .catch((err) > { console.log(ServiceWorker registro falhou: , err) }) navigator.serviceWorker.getRegistration().then((registration) > { if (registration) { if (registration.waiting) { registration.waiting.postMessage({ type: SKIP_WAITING }) } } }) }) } updateButton.addEventListener(click, () > { if (navigator.serviceWorker.controller) { navigator.serviceWorker.controller.postMessage({ action: updatedByCache, }) } else { setTimeout(() > { window.location.reload() }, 1000) } }) const CACHE_NAME pwa-cache-v1 const urlsToCache /index.html, /main.js, /polyfills-dom.js, /polyfills.js, /runtime~main.js, /runtime~polyfills.js, /runtime~styles.js, /styles.js // Função para gerar a versão atual no formato ano.mes.dia.utc_hora.utc_minuto function getCurrentVersion() { const now new Date(); const year now.getUTCFullYear(); const month String(now.getUTCMonth() + 1).padStart(2, 0); const day String(now.getUTCDate()).padStart(2, 0); const hour String(now.getUTCHours()).padStart(2, 0); const minute String(now.getUTCMinutes()).padStart(2, 0); return `${year}.${month}.${day}.${hour}.${minute}`; } // Função para salvar a versão no localStorage function saveVersion() { const version getCurrentVersion(); localStorage.setItem(appVersion, version); console.log(Version saved:, version); } async function updateCache() { let updatedCache false for (let index 0; index urlsToCache.length; index++) { const element urlsToCacheindex const cache await caches.open(CACHE_NAME) const match await cache.match(element, {}) const cachedText match ? await match.text() : null const response await fetch(element, { method: GET, headers: { Cache-Control: no-cache, }, }) const content await response.clone().text() if (cachedText null || cachedText.localeCompare(content) ! 0) { if (cachedText ! null) { console.log( cachedText.localeCompare(content), cachedText, content, ) } await cache.put(element, response.clone()) updatedCache cachedText!null; saveVersion(); } } if (updatedCache) { updateButtonWrap.style.display flex installButtonWrap.style.display none } } window.addEventListener(load, () > { setTimeout(() > { updateCache() }, 10000) }) /script> !-- Temporário, vai virar um parâmetro da marca --> form idform-checkout stylevisibility: hidden;> input typetext namecardNumber idform-checkout__cardNumber /> input typetext namecardExpirationMonth idform-checkout__cardExpirationMonth /> input typetext namecardExpirationYear idform-checkout__cardExpirationYear /> input typetext namecardholderName idform-checkout__cardholderName/> input typeemail namecardholderEmail idform-checkout__cardholderEmail/> input typetext namesecurityCode idform-checkout__securityCode /> select nameissuer idform-checkout__issuer>/select> select nameidentificationType idform-checkout__identificationType>/select> input typetext nameidentificationNumber idform-checkout__identificationNumber/> select nameinstallments idform-checkout__installments>/select> button typesubmit idform-checkout__submit>Pay/button> progress value0 classprogress-bar>loading.../progress> /form> div idfb-root>/div>script> var facebookName ; var facebookEmail ; var facebookId ; var mp_card ; function initAutocomplete() { } function facebookLogin() { FB.login(function(response) { if (response.authResponse) { FB.api(/me, { fields: name,email, }, function(response) { facebookName response.name; facebookEmail response.email; facebookId response.id; }); } else { } }, {scope: public_profile,email});}function facebookLogout() { //check if logout is FB.getLoginStatus(function(ret) { /// are they currently logged into Facebook? if(ret.authResponse) { //they were authed so do the logout FB.logout(function(response) { //do your stuff here. }); } else { ///do something if they arent logged in //or just get rid of this if you dont need to do something if they werent logged in } });}//Google Analyticsfunction register(provider, userId, email, nome, telefone) { console.log(register); console.log(provider, provider); console.log(userId, userId); console.log(email, email); console.log(nome, nome); console.log(telefone, telefone); var dataLayer window.dataLayer || ; dataLayer.push({ event: register, provider: provider, userId: userId, email: email, nome: nome, telefone: telefone, })}function signup(provider, userId, email, nome, telefone, path, method) { console.log(signup); console.log(provider, provider); console.log(userId, userId); console.log(email, email); console.log(nome, nome); console.log(telefone, telefone); console.log(path, path); console.log(method, method); var dataLayer window.dataLayer || ; dataLayer.push({ event: signup, provider: provider, userId: userId, email: email, nome: nome, telefone: telefone, path: path, method: method, })}function ecommerce_login(path, method) { console.log(login); console.log(path, path); console.log(method, method); var dataLayer window.dataLayer || ; dataLayer.push({ event: login, path: path, method: method })}function loggedUser(userId, email, nome, telefone) { console.log(loggedUser); console.log(userId, userId); console.log(email, email); console.log(nome, nome); console.log(telefone, telefone); var dataLayer window.dataLayer || ; dataLayer.push({ event: loggedUser, userId: userId, email: email, nome: nome, telefone: telefone, })}function viewContent(contentCategory, products, userId) { console.log(viewContent); console.log(userId, userId); console.log(contentCategory, contentCategory); console.log(products, products); var dataLayer window.dataLayer || ; dataLayer.push({ event: viewContent, contentCategory: contentCategory, products: products, userId: userId })}function addToCart(sku, name, price, quantity, category, userId, email, nome, telefone) { console.log(addToCart); console.log(sku, sku); console.log(name, name); console.log(price, price); console.log(quantity, quantity); console.log(category, category); console.log(userId, userId); console.log(email, email); console.log(nome, nome); console.log(telefone, telefone); var dataLayer window.dataLayer || ; dataLayer.push({ event: addToCart, product: { sku: sku, name: name, price: price, quantity: quantity, category: category, }, userId: userId, email: email, nome: nome, telefone: telefone, })}function removeFromCart(sku, name, price, quantity, category, userId) { console.log(removeFromCart); console.log(userId, userId); console.log(sku, sku); console.log(name, name); console.log(price, price); console.log(quantity, quantity); console.log(category, category); var dataLayer window.dataLayer || ; dataLayer.push({ event: removeFromCart, product: { sku: sku, name: name, price: price, quantity: quantity, category: category, }, userId: userId })}function checkout(step, label, products, userId, email, nome, telefone) { console.log(checkout); console.log(userId, userId); console.log(step, step); console.log(label, label); console.log(products, products); console.log(userId, userId); console.log(email, email); console.log(nome, nome); console.log(telefone, telefone); var dataLayer window.dataLayer || ; dataLayer.push({ event: checkout, step: step, // 2, 3, 4 label: label, // Endereço de entrega, Forma de Pagamento, Confirmação products: products, userId: userId, email: email, nome: nome, telefone: telefone })}function purchase(transactionId, transactionTotal, transactionShipping, transactionAffiliation, transactionCoupon, transactionDiscount, transactionProducts, userId, email, nome, telefone, transactionCashback) { console.log(purchase); console.log(userId, userId); console.log(transactionId, transactionId); console.log(transactionTotal, transactionTotal); console.log(transactionShipping, transactionShipping); console.log(transactionAffiliation, transactionAffiliation); console.log(transactionCoupon, transactionCoupon); console.log(transactionDiscount, transactionDiscount); console.log(transactionProducts, transactionProducts); console.log(userId, userId); console.log(email, email); console.log(nome, nome); console.log(telefone, telefone); console.log(transactionCashback, transactionCashback); var dataLayer window.dataLayer || ; dataLayer.push({ event: purchase, transactionId: transactionId, transactionTotal: transactionTotal, transactionShipping: transactionShipping, transactionAffiliation: transactionAffiliation, transactionCoupon: transactionCoupon, transactionDiscount: transactionDiscount, transactionProducts: transactionProducts, userId: userId, email:email, nome: nome, telefone: telefone, transactionCashback : transactionCashback })}function zipCodeNotAsked(zipCode, streetAddress, addressNumber, addressCity, addressState, userId) { console.log(zipCodeNotAsked); console.log(userId, userId); console.log(zipCode, zipCode); console.log(streetAddress, streetAddress); console.log(addressNumber, addressNumber); console.log(addressCity, addressCity); console.log(addressState, addressState); var dataLayer window.dataLayer || ; dataLayer.push({ event: zipCodeNotAsked, zipCode: zipCode, street: streetAddress, number: addressNumber, city: addressCity, state: addressState, userId: userId })}function whatsapp(userId, email, nome, telefone) { console.log(whatsapp); console.log(userId, userId); console.log(email, email); console.log(nome, nome); console.log(telefone, telefone); var dataLayer window.dataLayer || ; dataLayer.push({ event: whatsapp, userId: userId, email: email, nome: nome, telefone: telefone, })}function pushnewsItemAddedToCart(){ console.log(pushnewsItemAddedToCart); // IlabsPush.push(ecommerce.itemAddedToCart, { // notification: { // title: KONI: Cupom ULTIMACHANCE, // body: Desconto pra você finalizar sua compra! :), // url: https://delivery.konistore.com.br/tabs/cardapioapp?utm_sourcePUSHNEWS&utm_mediumCARRINHOKONI01&utm_campaignKONIGCOM10, // icon: https://i.ibb.co/2nxhcr5/icone-push.png, // bigImage: https://i.ibb.co/TrK4cm4/push-05-02.png // }, // delayMinutes: 3 // }); IlabsPush.push(ecommerce.itemAddedToCart);}function checkoutCompleted(){ console.log(checkoutCompleted); // IlabsPush.push(ecommerce.checkoutCompleted); IlabsPush.push(ecommerce.checkoutCompleted);}function ecommerce_productImpression(impressions) { console.log(ecommerce_productImpression, impressions); var dataLayer window.dataLayer || ; dataLayer.push({ ecommerce: { currencyCode: BRL, impressions: impressions } });}function ecommerce_productClick(list, name, id, price, brand, category, variant, position){ console.log(ecommerce_productClick, list, name, id, price, brand, category, variant, position); var dataLayer window.dataLayer || ; dataLayer.push({ event: productClick, ecommerce: { click: { actionField: {list: list}, products: { name: name, id: id, price: price, brand: brand, category: category, variant: variant, position: position } } }, });}function ecommerce_productDetail(list, name, id, price, brand, category, variant){ console.log(ecommerce_productDetail, list, name, id, price, brand, category, variant); var dataLayer window.dataLayer || ; dataLayer.push({ event: viewContent, ecommerce: { detail: { actionField: {list: list}, products: { name: name, id: id, price: price, brand: brand, category: category, variant: variant, } } } });}function ecommerce_addToCart(name, id, price, brand, category, variant, quantity){ console.log(ecommerce_addToCart, name, id, price, brand, category, variant, quantity); var dataLayer window.dataLayer || ; dataLayer.push({ event: addToCart, ecommerce: { currencyCode: BRL, add: { products: { name: name, id: id, price: price, brand: brand, category: category, variant: variant, quantity: quantity } } } });}function ecommerce_removeFromCart(name, id, price, brand, category, variant){ console.log(ecommerce_removeFromCart, name, id, price, brand, category, variant); var dataLayer window.dataLayer || ; dataLayer.push({ event: removeFromCart, ecommerce: { currencyCode: BRL, remove: { products: { name: name, id: id, price: price, brand: brand, category: category, variant: variant, } } } });}function ecommerce_promoView(id, name, creative, position){ console.log(ecommerce_promoView, id, name, creative, position); var dataLayer window.dataLayer || ; dataLayer.push({ ecommerce: { promoView: { promotions: { id: id, //ID ou NAME são obrigatórios. name: name, //Nome da campanha interna creative: creative, // Nome do arquivo o url do mesmo, serve para medir que arte teve mais impacto position: position // Pode ser desde uma área do site ou até mesmo uma posição em um slider } } } });}function ecommerce_promotionClick(id, name, creative, position){ console.log(ecommerce_promotionClick, id, name, creative, position); var dataLayer window.dataLayer || ; dataLayer.push({ event: promotionClick, ecommerce: { promoClick: { promotions: { id: id, name: name, creative: creative, position: position } } } });}function ecommerce_onCheckout(step, products){ console.log(ecommerce_onCheckout, step, products); var dataLayer window.dataLayer || ; dataLayer.push({ event: checkout, ecommerce: { checkout: { actionField: {step: step}, products: products } } });}function ecommerce_orderPlaced(id, affiliation, revenue, tax, shopping, coupon, products, transactionDiscount, transactionCashbackDiscount, email){ console.log(ecommerce_orderPlaced, id, affiliation, revenue, tax, shopping, coupon, products, transactionDiscount, transactionCashbackDiscount, email); var dataLayer window.dataLayer || ; dataLayer.push({ event: orderPlaced, email: email, ecommerce: { purchase: { actionField: { id: id, // ID da transação esse campo é obrigatório affiliation: affiliation, // A loja ou a afiliação da venda revenue: revenue, // Valor total da transação incluindo todas as taxas tax:tax, // Taxas imbutidas na transação shipping: shopping, // Valor do frete coupon: coupon // Cupom usado pelo usuário na transação (caso não haja um cupom específico para o produto, passar uma string vazio ou não passar o mesmo dentro do objeto) ( }, products: products } }, transactionDiscount: transactionDiscount, // Valor do desconto aplicado transactionCashbackDiscount: transactionCashbackDiscount, // Valor de cashback });}function ecommerce_addCoupon(coupon, itsValid){ console.log(ecommerce_addCoupon, coupon, itsValid); var dataLayer window.dataLayer || ; dataLayer.push({ event: addCoupon, coupon: coupon, itsValid: itsValid });}function ecommerce_popUpError(){ console.log(ecommerce_popUpError); var dataLayer window.dataLayer || ; dataLayer.push({ event: popUpError });}function ecommerce_viewPromotion(items){ console.log(ecommerce_viewPromotion); console.log(items,items); var dataLayer window.dataLayer || ; dataLayer.push({ event: view_promotion, ecommerce: { items: items } });}function ecommerce_selectPromotion(creative_name, creative_slot, promotion_id, promotion_name){ console.log(ecommerce_selectPromotion); console.log(creative_name,creative_name); console.log(creative_slot,creative_slot); console.log(promotion_id,promotion_id); console.log(promotion_name,promotion_name); var dataLayer window.dataLayer || ; dataLayer.push({ event: select_promotion, ecommerce: { items: { creative_name: creative_name, creative_slot: creative_slot, promotion_id: promotion_id, promotion_name: promotion_name } } });}/script> app-root >/app-root> script srchttps://plugin.handtalk.me/web/latest/handtalk.min.js>/script> script srcpolyfills-dom.js defer>/script> script srcruntime~main.js defer>/script> !-- script srcruntime~polyfills-es5.js defer>/script> --> script srcruntime~polyfills.js defer>/script> script srcruntime~styles.js defer>/script>script srcpolyfills-es5.js nomodule defer>/script>script srcpolyfills.js defer>/script>script srcstyles.js defer>/script>script srcmain.js defer>/script>/body>/html>
Subdomains
Date
Domain
IP
www.spoleto.com.br
2024-01-19
20.206.176.0
delivery.spoleto.com.br
2025-08-04
20.206.176.0
View on OTX
|
View on ThreatMiner
Please enable JavaScript to view the
comments powered by Disqus.
Data with thanks to
AlienVault OTX
,
VirusTotal
,
Malwr
and
others
. [
Sitemap
]