Help
RSS
API
Feed
Maltego
Contact
Domain > www.jvcoportfolio.com
×
More information on this domain is in
AlienVault OTX
Is this malicious?
Yes
No
DNS Resolutions
Date
IP Address
2024-06-09
195.35.41.231
(
ClassC
)
2025-10-21
46.202.145.152
(
ClassC
)
Port 80
HTTP/1.1 301 Moved PermanentlyConnection: Keep-AliveKeep-Alive: timeout5, max100Content-Type: text/htmlContent-Length: 795Date: Tue, 21 Oct 2025 02:42:12 GMTServer: LiteSpeedLocation: https://www.jvcoportfolio.com/platform: hostingerpanel: hpanelContent-Security-Policy: upgrade-insecure-requests !DOCTYPE html>html styleheight:100%>head>meta nameviewport contentwidthdevice-width, initial-scale1, shrink-to-fitno />title> 301 Moved Permanently/title>style>@media (prefers-color-scheme:dark){body{background-color:#000!important}}/style>/head>body stylecolor: #444; margin:0;font: normal 14px/20px Arial, Helvetica, sans-serif; height:100%; background-color: #fff;>div styleheight:auto; min-height:100%; > div styletext-align: center; width:800px; margin-left: -400px; position:absolute; top: 30%; left:50%;> h1 stylemargin:0; font-size:150px; line-height:150px; font-weight:bold;>301/h1>h2 stylemargin-top:20px;font-size: 30px;>Moved Permanently/h2>p>The document has been permanently moved./p>/div>/div>/body>/html>
Port 443
HTTP/1.1 200 OKConnection: Keep-AliveKeep-Alive: timeout5, max100Content-Type: text/htmlLast-Modified: Sun, 23 Jun 2024 16:59:40 GMTEtag: 7b7b-6678547c-b1082ba6ac0c4e13;;;Accept-Ranges: bytesContent-Length: 31611Date: Tue, 21 Oct 2025 02:42:13 GMTServer: LiteSpeedplatform: hostingerpanel: hpanelContent-Security-Policy: upgrade-insecure-requests !DOCTYPE html>html langpt-br> head>meta charsetutf-8>link relicon typeimage/svg+xml href/favicon.ico>meta nameviewport contentwidthdevice-width>meta namegenerator contentAstro v4.8.6>script srchttps://kit.fontawesome.com/924fdcb046.js crossoriginanonymous>/script>title>Jvco | Meu Portfólio/title>link relstylesheet href/_astro/index.Dpy4IbE2.css>style>section .home-container{min-height:100vh;display:flex;justify-content:center;align-items:center}section .home-container .intro-about-container{z-index:1}@media screen and (max-width: 768px){section .home-container .intro-about-container{margin:0 20px}}section .home-container .intro-about-container .title{padding:10px 0;border-bottom:2px solid var(--asideColor);pointer-events:none}section .home-container .intro-about-container .title h1{color:#fff;font-size:2rem;font-weight:400}@media screen and (max-width: 768px){section .home-container .intro-about-container .title h1{font-size:1.5rem}}section .home-container .intro-about-container .experiences{opacity:0;padding:10px 0;transition:opacity 1s ease-in-out;pointer-events:none}section .home-container .intro-about-container .experiences span{color:#1abc9c}@media screen and (max-width: 768px){section .home-container .intro-about-container .experiences span{font-size:.9rem}}section .home-container .intro-about-container .contact{opacity:0;transition:opacity 2s ease-in-out;text-align:center;pointer-events:none}section .home-container .intro-about-container .contact button{border:2px solid var(--asideColor);outline:none;background-color:transparent;padding:10px 20px;margin:15px 0;font-size:1rem;color:var(--asideColor);cursor:pointer}section .home-container .intro-about-container .contact button:hover{color:var(--green);border:2px solid var(--green)}section .home-container .intro-about-container .contact button:active{color:var(--darkGreen);border:2px solid var(--darkGreen)}section .home-container .clouds-container{position:absolute;left:0;top:0;width:100%;min-height:100%;display:flex;justify-content:center;align-items:center}section .home-container .clouds-container .clouds{position:absolute;font-size:4vw;color:var(--asideColor)}section .home-container .clouds-container .clouds:nth-child(1){top:10%;left:10%;animation:cloudsMovingToLeftFirst 2s ease-in-out infinite alternate}section .home-container .clouds-container .clouds:nth-child(2){top:20%;left:20%;animation:cloudsMovingToRightFirst 2s ease-in-out infinite alternate}section .home-container .clouds-container .clouds:nth-child(3){top:10%;left:40%;animation:cloudsMovingToLeftFirst 2s ease-in-out infinite alternate}section .home-container .clouds-container .clouds:nth-child(4){top:20%;left:50%;animation:cloudsMovingToRightFirst 2s ease-in-out infinite alternate}section .home-container .clouds-container .clouds:nth-child(5){top:15%;left:70%;animation:cloudsMovingToLeftFirst 2s ease-in-out infinite alternate}section .home-container .clouds-container .clouds:nth-child(6){top:10%;left:85%;animation:cloudsMovingToRightFirst 2s ease-in-out infinite alternate}section .home-container .rocket-storage-container{z-index:-1;position:absolute;left:0;top:0;width:100%;min-height:100vh;overflow:hidden}section .home-container .rocket-storage-container .rocket{width:fit-content;position:absolute;bottom:0;left:0;color:var(--asideColor);font-size:2vw;transform:translateY(100%) rotate(45deg)}@keyframes cloudsMovingToLeftFirst{0%{transform:translate(0)}to{transform:translate(50%)}}@keyframes cloudsMovingToRightFirst{0%{transform:translate(50%)}to{transform:translate(0)}}@media screen and (max-width: 768px){section .experiences span{font-size:.9rem}}/style>link relstylesheet href/_astro/profile.CWVkVo5U.css>style>section .projects-container ul{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));list-style-type:none}section .projects-container ul li{height:320px;overflow:hidden}section .projects-container ul li a{color:inherit;text-decoration:none}section .projects-container ul li .project-card{position:relative;display:flex;justify-content:space-between;flex-direction:column;align-items:center;width:100%;height:100%;padding:55px;cursor:pointer;text-decoration:none;color:unset;transform:scale(1);transition:transform .4s ease-in-out}section .projects-container ul li .project-card img{width:150px}section .projects-container ul li .project-card:after{content:;position:absolute;inset:0;background-color:#0009;transition:background-color .4s ease-in-out}section .projects-container ul li .project-card:hover:after{background-color:#0003;transition:background-color .4s ease-in-out}section .projects-container ul li .project-card:hover{transform:scale(1.2);transition:transform .4s ease-in-out}/style>link relstylesheet href/_astro/contact.DN5tjyrw.css>/head> body> div classonLoadingPageProgress-container> div classcontainer-progress> div classtitle-progress-onLoadPage> img src/profile-logo.png altimg-profile> span>Jvco/span> /div> div classprogressBar> div classinsidebar>/div> /div> /div> div classfooter-createBy> span>© Created By João Victor/span> /div> /div> div classenglobe-all> aside> div classaside-container> div classimage-profile> img src/profile-logo.png altprofile> h2>Jvco/h2> /div> nav> ul> li> button stylecolor: #1ABC9C; idhomeBtn> i classfas fa-home>/i> span stylecolor: #1ABC9C;>Home/span> /button> /li> li> button idprofileBtn> i classfas fa-user-alt>/i> span>Perfil/span> /button> /li> li> button idprojectsBtn> i classfas fa-cubes>/i> span>Projetos/span> /button> /li> li> button idcontactBtn> i classfas fa-envelope>/i> span>Contato/span> /button> /li> /ul> /nav> div classbottom-side> div classsocials-container> ul> li> a hrefhttps://twitter.com/zJvco target_blank> i classfab fa-twitter-square>/i> div classpopupSocials-container> span>Twitter/span> div classpointer-popup>/div> /div> /a> /li> li> a hrefhttps://www.instagram.com/zjvco/ target_blank> i classfab fa-instagram>/i> div classpopupSocials-container> span>Instagram/span> div classpointer-popup>/div> /div> /a> /li> li> a hrefhttps://www.facebook.com/joaovictor.oliveira.560/ target_blank> i classfab fa-facebook-square>/i> div classpopupSocials-container> span>Facebook/span> div classpointer-popup>/div> /div> /a> /li> li> a hrefhttps://github.com/zJvco target_blank> i classfab fa-github>/i> div classpopupSocials-container> span>Github/span> div classpointer-popup>/div> /div> /a> /li> li> a hrefhttps://www.linkedin.com/in/jo%C3%A3o-victor-57625a205/ target_blank> i classfa-brands fa-linkedin>/i> div classpopupSocials-container> span>Linkedin/span> div classpointer-popup>/div> /div> /a> /li> /ul> /div> div classcopy-footer> span>© 2021/span> /div> /div> div classasideMenu-container> button idmenuAside> i classfas fa-angle-double-right>/i> /button> /div> /div> /aside> main> div classonLoadingPageAfter-container> div classloadingContent> div classloadingProfile> img src/profile-logo.png> span>Jvco/span> /div> div classloadingAfterProgressBar> div classprogressLoading>/div> /div> /div> div classfooter-createBy-onLoadingToPage> span>© Created By João Victor/span> /div> /div> section idseção-1> div classhome-container> div classintro-about-container> div classtitle> h1>/h1> /div> div classexperiences> span>Desenvolvedor de Software | Cybersecurity | Freelancer/span> /div> div classcontact> button idcontactInHome>CONTATO/button> /div> /div> div classclouds-container> div classclouds> i classfas fa-cloud>/i> /div> div classclouds> i classfas fa-cloud>/i> /div> div classclouds> i classfas fa-cloud>/i> /div> div classclouds> i classfas fa-cloud>/i> /div> div classclouds> i classfas fa-cloud>/i> /div> div classclouds> i classfas fa-cloud>/i> /div> /div> div classrocket-storage-container> div classrocket> i classfas fa-rocket>/i> /div> /div> /div> /section> section idseção-2> div classprofile-container> div classcontent-prof> div classtitle-prof> h2> i stylemargin-right: 6px; classfas fa-user-circle>/i>Meu Perfil/h2> p>Abaixo estão algumas informações sobre mim./p> /div> div classabout-me-prof> img src/foto-profile-new.jpeg altprofile-img> div classabout-me-info-container> p classmy-description styleline-height: 34px;>Eu sou João Victor, tenho 22 anos e sou formado em Ciência da Computação. Comecei minha jornada na área de tecnologia aos 17 anos como estágiario em Segurança da Informação e hoje estou atuando nas áreas de cybersecurity, desenvolvimento de software, trabalhos freelance e projetos pessoais com mais de 5 anos de experiência em ambas áreas. Ao longo da minha carreira pude observar e aprender diversas tecnologias, processos e como se comportar dentro de um ambiente de trabalho, também obtive uma paixão por tecnologia e os desafios que ela oferece, sempre estudando e me aprimorando para eles./p> div classtags-container> div classtag-item>Densenvolvimento de Software/div> div classtag-item>Hacking/div> div classtag-item>Resposta a Incidentes/div> div classtag-item>Automação/div> div classtag-item>Python/div> div classtag-item>AWS/div> div classtag-item>Integração de Sistemas/div> /div> /div> /div> div classcards-container> div classcards> div classcard> h3>Habilidades de Desenvolvimento/h3> div classprofile-content> ul> li>Python (Avançado)/li> li>Git e Github (Avançado)/li> li>JavaScript (Avançado)/li> li>Linux (Avançado)/li> li>Docker & docker-compose (Intermediário)/li> li>SQL (Intermediário)/li> li>HTML (Avançado)/li> li>Desenvolvimento de APIs REST/SOAP (Avançado)/li> li>CSS (Avançado)/li> li>Nodejs (Básico)/li> li>Flask (Avançado)/li> li>C/C++ (Básico)/li> li>MySQL (Intermediário)/li> li>SQLite (Intermediário)/li> li>MongoDB (Básico)/li> li>Java (Intermediário)/li> li>Figma (Intermediário)/li> li>AWS (Intermediário)/li> li>Azure (Intermediário)/li> li>GCP (Básico)/li> li>Programação Orientada a Objetos (Avançado)/li> li>MVC (Avançado)/li> li>Pygame (Básico)/li> li>Estrutura de dados (Intermediário)/li> li>Lógica de programação (Avançado)/li> li>OWASP API & Web/li> li>SonarQube, Snyk & OwaspZap/li> li>Security Code Analysis/li> /ul> /div> /div> div classcard> h3>Habilidades de Segurança/h3> div classprofile-content> ul> li>Detecção e Responstas a Incidentes/li> li>Fundamentos e Aplicação de OWASP API & Web (OWASP TOP 10)/li> li>Análise de código estático e dinâmico, e infraestrutura (SAST, DAST e IAST)/li> li>Analise de Segurança de Código/li> li>EDR/XDR/li> li>Firewall/li> li>SIEM/li> li>OSINT/li> /ul> /div> /div> div classcard> h3>Habilidades Interpessoais/h3> div classprofile-content> ul> li>Resolução de Problemas/li> li>Proatividade/li> li>Trabalho em equipe/li> li>Senso crítico/li> li>Comunicação/li> /ul> /div> /div> div classcard> h3>Idiomas/h3> div classprofile-content> ul> li>Português (Nativo)/li> li>Inglês (Avançado)/li> li>Espanhol (Intermediário)/li> /ul> /div> /div> /div> /div> /div> div classexpeciences-container> div classtitle-prof> h2> i stylemargin-right: 6px; classfa-solid fa-person-walking-luggage>/i>Expeciências/h2> p>Linha do tempo de todas as expericências da minha carreira./p> /div> div classtimeline-container> div classcontainer left> div classpreview-card> div classhead> p classworked-year>2020 - 2021/p> img classcompany-image src/vitara_logo.jpg altvitara logo> /div> p classcompany-position-text>Estágiario em Cibersegurança/p> button>Mais/button> /div> /div> div classcontainer right> div classpreview-card> div classhead> p classworked-year>2021 - 2023/p> img classcompany-image src/ntt_data_europe_latam_logo.jpg altnttdata logo> /div> p classcompany-position-text>Analista de Cibersegurança Junior/p> button>Mais/button> /div> /div> div classcontainer left> div classpreview-card> div classhead> p classworked-year>2023 - 2023/p> img classcompany-image src/kafnet_solu_es_em_tecnologia_logo.jpg altkafnet logo> /div> p classcompany-position-text>Desenvolvedor de Software Pleno/p> button>Mais/button> /div> /div> div classcontainer right> div classpreview-card> div classhead> p classworked-year>2023 - Atual/p> img classcompany-image src/securebyteone_logo.jpg altsecurebyte logo> /div> p classcompany-position-text>Analista de Cibersegurança Sênior/p> button>Mais/button> /div> /div> div classcontainer left> div classpreview-card> div classhead> p classworked-year>2024 - 2024/p> img classcompany-image src/localmobilemassage-logo.PNG altlocalmobilemassage logo> /div> p classcompany-position-text>Freelance (Desenvolvimento Web & Consultoria)/p> button>Mais/button> /div> /div> div classcontainer left> div classpreview-card> div classhead> p classworked-year>2024 - 2024/p> img classcompany-image src/securebyteone_logo.jpg altsecurebyte logo> /div> p classcompany-position-text>Freelance (Desenvolvimento Web & Consultoria)/p> button>Mais/button> /div> /div> /div> /div> div classfreelancer-container> div classtitle-prof> h2> i stylemargin-right: 6px; classfas fa-money-bill-wave>/i>Freelancer/h2> p>Deseja contratar um serviço para criar seu site ou software? Veja abaixo os orçamentos./p> /div> div classtools-budget> div classtitle-budget> h3>Orçamento/h3> button> i classfas fa-info-circle>/i> /button> div classpopup-info-budget> span>Deslize a barra para ver os orçamentos de sites, os preços variam de acordo com a quantidade de páginas./span> div classpointer-popupInfo>/div> /div> /div> div classscreenView-budget-content> div classscreen-total-page> h4>Total de Páginas:/h4> div classshowTotalPages-budget> span idtotalPagesInput>0/span> /div> /div> div classrange-budget> input typerange idrange-budget> /div> div classviewPayToCreate> span>Valor:/span> button> i classfas fa-info-circle>/i> /button> div classpopup-info-contact> span>Entre em contato para negociar valores, preenchendo o formulário ou me chamar nas redes sociais./span> div classpointer-contact-popup>/div> /div> input typetext idcashBudget valueR$ 1000.00 readonly> /div> /div> /div> /div> /div> /section> section idseção-3> div classprojects-container> ul> li> a hrefhttps://cobragenerator.com.br target_blank> div classproject-card stylebackground-color: #FFF;> span>Cobra Generator/span> img src/cobragenerator-logo.png> /div> /a> /li>li> a hrefhttps://alimentarplus.com.br target_blank> div classproject-card stylebackground-color: #FFF;> span>Alimentar+/span> img src/alimentarplus_logo_icone.png> /div> /a> /li>li> a hrefhttps://securebyte.com.br target_blank> div classproject-card stylebackground-color: #FFF;> span>Securebyte/span> img src/securebyteone_logo.jpg> /div> /a> /li>li> a hrefhttps://localmobilemassage.com target_blank> div classproject-card stylebackground-color: #FFF;> span>Local Mobile Massage/span> img src/localmobilemassage-logo.PNG> /div> /a> /li> /ul> /div> /section> !-- script> const projectsCards document.querySelectorAll(.project-card); const popup document.querySelector(.default-popup-background); const parentDiv document.querySelector(#seção-3); projectsCards.forEach((card) > { card.addEventListener(click, () > { const cardProjectName card.children0.innerHTML; if (cardProjectName Cobra Generator) { popup.classList.add(open); } }); });/script> --> section idseção-4> div classcontact-container> div classballoons-container> div classballoon> img src/balloon-image.png> /div> div classballoon> img src/balloon-image.png> /div> div classballoon> img src/balloon-image.png> /div> div classballoon> img src/balloon-image.png> /div> div classballoon> img src/balloon-image.png> /div> div classballoon> img src/balloon-image.png> /div> div classballoon> img src/balloon-image.png> /div> div classballoon> img src/balloon-image.png> /div> div classballoon> img src/balloon-image.png> /div> div classballoon> img src/balloon-image.png> /div> div classballoon> img src/balloon-image.png> /div> div classballoon> img src/balloon-image.png> /div> /div> div classcontact-form> h2>Contato/h2> p>Precisando de serviços? Preencha o formulário para negociarmos ou entre em contato pelo e-mail jv.30102001@gmail.com./p> form actionhttp://localhost:5000 methodPOST idformContact> div classinputFields> input typetext namename idname> label forname>Nome/label> /div> div classinputFields> input typetext namesubject idsubject> label forsubject>Subject/label> /div> div classinputFields> input typetext nameemail idemail> label foremail>Email/label> /div> div classinputFields> textarea namemessage idmessage rows10>/textarea> label formessage>Mensagem/label> /div> div classsubmitButtonField> input typesubmit idsubmitForm valueEnviar> /div> /form> /div> div classpopupSucessSendForm> span>Formulário Enviado!/span> /div> /div> /section> /main> /div> script> const insideBar document.querySelector(.insidebar); // Botões Menu const homeBtn document.getElementById(homeBtn); const profileBtn document.getElementById(profileBtn); const projectsBtn document.getElementById(projectsBtn); const contactBtn document.getElementById(contactBtn); // Spans para trocar a cor const homeSpanTxt document.querySelector(#homeBtn span); const profileSpanTxt document.querySelector(#profileBtn span); const projectsSpanTxt document.querySelector(#projectsBtn span); const contactSpanTxt document.querySelector(#contactBtn span); // Seções const seção1 document.getElementById(seção-1); const seção2 document.getElementById(seção-2); const seção3 document.getElementById(seção-3); const seção4 document.getElementById(seção-4); var timingInterval 10; var currentProgress 0; const loadIntervalPage setInterval(() > { insideBar.style.width `${currentProgress}%`; if (currentProgress 100) { currentProgress++; } else { const onLoadingContainer document.querySelector(.onLoadingPageProgress-container); onLoadingContainer.style.display none; englobelAllScripts(); clearInterval(loadIntervalPage); } }, timingInterval); function englobelAllScripts() { const englobeAll document.querySelector(.englobe-all); englobeAll.style.display flex; seção1.style.display block; seção2.style.display none; seção3.style.display none; seção4.style.display none; homeBtn.addEventListener(click, () > { if (seção1.style.display none) { animationOnLoaginAll(); } seção1.style.display block; seção2.style.display none; seção3.style.display none; seção4.style.display none; if (seção1.style.display block) { homeBtn.style.color #1ABC9C; profileBtn.style.color #333333; projectsBtn.style.color #333333; contactBtn.style.color #333333; homeSpanTxt.style.color #1ABC9C; profileSpanTxt.style.color #333333; projectsSpanTxt.style.color #333333; contactSpanTxt.style.color #333333; } else { home(); } }); profileBtn.addEventListener(click, () > { if (seção2.style.display none) { animationOnLoaginAll(); } seção1.style.display none; seção2.style.display block; seção3.style.display none; seção4.style.display none; if (seção2.style.display block) { homeBtn.style.color #333333; profileBtn.style.color #1ABC9C; projectsBtn.style.color #333333; contactBtn.style.color #333333; homeSpanTxt.style.color #333333; profileSpanTxt.style.color #1ABC9C; projectsSpanTxt.style.color #333333; contactSpanTxt.style.color #333333; } }); projectsBtn.addEventListener(click, () > { if (seção3.style.display none) { animationOnLoaginAll(); } seção1.style.display none; seção2.style.display none; seção3.style.display block; seção4.style.display none; if (seção3.style.display block) { homeBtn.style.color #333333; profileBtn.style.color #333333; projectsBtn.style.color #1ABC9C; contactBtn.style.color #333333; homeSpanTxt.style.color #333333; profileSpanTxt.style.color #333333; projectsSpanTxt.style.color #1ABC9C; contactSpanTxt.style.color #333333; } }); contactBtn.addEventListener(click, () > { if (seção4.style.display none) { animationOnLoaginAll(); } seção1.style.display none; seção2.style.display none; seção3.style.display none; seção4.style.display block; if (seção4.style.display block) { homeBtn.style.color #333333; profileBtn.style.color #333333; projectsBtn.style.color #333333; contactBtn.style.color #1ABC9C; homeSpanTxt.style.color #333333; profileSpanTxt.style.color #333333; projectsSpanTxt.style.color #333333; contactSpanTxt.style.color #1ABC9C; } }); // Show menu aside const menuAside document.getElementById(menuAside); menuAside.addEventListener(click, () > { const asideMenuContainer document.querySelector(.asideMenu-container); const asideContainer document.querySelector(.aside-container); asideContainer.classList.toggle(show); asideMenuContainer.classList.toggle(show); }); home(); profile(); contact(); } // Loading after function animationOnLoaginAll() { const onLoadingPage document.querySelector(.onLoadingPageAfter-container); onLoadingPage.style.display flex; document.body.style.overflowY hidden; const progressLoading document.querySelector(.progressLoading); const afterTxtLoading document.getElementById(aftorTxtLoading); let currentLoadingAfter 0; const intervalAfterLoading setInterval(() > { if (currentLoadingAfter 120) { progressLoading.style.width `${currentLoadingAfter}%`; currentLoadingAfter++ } else { onLoadingPage.style.display none; progressLoading.style.width `${0}%`; document.body.style.overflowY unset; clearInterval(intervalAfterLoading); } }, timingInterval) } // Função Home function home() { // Background foguetes e nuvens const rocketStorage document.querySelector(.rocket-storage-container); setInterval(() > { const widthRocketContainer rocketStorage.clientWidth; // 1820px const randomPosition Math.floor(Math.random() * widthRocketContainer); addRocketsOnHTML(randomPosition); }, 500); function addRocketsOnHTML(random) { const rocket document.querySelector(.rocket); const lastRocket rocketStorage.lastElementChild; let randomScale Math.random() * 2; if (randomScale 1) { randomScale 1; } if (rocketStorage.childElementCount > 10) { const firstRocket rocketStorage.firstElementChild; firstRocket.remove(); } const rocketClone rocket.cloneNode(rocket); rocketStorage.appendChild(rocketClone); animationRocketToTop(lastRocket, random, randomScale); } function animationRocketToTop(rocket, random, scale) { rocket.animate( { transform: `translate(${random}px, 100%) rotate(-45deg) scale(${scale})` }, { transform: `translate(${random}px, -100vh) rotate(-45deg) scale(${scale})` } , { duration: 2000 }); } // Animação palavras introdução const title document.querySelector(.title h1); const experiences document.querySelector(.experiences); const contact document.querySelector(.contact); const strPhrase Olá, Sou o João, Bem vindo ao meu Portfólio.split(); var currentWord 0; let intervalWordsShowing setInterval(() > { if (currentWord strPhrase.length) { if (title.innerHTML.length 4 || title.innerHTML.length 20) { title.innerHTML + br> } title.innerHTML + strPhrasecurrentWord; currentWord++; } else { experiences.style.opacity 1; contact.style.opacity 1; contact.style.pointerEvents all; clearInterval(intervalWordsShowing); } }, 80); // Botão Contato const contactInHome document.getElementById(contactInHome); contactInHome.addEventListener(click, () > { if (seção4.style.display none) { animationOnLoaginAll(); } seção1.style.display none; seção2.style.display none; seção3.style.display none; seção4.style.display block; if (seção4.style.display block) { homeBtn.style.color #333333; profileBtn.style.color #333333; projectsBtn.style.color #333333; contactBtn.style.color #1ABC9C; homeSpanTxt.style.color #333333; profileSpanTxt.style.color #333333; projectsSpanTxt.style.color #333333; contactSpanTxt.style.color #1ABC9C; } }); } // Função Perfil function profile() { // Orçamento range const rangeBudget document.getElementById(range-budget); rangeBudget.addEventListener(input, (e) > { const cashBudget document.getElementById(cashBudget); const totalPagesInput document.getElementById(totalPagesInput); const rangeTargetValue e.target.value; // 1 pagina if (rangeTargetValue > 0 && rangeTargetValue 20) { cashBudget.value R$ 500; totalPagesInput.innerText 1; } // 2 paginas else if (rangeTargetValue > 20 && rangeTargetValue 40) { cashBudget.value R$ 1000; totalPagesInput.innerText 2; } // 4 páginas else if (rangeTargetValue > 40 && rangeTargetValue 60) { cashBudget.value R$ 1500; totalPagesInput.innerText 4; } // 6 páginas else if (rangeTargetValue > 60 && rangeTargetValue 80) { cashBudget.value R$ 2000; totalPagesInput.innerText 6; } // +10 páginas else { cashBudget.value R$ +3000; totalPagesInput.innerText +10 } }); } // Função Contato function contact() { const formName document.getElementById(name); const formSubject document.getElementById(subject); const formEmail document.getElementById(email); const formMessage document.getElementById(message); formName.addEventListener(focusout, () > { if (formName.value.length > 0) { formName.className sucess; } else { formName.className required; } }); formSubject.addEventListener(focusout, () > { if (formSubject.value.length > 0) { formSubject.className sucess; } else { formSubject.className required; } }); formEmail.addEventListener(focusout, () > { if (formEmail.value.length > 0) { formEmail.className sucess; } else { formEmail.className required; } }); formMessage.addEventListener(focusout, () > { if (formMessage.value.length > 0) { formMessage.className sucess; } else { formMessage.className required; } }); // Formulário const formContact document.getElementById(formContact); formContact.addEventListener(submit, (e) > { e.preventDefault(); const inputFieldsaAll document.querySelectorAll(.inputFields input, textarea); const dataValueForm { name: formName.value, subject: formSubject.value, email: formEmail.value, message: formMessage.value } if (validationFields()) { let xhr new XMLHttpRequest(); xhr.open(POST, /); xhr.setRequestHeader(content-type, application/json); xhr.onload () > { if (xhr.responseText sucess) { popupSendSucess(); formName.value formSubject.value formEmail.value formMessage.value inputFieldsaAll.forEach(input > { input.style.borderBottom 1px solid #555555; }); } else { alert(Algo deu errado. Tente Novamente!); } } xhr.send(JSON.stringify(dataValueForm)) } }); function popupSendSucess() { const popupSucess document.querySelector(.popupSucessSendForm); popupSucess.style.transform translateY(-20%); setTimeout(() > { popupSucess.style.transform translateY(100%); }, 3000); } function validationFields() { const formNameValue formName.value.trim(); const formSubjectValue formSubject.value.trim(); const formEmailValue formEmail.value.trim(); const formMessageValue formMessage.value.trim(); const booleanValid ; // Validação Nome if (formNameValue.length 0) { setErrorValidation(formName); } else { setSucessValidation(formName); booleanValid.push(valid); } // Validação Subject if (formSubjectValue.length 0) { setErrorValidation(formSubject); } else { setSucessValidation(formSubject); booleanValid.push(valid); } // Validação Email if (formEmailValue.length 0) { setErrorValidation(formEmail); } else if (!validationEmailIsEmail(formEmailValue)) { console.log(HI) setErrorValidation(formEmail); } else { setSucessValidation(formEmail); booleanValid.push(valid); } // Validação Mensagem if (formMessageValue.length 10) { setErrorValidation(formMessage); } else { setSucessValidation(formMessage); booleanValid.push(valid); } // Retornar if (booleanValid.length 4) return true; else return false; } function setErrorValidation(input) { const parentInput input.parentElement.children0; parentInput.style.borderBottom 1px solid #E74C3C; } function setSucessValidation(input) { const parentInput input.parentElement.children0; parentInput.style.borderBottom 1px solid #1ABC9C; } function validationEmailIsEmail(email) { return /^((^>()\\.,;:\s@\+(\.^>()\\.,;:\s@\+)*)|(\.+\))@((^>()\\.,;:\s@\+\.)+^>()\\.,;:\s@\{2,})$/.test(email); } }/script>/body>/html>
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
]