Quando se utiliza o metodo GET os parametros de solicitacao, codificados como pares de nome e valor, ficam visiveis na URL do script que trata a solicitacao HTTP. Isto torna o GET menos seguro, comparado ao POST, porque os dados sao enviados como parte da URL e assim, alem da URL estar visivel a qualquer um, pode ser adicionada no favoritos, armazenada no cache e permanecer no historico do navegador.Exemplo de URL com parametros no script PHP:http://www.site.com/index.php?op=L&md=D&id=8E comum utilizar parametros no script como meio de especificar as funcoes que serao executadas ou tambem como passagem de valores para variaveis ou funcoes. Se a navegacao no site pode ser manipulada apenas adulterando o valor de um parametro na URL, ou se ha alguma informacao relativamente importante que precisa ser passada por parametro na URL, e uma boa medida proteger o site dos bisbilhoteiros. Uma solucao e esconder os parametros da URL, adicionalmente com outras medidas de seguranca.Nao quero neste artigo ditar regras de seguranca para sites. Quero apenas mostrar uma solucao simples e alternativa para proteger a URL, sem uso das ferramentas convencionais e serias de criptografia. Nesta solucao caseira, e usado uma combinacao de comandos nativos do PHP para dar um certo efeito de criptografia.Uma forma de esconder os parametros e codifica-los em caracteres ilegiveis. Somente o script que manipula a solicitacao sabera decodifica-los, como se fosse uma criptografia.Exemplo de URL com parametros codificados:http://www.site.com/index.php?p=dpECApXucSffrhH0VfFOTWgfFyIErbMOTv4ZT5EEvEEWrEUm metodo simples de codificacao e decodificacao e o Base64. O Base64 e um metodo para codificacao de dados para transferencia na Internet. Util na transmissao de dados binarios por meios que lidam apenas com texto, por exemplo, enviar arquivos por email. O Base64 codifica qualquer dado em uma sequencia de caracteres dentre 64 caracteres distintos (A-Z, a-z, 0-9, + e /). Por exemplo, o texto "ola mundo", convertido para Base64 se torna "b2xhIG11bmRv". Existem diversas variacoes do Base64 mas nao importa aqui.Entretanto, o Base64 nao e uma criptografia, e apenas uma codificacao. Na codificacao os dados sao facilmente convertidos de uma representacao para outra, sem a necessidade de uma chave, apenas do algoritmo. O algoritmo Base64 e bastante comum e seu uso e facil de ser percebido. Usar somente ele nao adiantaria muito no proposito de esconder os parametros.Para camuflar o Base64 pode-se usar uma sequencia de eventos em uma funcao que ira codificar ou decodificar a URL. Esta sequencia, inventada pelo programador, fica desconhecida para quem tem acesso a pagina HTML apresentada no navegador pois esta no codigo fonte do script. Praticamente uma criptografia onde a chave e o algoritmo em si.A seguir tem um exemplo de implementacao desta solucao em PHP. A classe "cripto" contem as funcoes que irao codificar e decodificar a URL. Nelas, algumas funcoes nativas do PHP foram usadas para camuflar o Base64:A funcao "strtr", retorna uma copia da string, traduzindo todas as ocorrencias de cada caractere do primeiro conjunto para o caractere correspondente no segundo conjunto; A funcao "substr" retorna a parte da string a partir do parametro especificado; A funcao "strrev" retorna a string invertida; Por fim, a funcao "base64_encode" codifica