Fez aquele sistema legal e quer disponibilizar para outros usuários Essa é a seção correta para isso.
Moderador: web
por Bluebird Offline » Qua Jun 30, 2010 3:17 pm
|
|
Eu coloquei assim, também. Não é que não funciona. É que os dados do campo não estão sendo enviados, pois não há a confrontação com os contidos no bd. Está ocorrendo com o Opera e Safari. Está ok com FF e IE. Veja como está meu input:
- Código: Selecionar todos
$Input .= "<input type=\"password\" readonly=\"readonly\" class=\"keyboardInput\" name=\"ps\" value=\"$ValuePassword\">";
Isto class=\"keyboardInput\" coloca um ícone ao lado do campo input para se abrir o teclado virtual.

Bluebird
SUPER VETERANO
Mensagens: 424
Registrado em: Seg Fev 16, 2009 11:15 am
|
por Bluebird Offline » Qua Jun 30, 2010 3:23 pm
Desculpe, mas descobri algo. No Opera, e acredito que no Safari também, os dados estão inseridos inversamente. Por exemplo, se insiro 12345, no Opera está sendo inserido 54321. Reitero, isso não está acontecendo no FF e IE. Eu poderia identificar o navegador e contornar o problema. Identificar o navegador eu já sei. Como eu poderia fazer os dados serem inseridos corretamente: 12345 ao invés de 54321?

Bluebird
SUPER VETERANO
Mensagens: 424
Registrado em: Seg Fev 16, 2009 11:15 am
|
por web Offline » Qua Jun 30, 2010 3:25 pm
* Obs.: To testando aqui no Opera e não está invertendo o valor do input.
Eu testei aqui no Opera, um script de envio de dados, e mostrou normalmente.
- Código: Selecionar todos
<?php echo $_POST['valor']; ?>
<form action="teste.php" method="post"> <input type="text" name="valor" value="abc" readyonly="readonly"> <input type="submit"> </form>

Gostou do que encontrou? Divulgue, indique, participe, agradeça pelas respostas.
Faço scripts personalizados ou reparos em scripts. Orçamento MSN codigosnaweb [@] hotmail [.] com
web
ADMIN
Mensagens: 11904
Registrado em: Sáb Jan 20, 2007 6:08 pm
Localização: RJ / RJ / Brasil
|
por Bluebird Offline » Qua Jun 30, 2010 3:31 pm
O problema é a inversão na entrada dos dados pelo teclado virtual nos navegadores Opera e Safari (testei no Safari, também). Se digito 12345 entra como 54321 (mas somente nesses dois navegadores). Como poderia fazer os dados entrarem corretamente conforme digitados? Aí eu identificaria o navegador, e faria a entrada de acordo com ele. A inversão está se dando no Opera e Safari por causa do teclado virtual.

Bluebird
SUPER VETERANO
Mensagens: 424
Registrado em: Seg Fev 16, 2009 11:15 am
|
por web Offline » Qua Jun 30, 2010 3:39 pm
Para identificar o navegador usando o PHP http://techpatterns.com/downloads/php_b ... ection.php
Para inverter o valor da string echo strrev("54321");

Gostou do que encontrou? Divulgue, indique, participe, agradeça pelas respostas.
Faço scripts personalizados ou reparos em scripts. Orçamento MSN codigosnaweb [@] hotmail [.] com
web
ADMIN
Mensagens: 11904
Registrado em: Sáb Jan 20, 2007 6:08 pm
Localização: RJ / RJ / Brasil
|
por Bluebird Offline » Qua Jun 30, 2010 3:44 pm
Vi, também, uma função chamada Sort (PHP), mas não sei usar com o input. Como uso strrev("54321"); com o input?

Bluebird
SUPER VETERANO
Mensagens: 424
Registrado em: Seg Fev 16, 2009 11:15 am
|
por Bluebird Offline » Qua Jun 30, 2010 3:53 pm
Estaria certo isto? - Código: Selecionar todos
$PostPassword = strrev($_POST[ps]);

Bluebird
SUPER VETERANO
Mensagens: 424
Registrado em: Seg Fev 16, 2009 11:15 am
|
por web Offline » Qua Jun 30, 2010 5:04 pm
Isso mesmo, você vai pegar o valor recebido quando o navegador for o desejado, fazer o tratamento, tipo
$valor = strrev($_POST['valor']);
E usar como precisa.
Eu nunca vi esse problema do navegador inverter o valor
Vê se não é o seu navegador "sem atualização" ou se não tem alguma função "PHP ou JS" fazendo isso ai.

Gostou do que encontrou? Divulgue, indique, participe, agradeça pelas respostas.
Faço scripts personalizados ou reparos em scripts. Orçamento MSN codigosnaweb [@] hotmail [.] com
web
ADMIN
Mensagens: 11904
Registrado em: Sáb Jan 20, 2007 6:08 pm
Localização: RJ / RJ / Brasil
|
por Bluebird Offline » Qua Jun 30, 2010 5:34 pm
Como você disse, eu acho que pode ter algo fazendo a inversão no código javascript do teclado virtual, que está dando problema no Opera e Safari (estou testando os códigos no FF, IE, Opera e Safari. Tentei instalar o Chrome e não consegui e deixei de lado). Estou identificando o navegador, e usando $valor = strrev($_POST['valor']); para o Opera e Safari, fazendo uma jogadinha com if, elseif e else. Está funcionando ok. Todos os campos input de acesso à área restrita deverão utilizar o teclado virtual, e não apenas o password. Inclusive o login e o captcha. Apesar de usar $valor = strrev($_POST['valor']); (não sei se está certo, mas isso funcionará após o submit), a inserção dos dados nos navegadores ainda é mostrada de forma invertida quando da digitação. Daí eu fiz um teste, acredito que deu certo, e se deu penso ter aumentado um pouco a segurança: os campos input referentes ao nome do usuário e ao captcha, que eram do tipo text, transformei-os em password. Assim, quando você preenche tais campos, ao invés dos valores digitados aparece o asterisco ou uma bolinha, dependendo do navegador. E está funcionando belezinha. Apesar de aparentemente haver dado certo, haveria algo com que se possa "desinverter" os valores conforme eles são digitados.

Bluebird
SUPER VETERANO
Mensagens: 424
Registrado em: Seg Fev 16, 2009 11:15 am
|
por web Offline » Qua Jun 30, 2010 7:28 pm
Eu vi o script que acho que está usando http://www.greywyvern.com/code/javascript/keyboard, e ele tem bastante coisa, teria que estudar cada arquivo usado para verificar.

Gostou do que encontrou? Divulgue, indique, participe, agradeça pelas respostas.
Faço scripts personalizados ou reparos em scripts. Orçamento MSN codigosnaweb [@] hotmail [.] com
web
ADMIN
Mensagens: 11904
Registrado em: Sáb Jan 20, 2007 6:08 pm
Localização: RJ / RJ / Brasil
|
por Bluebird Offline » Qua Jun 30, 2010 10:51 pm
Eu fiz umas alterações no teclado virtual, no css e no js. Mudei o layout e deixei apenas teclas numéricas, letras maiúsculas e minúsculas, os símbolos de arroba, hífen, underline e ponto final; e a tecla para alterar entre maiúsculas e minúsculas, cujo nome alterei de Caps para Altera. Não vou mexer mais, pois está funcionando, com isto: $valor = strrev($_POST['valor']);. Quanto a se "desinverter" os valores quando da digitação, eu queria saber se há algum recurso para se fazer isso, não especificamente dentro do código do teclado virtual. Se souber, dê uma dica.

Bluebird
SUPER VETERANO
Mensagens: 424
Registrado em: Seg Fev 16, 2009 11:15 am
|
por web Offline » Qua Jun 30, 2010 10:56 pm
Conheço só essa forma em PHP e uma em JS, mas, de qualquer forma você vai ter que alterar o script, portanto acho essa forma no PHP melhor.

Gostou do que encontrou? Divulgue, indique, participe, agradeça pelas respostas.
Faço scripts personalizados ou reparos em scripts. Orçamento MSN codigosnaweb [@] hotmail [.] com
web
ADMIN
Mensagens: 11904
Registrado em: Sáb Jan 20, 2007 6:08 pm
Localização: RJ / RJ / Brasil
|
Voltar para Laboratório de scripts PHP / MySQL
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante
|
|
|