1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Enviar variavel php

Discussão em 'Web Development' iniciada por Spiderman, 17 de Março de 2007. (Respostas: 11; Visualizações: 1444)

  1. Spiderman

    Spiderman I folded Myself

    Boas a todos!

    Tenho aqui uma duvida, que é facil de explicar, mas que nao sei a solução.

    Tenho uma tabela numa BD, e utilizo uma pagina em php para a ver. Depois, ao lado de cada registo tem um hiperlink de apagar, que vai para a pagina apagar.php

    Como é que eu mando o valor do registo, através de uma variavel (tenho um campo chamado "id" de nomeração automatica para esse efeito) para a outra pagina (apagar.php)

    Não gosto muito do metodo GET, porque a "coisa" vai muito exposta. A nao ser que dê para encriptar os dados, sei la....

    Some help :joker:
     
  2. dark_splinter

    dark_splinter Power Member

    Usa POST .... que já ninguem vé.....
     
  3. Spiderman

    Spiderman I folded Myself

    Mas como é que eu envio?

    Eu receber sei, agora enviar...

    Não queria que fosse atravez de um botão submit, mas sim atraves de um link normal feito com uma palavra.
     
  4. dark_splinter

    dark_splinter Power Member

    épa.... só se criares uma sessão .... senão n tou a ver :)...

    mas deve haver outra maneira espera que alguém responda ....
     
  5. shello

    shello Moderador
    Staff Member

    Vê se os últimos pois posts daqui ajudam.
     
  6. msdevweb

    msdevweb Power Member

    Se não queres que ninguem veja, nada melhor que encriptares as tuas variaveis fazendo uma funçãozita, não precisa de muita proteção pois não?

    Depois de teres a tua função de encriptar e desencriptar fazes tipo

    $id_apagar = encripta($id_apagar);

    e no link fazes fazes o destino para " apagar.php?apaga_id=<? echo "$id_apagar"; > "

    e não te esqueças de no apagar.php chamares a função para desencriptares a variavel, antes de fazer alguma coisa com ela.

    tipo

    $apagar_reg = desencripta($apaga_id); //variavel que foi enviada com o link (href)

    e aí tens o teu id para apagar.. :)

    Abraço...
     
  7. oscarolim

    oscarolim Power Member

    Nao tem problema de o id ir no get. Eu suponho que quem ve os dados está autenticado (sessoes) certo?
    Antes de apagar tem o cuidado de ver se quem apagou tem direitos para isso (nao faças logo o DELETE ... WHERE id=$x).
     
  8. Spiderman

    Spiderman I folded Myself

    Boas

    Segui o conselho do msdevweb, e andei à procura na net e encontrei a função de codificação:

    base64_encode("$variavel");
    base64_decode("$variavel");

    Para aumentar a segurança fiz 3 codificações e descodificações.

    Será que é muito puxado para o futuro servidor?

    cumps
     
  9. msdevweb

    msdevweb Power Member

    Isso em si não aumenta quase nada a segurança, (fazendo 3 x base64_decode obtenho facilmente a tua variavel) mais vale fazeres uma função propria para no final de teres encriptado a tua variavel em base64, uma função para aumentares a segurança... abaixo mostro um exemplo que utilizo (a funcionar), embora com algumas modificações na string:
    Código:
    <?
    function mycript_encode($stringamos)
    {
     $base="q2sAdu7xCNgdM6OpUt7hyrFzG3cZvb0VkljLf4XhSiReI9H3oP5m5rEaJdT9b/+"; //aqui  escreves a tua propria string para substituir os caracteres ja encriptados pelo base64 (utiliza sempre 64 caracteres)
     $b64_str=base64_encode($stringamos); //aqui encriptamos em base64
     $i=0;
     $j=0;
     while ($i < strlen($b64_str))
     {
      if ($j==64) $j=0;
      $k[$i]=$b64_str[$i].$base[$j]; //aqui o nucleo do nosso sistema de encriptação
      $encoded.=$k[$i];
      $i++;
      $j++;
     }
     return $encoded; // retornamos a nossa variavel encriptada já com o nosso sistema
    }
     
     
    function mycript_decode($stringamos)
    {
     $i=0;
     $j=0;
     while ($i < strlen($stringamos))
     {
      $k[$i]=$stringamos[$j]; //aqui retiras os caracteres q foram adicionados à string encriptada
      $decoded.=$k[$i];
      $i++;
      $j=$j+2;
     }
     $decoded=base64_decode($decoded); //no final de retirados os caracteres: base64_decode
     return $decoded;
    }
    ?>
     
    

    E que tal? tens a tua propria crypt function com ajuda do base 64 :)

    é so fazeres um include nas paginas que precisas dela e depois:

    $variavel_encriptada= mycript_encode($variavel_a_encriptar);
    e desencriptar:
    $variavel_desencriptada= mycript_decode($variavel_a_desencriptar);

    Um Abraço.
     
    Última edição: 18 de Março de 2007
  10. Spiderman

    Spiderman I folded Myself

    A nivel de eliminar os registos, nao é necessário uma encriptação dessas. É mesmo só para nao se chegar à url, e ao meter um número, Pufff, lá se ia um registo se querer.

    É uma pagina de acesso esclusivo ao admin do site.

    Mesmo assim esse código de encriptar que me arranjas-te vai dar jeito para aplicar no sistema de login e password. É por POST, mas mesmo assim vou pôr na mesma.

    Mt Obrigado :)

    cumps
     
  11. eddyjay

    eddyjay 1st Folding then Sex

    eu nos logins e pass's uso sempre, sempre o sistema md5(md5(password+salt)) e acho que fica decentemente segura...

    no entanto esse script do msdevweb parece-me interessante

    A questão é, qual dos dois o melhor?
     
  12. msdevweb

    msdevweb Power Member

    É assim, e é so a minha opiniao, quando utilizas sistemas de encriptaçao standard, que em php já sao bem conhecidos de toda a gente, acabas por ser bastantes obvio da desencriptaçao, ate porque ja existem bastantes ferramentas para quebrar essa segurança... agora, se criares a tua propria encriptaçao, ai as coisas tornam-se bastante mais dificeis, mas e claro que o codigo que aqui postei se for usado igual, nao criara muita segurança, mas se reparares na logica do ciclo de encriptaçao, facilmente crias centenas maneiras diferentes de criares uma encriptacao so tua :) o que se torna vantajoso, ja que so tu conheces o sistema :) Nao estou a dizer que e inquebravel, mas talvez seja mais seguro :)

    Um Abraço.
     

Partilhar esta Página