0 && $nomeImagem != "undefined"){ $this->armazenaTecla($nomeImagem); } $this->ArrayImagensEmbaralhadas = $_SESSION['ArrayImagens']; shuffle($this->ArrayImagensEmbaralhadas); $teclado = ""; foreach ($this->ArrayImagensEmbaralhadas as $nome_imagem) { $teclado .= " "; $this->ContadorImagens++; $this->ContadorImagens == 5 ? $teclado.="
": $teclado.=""; } print $teclado; } public function excluiImagens() { try{ foreach ($_SESSION['ArrayImagens'] as $nome_imagem) { unlink($nome_imagem); } return true; } catch (Exception $e){ return false; } } public function criaTeclado(){ for ($x = 0; $x < 10; $x++) { $this->ArrayImagens[] = $this->criaImagens(md5(rand()),$x); } $_SESSION['ArrayImagens'] = $this->ArrayImagens; } private function criaImagens($nome,$texto) { $img = imagecreatetruecolor(22, 22); $background = imagecolorallocate($img, 245, 245, 245); //$cor_fonte = imagecolorallocate($img, 0, 90, 255); $cor_fonte = imagecolorallocate($img, 65, 100, 175); imagefilledrectangle($img, 0, 0, 22, 22, $background); imagettftext($img, 15 , // tamanho do caracter. 0, // angulo. 7, // posição no eixo X. 16, // posição no eixo Y. $cor_fonte, //cor da fonte. "./fonte.ttf", // tipo de fonte $texto // texto que será impresso na imagem ); ImagePNG($img, $nome . ".png"); return $nome . ".png"; } private function armazenaTecla($valor_tecla){ $_SESSION['teclas_pressionadas'][] = $valor_tecla; } public function limpar(){ $_SESSION['teclas_pressionadas']=null; } public function escreveInicializa(){ if(!isset($_SESSION['teclado_criado']) && $_SESSION['teclado_criado']!=TRUE){ print "hzeb1();ofd3m();"; $_SESSION['teclado_criado']=TRUE; }else{ print "ofd3m();"; } } public function escreveCabecalho(){ $css = file_get_contents("teclado_virtual.css"); $js = file_get_contents("teclado_virtual.js"); $saida = ""; print $saida; } public function recuperaSenha(){ $teclas_pressionadas = $_SESSION['teclas_pressionadas']; $array_teclas = $_SESSION['ArrayImagens']; foreach( $teclas_pressionadas as $valor_tecla_pressionada){ $this->senhaTemporaria.= array_search($valor_tecla_pressionada,$array_teclas); } $this->limpar(); return $this->senhaTemporaria." MD5: ".md5($this->senhaTemporaria);; } } ?>