Re: Criptografar dados pessoais

2007-08-10 Por tôpico Marcio Trindade

Designer,

sim você está certo, porém em minhas aplicações eu acabo fazendo uma
condição antes, este foi só um ex que coloquei aqui pra vc, fiz o
código na mão só pra explicar como usar o código hehheheh!

Mesmo assim vale a dica!

Abraços


On 10 ago, 11:03, hostdesigner [EMAIL PROTECTED] wrote:
 Esse seu código, funciona corretamente, sem nenhum erro?

 Bom, talvez você não saiba, mas, o HTTP_REFERER é uma das funções
 amigo da onça ela nem sempre retorna uma URL, isso por que o Browser
 do usuário pode não disponibilizar esta informação ou o usuário
 bloqueou esta função...

 E quando o controller executar o método redirect() deveria dar erro,
 já que não existe uma url em referer.

 No mais, obrigado pela ajuda.

 Falopa!

 On 10 Ago, 09:53, Marcio Trindade [EMAIL PROTECTED] wrote:

  Ai man,

  segue aqui o meu código de como eu utilizo ele
  observe que você tem que usar o decode na instância do componente.

  ?php
  class UsersController extends AppController
  {
  var $name = 'Users';
  var $uses = array(Usuario);
  var $components = array(Password);

  function lougout(){
  $this-Session-del(Usuario);
  $this-redirect($_SERVER[HTTP_REFERER]);
  }

  function login(){
  if(!empty($this-data[Usuario][geral])){
  $usuario = 
  Set::extract($this-Usuario-findByUsr_ds_email($this-

  data[Usuario][usr_ds_email]), Usuario);

  if(!empty($usuario)){
  
  if($this-data[Usuario][usr_ds_senha] == 
  $this-Password-decode($usuario[usr_ds_senha])){

  $this-cleanUpFields();
  
  $this-Session-write(Usuario, $usuario);
  
  $this-Session-setFlash('Usuário logado com sucesso!');
  }else{
  
  $this-Session-setFlash('Dados inválidos!');
  }
  }else{
  $this-Session-setFlash('Dados 
  inválidos!');
  }
  }
  $this-redirect($_SERVER[HTTP_REFERER]);
  }
  }
  ?

  qualquer dúvida to por aqui

  abraços

  On 9 ago, 19:34, hostdesigner [EMAIL PROTECTED] wrote:

   Bom, na dúvida eu peguei o caso do componente mesmo, o que me deixou
   com a pulga atráz da orelha foi o caso de no 
   tutorialhttp://cakephp.com.br/cakemanual/ch09s02.html

   de como criar um componente eles citarem o método startup, mas, eu fiz
   sem ele e funcionou normalmente, afinal qual a funcionalidade deste
   método?

   Voltando ao tema codificação...
   Eu adicionei a classe que o amigo postou, estou usando e fui agora em
   editar e a senha aparece sempre criptografada, então, preciso que seja
   retornada sem criptografia, para isso tentei...

   $this-data['senha'] = $this-senha-decode( $this-data['senha'] );

   Claro, não funcionou, e ai como que faz?

   Falopa!


--~--~-~--~~~---~--~~
Recebeu esta mensagem porque está inscrito em Grupo Cake PHP Português do 
Grupos Google.
 Para enviar mensagens para este grupo, envie um email para 
cake-php-pt@googlegroups.com
 Para anular a inscrição neste grupo, envie um email para [EMAIL PROTECTED]
 Para mais opções, visite este grupo em 
http://groups.google.com/group/cake-php-pt?hl=pt-PT
-~--~~~~--~~--~--~---



Re: Criptografar dados pessoais

2007-08-10 Por tôpico Marcio Trindade

Ai man,


segue aqui o meu código de como eu utilizo ele
observe que você tem que usar o decode na instância do componente.

?php
class UsersController extends AppController
{
var $name = 'Users';
var $uses = array(Usuario);
var $components = array(Password);

function lougout(){
$this-Session-del(Usuario);
$this-redirect($_SERVER[HTTP_REFERER]);
}

function login(){
if(!empty($this-data[Usuario][geral])){
$usuario = 
Set::extract($this-Usuario-findByUsr_ds_email($this-
data[Usuario][usr_ds_email]), Usuario);

if(!empty($usuario)){

if($this-data[Usuario][usr_ds_senha] == $this-Password-
decode($usuario[usr_ds_senha])){
$this-cleanUpFields();

$this-Session-write(Usuario, $usuario);

$this-Session-setFlash('Usuário logado com sucesso!');
}else{
$this-Session-setFlash('Dados 
inválidos!');
}
}else{
$this-Session-setFlash('Dados 
inválidos!');
}
}
$this-redirect($_SERVER[HTTP_REFERER]);
}
}
?


qualquer dúvida to por aqui

abraços


On 9 ago, 19:34, hostdesigner [EMAIL PROTECTED] wrote:
 Bom, na dúvida eu peguei o caso do componente mesmo, o que me deixou
 com a pulga atráz da orelha foi o caso de no 
 tutorialhttp://cakephp.com.br/cakemanual/ch09s02.html

 de como criar um componente eles citarem o método startup, mas, eu fiz
 sem ele e funcionou normalmente, afinal qual a funcionalidade deste
 método?

 Voltando ao tema codificação...
 Eu adicionei a classe que o amigo postou, estou usando e fui agora em
 editar e a senha aparece sempre criptografada, então, preciso que seja
 retornada sem criptografia, para isso tentei...

 $this-data['senha'] = $this-senha-decode( $this-data['senha'] );

 Claro, não funcionou, e ai como que faz?

 Falopa!


--~--~-~--~~~---~--~~
Recebeu esta mensagem porque está inscrito em Grupo Cake PHP Português do 
Grupos Google.
 Para enviar mensagens para este grupo, envie um email para 
cake-php-pt@googlegroups.com
 Para anular a inscrição neste grupo, envie um email para [EMAIL PROTECTED]
 Para mais opções, visite este grupo em 
http://groups.google.com/group/cake-php-pt?hl=pt-PT
-~--~~~~--~~--~--~---



Re: Criptografar dados pessoais

2007-08-10 Por tôpico Marcio Trindade

designer,

lembre-se sempre de colocar uma chave para a sua aplicação hein! (no
componente Passoword altere a variavel key - var $key =
'hostdesigner';)

cole o seu código aqui que eu vejo qual o erro!

abraços

On 9 ago, 22:35, hostdesigner [EMAIL PROTECTED] wrote:
 Pode me explicar como funciona este componente?

 Falopa!

 On 9 ago, 21:06, Guga [EMAIL PROTECTED] wrote:

  Velhão

  vc pode utilizar o componente: othAuth component v0.5.4.5.

 http://bakery.cakephp.org/articles/view/othauth-component-v0-5-4-5

  Fui...


--~--~-~--~~~---~--~~
Recebeu esta mensagem porque está inscrito em Grupo Cake PHP Português do 
Grupos Google.
 Para enviar mensagens para este grupo, envie um email para 
cake-php-pt@googlegroups.com
 Para anular a inscrição neste grupo, envie um email para [EMAIL PROTECTED]
 Para mais opções, visite este grupo em 
http://groups.google.com/group/cake-php-pt?hl=pt-PT
-~--~~~~--~~--~--~---



Re: Criptografar dados pessoais

2007-08-09 Por tôpico Rafael Barbosa
Coloca na pasta vendors.
Chama antes do controler q tu for usar com a função vendor();
Pronto tá incluído. Se quiser usar em todos os controllers é só colocar a
chamada no app_controller =)


On 8/9/07, hostdesigner [EMAIL PROTECTED] wrote:


 Legal esse seu script ai, eu estava estudando o MyCript, mas, vou
 ficar com o seu, você me convenceu...

 Agora me surgiu outra dúvida, se eu quiser adicionar uma função para
 que ela fique disponível no cake eu uso o app_controller, mas, e se eu
 quiser usar uma classe? Por exemplo se eu quiser usar esta sua classe
 tem alguma forma de anexa-la no cake?

 Falopa!


 On 9 Ago, 14:15, Marcio Trindade [EMAIL PROTECTED] wrote:
  hostdesigner,
 
  não recomendo por ser algo muito simples pra quebrar.
 
  segue abaixo um script que eu utilizava.
 
  ?php
 
  class PasswordComponent {
  var $key = 'escreva uma chave aqui';
 
  function encode($str){
srand((double)microtime()*100);
$r = md5(rand(0,32000));
$c = 0;
$v = ;
for ($i = 0; $i  strlen($str); $i++){
   if ($c == strlen($r)) $c = 0;
   $v .= substr($r,$c,1) . (substr($str,$i,1) ^
 substr($r,$c,1));
   $c++;
}
return base64_encode($this-chave($v));
  }
 
  function decode($str) {
$str = $this-chave(base64_decode($str));
$v = ;
for ($i = 0; $i  strlen($str); $i++){
   $md5 = substr($str,$i,1);
   $i++;
   $v .= (substr($str,$i,1) ^ $md5);
}
return $v;
  }
 
  function chave($str) {
$r = md5($this-key);
$c = 0;
$v = ;
for ($i = 0; $i  strlen($str); $i++) {
   if ($c == strlen($r)) $c = 0;
   $v .= substr($str,$i,1) ^ substr($r,$c,1);
   $c++;
}
return $v;
  }
 
  }
 
  ?
 
  esta forma é bem legal por que utiliza uma chave onde somente você vai
  saber, se acaso alguém conseguir invadir seu banco de dados o cara não
  vai conseguir pegar a senha tão facilmente como usar um base64_decodde
  entendeu :)
 
  abraços
 
  On 9 ago, 14:51, hostdesigner [EMAIL PROTECTED] wrote:
 
   Legal essa forma ai imaginei que eu não pudesse fazer a seleção do
   campo separadamente.
 
   Bom, quanto a função de codificação, eu não encontrei nada referente a
   isso (ainda), de qualquer forma por que você não recomenda o
   base64_encode()?
 
   Falopa!


 



-- 
Rafael Barbosa
Analista de Sistemas Web
Gradua Networks

--~--~-~--~~~---~--~~
Recebeu esta mensagem porque está inscrito em Grupo Cake PHP Português do 
Grupos Google.
 Para enviar mensagens para este grupo, envie um email para 
cake-php-pt@googlegroups.com
 Para anular a inscrição neste grupo, envie um email para [EMAIL PROTECTED]
 Para mais opções, visite este grupo em 
http://groups.google.com/group/cake-php-pt?hl=pt-PT
-~--~~~~--~~--~--~---



Re: Criptografar dados pessoais

2007-08-09 Por tôpico hostdesigner

Qual a diferença de usar como vendor e usar como componente?

Falopa!


--~--~-~--~~~---~--~~
Recebeu esta mensagem porque está inscrito em Grupo Cake PHP Português do 
Grupos Google.
 Para enviar mensagens para este grupo, envie um email para 
cake-php-pt@googlegroups.com
 Para anular a inscrição neste grupo, envie um email para [EMAIL PROTECTED]
 Para mais opções, visite este grupo em 
http://groups.google.com/group/cake-php-pt?hl=pt-PT
-~--~~~~--~~--~--~---



Re: Criptografar dados pessoais

2007-08-09 Por tôpico hostdesigner

Pode me explicar como funciona este componente?

Falopa!

On 9 ago, 21:06, Guga [EMAIL PROTECTED] wrote:
 Velhão

 vc pode utilizar o componente: othAuth component v0.5.4.5.

 http://bakery.cakephp.org/articles/view/othauth-component-v0-5-4-5

 Fui...


--~--~-~--~~~---~--~~
Recebeu esta mensagem porque está inscrito em Grupo Cake PHP Português do 
Grupos Google.
 Para enviar mensagens para este grupo, envie um email para 
cake-php-pt@googlegroups.com
 Para anular a inscrição neste grupo, envie um email para [EMAIL PROTECTED]
 Para mais opções, visite este grupo em 
http://groups.google.com/group/cake-php-pt?hl=pt-PT
-~--~~~~--~~--~--~---



Criptografar dados pessoais

2007-08-08 Por tôpico [EMAIL PROTECTED]

Gostaria de criptografar os dados pessoais do usuário, como medida de
segurança, sei que muita gente nem se preocupa com isso, porém, tenho
interesse em faze-lo.

No cakePHP eu não estou tendo muita produtividade devido estar
aprendendo ainda, mas, utilizando o bake eu consigo render alguma
coisa, sendo assim, vou publicar aqui um dos metodos criados para que
alguém possa dar-me o exemplo de como criptografar.


function add() {
if(empty($this-data)) {
$this-set('cidades', 
$this-Usuario-Cidade-generateList());
$this-render();
} else {
$this-cleanUpFields();
if($this-Usuario-save($this-data)) {
$this-Session-setFlash('The Usuario has been 
saved');
$this-redirect('/usuarios/index');
} else {
$this-Session-setFlash('Please correct errors 
below.');
$this-set('cidades', 
$this-Usuario-Cidade-generateList());
}
}
}

Gostaria de utilizar uma função em especial base64_encode(), porém a
forma como o cake utiliza para salvar os dados não permite
(aparentemente) que eu realize o procedimento nos campos que desejo.
Neste caso preciso fazer no campo: senha

Falopa!


--~--~-~--~~~---~--~~
Recebeu esta mensagem porque está inscrito em Grupo Cake PHP Português do 
Grupos Google.
 Para enviar mensagens para este grupo, envie um email para 
cake-php-pt@googlegroups.com
 Para anular a inscrição neste grupo, envie um email para [EMAIL PROTECTED]
 Para mais opções, visite este grupo em 
http://groups.google.com/group/cake-php-pt?hl=pt-PT
-~--~~~~--~~--~--~---