Logo CEWEB.br Logo NIC.br Logo CGI.br
Home Sobre o projeto

Sites Verificados

Lista com todos os sítios que foram verificados pela TIC Web Acessibilidade. Dentro de cada domínio, há informações detalhadas sobre as páginas coletadas, bem como os erros e avisos de cada uma *.

Endereço Nota Erros Avisos

sistemas.tce.pi.gov.br/usuariostce/alterasenha.php

81.04 7 10
Recomendações Avaliadas
1.1 Respeitar os Padrões Web.

Recomendações

43 <![CDATA[<div class="container mt-4" id="noHash" style="max-width: 600px;"> <h2 class="jumbotron text-center" style="line-height: 3rem">🛑<br>Hash inexistente ou inválida. Solicite à Diretoria de Informática um link válido.</h2> </div>]]>
44 <![CDATA[<h2 class="jumbotron text-center" style="line-height: 3rem">🛑<br>Hash inexistente ou inválida. Solicite à Diretoria de Informática um link válido.</h2>]]>
18 <![CDATA[<style> .step-2, .step-3, .step-4{display: none;} .perguntas>div>label{display: block;} .perguntas div.form-check-inline { margin: .1rem; background: rgba(0,0,0,.03); padding: .3rem; border-radius: 4px} .checks {margin: 0;padding-left: .5rem;} .checks>li{list-style: none;} .checks>.text-danger>.ok{display: none;} .checks>.text-success>.error{display: none;} #submitPassword {text-align: center;} </style>]]>
67 <![CDATA[<script> const specials = /[!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?]+/; const uppers = /[ABCDEFGHIJKLMNOPQRSTUVWXYZ]/; const lowers = /[a-z]/; const numbers = /[0-9]/; let postData = {}; let cpf = ""; const CSVToArray = (data, delimiter = ",", omitFirstRow = false) => data.slice(omitFirstRow ? data.indexOf("\n") + 1 : 0) .split("\n") .map(v => v.split(delimiter)); grupoToString = item => '<div class="form-check"><input class="form-check-input" type="checkbox" value="'+ item[2] + '" id="check_'+item[2]+'" ><label class="form-check-label" for="check_'+item[2]+'"> '+item[1]+' </label></div>'; let validateOk = false; function showMessage(message) { alert(message); } function validadePass(value) { validateOk = true; if (value.length>=6) { $(".check1").removeClass("text-danger").addClass("text-success"); } else { $(".check1").removeClass("text-success").addClass("text-danger"); } if (value.length>0 && uppers.test(value)) { $(".check2").removeClass("text-danger").addClass("text-success"); } else { $(".check2").removeClass("text-success").addClass("text-danger"); } if (value.length>0 && lowers.test(value)) { $(".check3").removeClass("text-danger").addClass("text-success"); } else { $(".check3").removeClass("text-success").addClass("text-danger"); } if (value.length>0 && numbers.test(value)) { $(".check4").removeClass("text-danger").addClass("text-success"); } else { $(".check4").removeClass("text-success").addClass("text-danger"); } if (value.length>0 && specials.test(value)) { $(".check5").removeClass("text-danger").addClass("text-success"); } else { $(".check5").removeClass("text-success").addClass("text-danger"); } let check6 = false; for (i=0; i<$("#inputSenha").val().length-2; i++) { const slice = $("#inputSenha").val().substring(i, i+3).toLowerCase(); if ($("#inputNome").val().toLowerCase().includes( slice )) { check6 = true; break; } } if (!check6) { $(".check6").removeClass("text-danger").addClass("text-success"); } else { $(".check6").removeClass("text-success").addClass("text-danger"); } countTrues = [$(".check2").hasClass("text-success"), $(".check3").hasClass("text-success"), $(".check4").hasClass("text-success"), $(".check5").hasClass("text-success")].filter(x=>x==true).length; validateOk = $(".check1").hasClass("text-success") && $(".check6").hasClass("text-success") && countTrues > 2; } function validadePass2() { let validateOk2 = false; if ($("#inputSenha").val() == $("#inputSenha2").val()) { $(".check-same").removeClass("text-danger").addClass("text-success"); validateOk2 = true; } else { $(".check-same").removeClass("text-success").addClass("text-danger"); validateOk2 = false; } if (validateOk && validateOk2) { $("#submitPassword").prop('disabled', false); } else { $("#submitPassword").prop('disabled', true); } } function stringOf(value) { switch (value) { case "enderecobairro": return "Qual seu Bairro?"; break; case "enderecocep": return "Qual seu CEP?"; break; case "enderecologradouro": return "Qual seu Logradouro?"; break; case "lotacao": return "Qual sua Lotação?"; break; case "matricula": return "Qual é sua Matrícula?"; break; case "nascimento": return "Qual é sua Data de Nascimento?"; break; case "nascimentomunicipio": return "Qual o seu Município de Nascimento?"; break; case "nascimentoUF": return "Qual o Estado do seu Nascimento?"; break; case "nomemae": return "Nome da Mãe"; break; case "nomepai": return "Nome do Pai"; break; default: return value; } } $( document ).ready(function() { // call events $("#inputSenha").keypress(function() { validadePass($("#inputSenha").val()) }); $("#inputSenha").keyup(function() { validadePass($("#inputSenha").val()) }); $("#inputSenha2").keypress(function() { validadePass2() }); $("#inputSenha2").keyup(function() { validadePass2() }); $(".resetAll").click(function(){document.location.reload(true);}); $("#searchUser").click(function(){ $(".step-1").hide(); $(".loading").fadeIn(); $(".perguntas").empty(); const cpf = $("#inputCPF").val(); const hash = $("#hash").val(); $.getJSON("./back/checkuser.php?cpf="+cpf+"&hash="+hash, function (data) { if (data.message) { message = 'CPF não encontrado.'; if (data.message == "not now") message = "Você tentou alterar a senha recentemente. Tente novamente em 5 minutos."; $(".step-1").show("slow"); showMessage(message); } else { $("#inputCPFOK").val(data.cpf); $("#inputNome").val(data.nome); $("#inputLogin").val(data.login); let count = 0; let saida = ""; // montar campos de perguntas let nome = false; Object.entries(data.data).forEach( (entry) => { const lista = entry[1]; if ((lista[0] == null || lista[0] == "null") ||!Array.isArray(lista)) return false; if (count>3 || lista.length<4) return false; //console.log(entry[0]); if (entry[0].includes('nome')) { if (nome) return false; nome = true; } count++; saida += '<div class="mb-4 pergunta'+count+'">'; saida += '<label for="pergunta'+count+'" class="pergunta-title">'+stringOf(entry[0])+'</label>'; saida += '<input type="hidden" id="pergunta'+count+'" name="pergunta'+count+'" value="'+entry[0]+'">' lista.forEach( (value, i) => { saida += '<div class="form-check form-check-inline col-5"> ' +' <input class="form-check-input" type="radio" name="resposta'+count+'" id="resposta'+count+i+'" value="'+value+'"> ' +' <label class="form-check-label" for="resposta'+count+i+'">'+value+'</label> ' +'</div>'; }); saida += '</div>'; }); $(".perguntas").append(saida); // exibir area $(".step-2").show("slow"); } } ).fail(function() { $(".step-1").show(); showMessage('Erro ao buscar dados de usuário.'); }).always(function() { $(".loading").fadeOut(); }); }); $("#confirmData").click(function(){ $(".step-2").hide(); $(".loading").fadeIn(); //TODO: pega dados para requisição POST cpf = $("#inputCPF").val(); postData = { 'pergunta1': $("#pergunta1").val(), 'pergunta2': $("#pergunta2").val(), 'pergunta3': $("#pergunta3").val(), 'resposta1': $("input[name=resposta1]:checked").val(), 'resposta2': $("input[name=resposta2]:checked").val(), 'resposta3': $("input[name=resposta3]:checked").val(), } //console.log(postData); //TODO: efetua post $.post("./back/checkuser.php?valida&cpf="+cpf, postData, function (data) { //console.log(data); if (data.message) { if (data.message.toUpperCase() == "OK") { //TODO: trata dados $(".step-3").show("slow"); } else { $(".step-1").show("slow"); showMessage('Erro ao validar dados. Repita a operação em 5 minutos.') } } else { $(".step-1").show("slow"); showMessage('Erro ao validar dados. Repita a operação em 5 minutos.'); } }, "json" ).fail(function() { $(".step-2").show(); showMessage('Erro ao buscar dados de usuário.'); }).always(function() { $(".loading").fadeOut(); }); }); $("#submitPassword").click(function(){ $(".step-3").hide(); $(".loading").fadeIn(); //TODO: pega dados para requisição POST cpf = $("#inputCPF").val(); postData = { 'pergunta1': $("#pergunta1").val(), 'pergunta2': $("#pergunta2").val(), 'pergunta3': $("#pergunta3").val(), 'resposta1': $("input[name=resposta1]:checked").val(), 'resposta2': $("input[name=resposta2]:checked").val(), 'resposta3': $("input[name=resposta3]:checked").val(), 'senha': $("#inputSenha").val(), 'confirmacao': $("#inputSenha2").val() } //TODO: efetua post $.post("./back/alterasenha.php?cpf="+cpf, postData, function (data) { //console.log(data); if (data != null && data.message != null && data.message != false) { $(".step-4").show("slow"); $("#retorno").empty().append(data.message); if (data.obs) { $("#retorno").append("<br>"+data.obs); } } else { showMessage("Erro ao efetuar operação. Por favor, repita a operação"); $(".step-3").show("slow"); } }, "json" ).fail(function() { $(".step-3").show(); showMessage('Erro ao buscar dados de usuário.'); }).always(function() { $(".loading").fadeOut(); }); }); // $("#form-step-1").submit(function(e){ e.preventDefault(); $("#searchUser").click(); }); // fetchs if(self.fetch) { // execute minha solicitação do fetch aqui fetch('grupos.csv').then(function(response) { return response.blob(); }).then(function(blob) { return blob.text(); }).then(function(data) { const grupos = CSVToArray(data, ";", true); $(".grupos-items").each( function (index, elem) { const tipo = $(elem).attr("dataid"); const filtrados = grupos.filter( (i) => i[0]==tipo ).map(grupoToString); $(elem).append(...filtrados); }); }); } else { // faça alguma coisa com XMLHttpRequest? console.log("nofetch"); jQuery.get( "grupos.csv", function(data) { const grupos = CSVToArray(data, ";", true); $(".grupos-items").each( function (index, elem) { const tipo = $(elem).attr("dataid"); const filtrados = grupos.filter( (i) => i[0]==tipo ).map(grupoToString); $(elem).append(...filtrados); }); } ); } }); //setInterval(function() {window.location.reload();}, 600000); </script>]]>