<div dir="ltr">muitas aplicações sao vulneraveis a ataques de exaustao de recursos e ataques "ddos".<div><br></div><div>para isso precisa-se de, entre outras coisas, de um balanceador de carga bem configurado com maxconn, rajada, etc. monitoração e umas regras marotas de iptables/nginx/etc. eh divertido de brincar com isso quando vc tem tempo livre, pode ficar retornando erros aleatorios quando o cara ta forcando a barra.</div>

</div><div class="gmail_extra"><br><br><div class="gmail_quote">2013/9/16 Solli Honorio <span dir="ltr"><<a href="mailto:shonorio@gmail.com" target="_blank">shonorio@gmail.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">Em 16 de setembro de 2013 00:53, Eduardo Verissimo <span dir="ltr"><<a href="mailto:everissimo@gmail.com" target="_blank">everissimo@gmail.com</a>></span> escreveu:<div class="im">

<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>Depende, Solli.<br><br></div>Eu penso em um caso típico: um site para quem quer ter casos fora do casamento. Ao colocar e-mail e senha, tudo o que esse site pode dizer é que a combinação e-mail/senha não existe no banco de dados. Afirmar que o e-mail existe seria sim uma falha de segurança, com implicações possivelmente terríveis para o usuário.<br>




</div><div class="gmail_extra"><br></div></blockquote><div><br></div></div><div>Sim, para algum aplicação sim. Então neste caso ela não deveria ter o email como chave primaria do sistema dela. Você até pode argumentar em fazer a validação do email em 2 etapas, mas isto vai depender muito da aplicação e portanto não considero uma falha de segurança.</div>

<div><div class="h5">

<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="gmail_extra"><br><div class="gmail_quote">Em 15 de setembro de 2013 23:15, Solli Honorio <span dir="ltr"><<a href="mailto:shonorio@gmail.com" target="_blank">shonorio@gmail.com</a>></span> escreveu:<div>



<div><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">Em 15 de setembro de 2013 21:28, Leonardo Ruoso <span dir="ltr"><<a href="mailto:leonardo@ruoso.com" target="_blank">leonardo@ruoso.com</a>></span> escreveu:<div>




<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>Deve haver alguma aplicação onde o benefício de guardar o valor do md5 de uma string como BINARY/BYTEA em oposição ao próprio valor da string e deixar o índice BTREE fazer seu trabalho compensará → provavelmente é a mesma aplicação que vai notar benefício real em adotar largura fixa em detrimento de XML para intercâmbio de dados. Felizmente eu ainda não tive de colocar minhas mãos em nenhuma delas. Infelizmente eu já tive de lidar com CNAB e com chaves artificiais onde cabiam chaves naturais suficientes na minha vida…</div>







<div><br></div><div>Acabamos de modelar aqui um sistema, em que algumas tabelas contém milhões de registros…</div><div><br></div><div>Adivinha qual vai ser a chave das regiões brasileiras (hierarquia desde país até setor censitário passando por região, uf, meso, micro, municipio, distrito e subdistrito)? </div>







<div><br></div><div>br.se.sp.regiao-metropolitana-de-sao-paulo.sao-paulo.sao-paulo.moema-indianapolis.moema.av-indianapolis-2000-2200</div><div><br></div><div>Servidor com 32 cores e 64GB de RAM?</div><div><br></div><div>







R$ 10 mil reais por ano</div><div><br></div><div>Custo de manutenção de sistemas?</div><div><br></div><div>Incalculável!</div><div><br></div><div>Galera:</div><div><br></div><div>Chave natural é tudo de bom!</div><div>Chave composto é lindo e funciona!</div>







<div><br></div><div>Não se esqueça que dizer para os usuários que um email já está cadastrado permite atacar sua base de usuários :)</div><div><br></div></div></blockquote><div><br></div></div><div>Acho esta afirmação parcialmente verdadeira. Conhecer que existe um email na tua base é inevitável quando vc a está utilizando como uma chave para o sistema, e nem preciso ser um hacker para isto.</div>






<div><br></div><div>Qualquer um pode saber quais são os emails que estão cadastrado no Amazon.com e no Twitter, por exemplo, mas isto não é considerado uma falha de segurança da Amazon.</div><div><div><div> </div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div dir="ltr"><div></div><div><br></div><div class="gmail_extra"><br><div class="gmail_quote">
Em 15 de setembro de 2013 17:17, Lucas Mateus <span dir="ltr"><<a href="mailto:lucasmateus.oliveira@gmail.com" target="_blank">lucasmateus.oliveira@gmail.com</a>></span> escreveu:<div><div><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">







<br>
        É disso que to falando, usar o MD5 mesmo (binário) e não md5 em hexadecimal, e acho sim muito comum emails com mais de 16 bytes.<br>
<br>
        E se executar a query já passado o email com o md5, sem precisar usar a função do BD é ainda melhor, ja que o BD faz o hex por conta própria.<br>
<br>
<br>
mysql> show create table users_2;<br>
+---------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+<br>
| Table   | Create Table                                                                                                                                                                                              |<br>
+---------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+<br>
| users_2 | CREATE TABLE `users_2` (<br>
  `email` varchar(60) default NULL,<br>
  `email_md5` binary(16) default NULL,<br>
  KEY `idx_email` (`email`),<br>
  KEY `idx_email_md5` (`email_md5`)<br>
) ENGINE=InnoDB DEFAULT CHARSET=utf8 |<br>
+---------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+<br>
1 row in set (0.00 sec)<br>
<br>
<br>
mysql> select email from users_2 where email = '<a href="mailto:teste967847@domain.com" target="_blank">teste967847@domain.com</a>';<br>
+------------------------+<br>
| email                  |<br>
+------------------------+<br>
| <a href="mailto:teste967847@domain.com" target="_blank">teste967847@domain.com</a> |<br>
+------------------------+<br>
1 row in set (0.21 sec)<br>
<br>
mysql> select email from users_2 where email_md5 = unhex(md5('<a href="mailto:teste967848@domain.com" target="_blank">teste967848@domain.com</a>'));<br>
+------------------------+<br>
| email                  |<br>
+------------------------+<br>
| <a href="mailto:teste967848@domain.com" target="_blank">teste967848@domain.com</a> |<br>
+------------------------+<br>
1 row in set (0.00 sec)<br>
<br>
<br>
Em 15/09/2013, às 16:44, Eden Cardim <<a href="mailto:eden@insoli.de" target="_blank">eden@insoli.de</a>> escreveu:<br>
<div><div><br>
>>>>>> "Lucas" == Lucas Mateus <<a href="mailto:lucasmateus.oliveira@gmail.com" target="_blank">lucasmateus.oliveira@gmail.com</a>> writes:<br>
><br>
>    Lucas>     Show Eden, mas seu teste não tem absolutamente nada a<br>
>    Lucas> ver com o que eu disse =)<br>
><br>
> A única diferença do que você mostrou é que no meu caso, o campo<br>
> email_md5 não existe porque não precisa, o índice resolve. E eu<br>
> coloquei valores md5 no campo email pra ter alguma aleatoriedade no<br>
> teste.<br>
><br>
> --<br>
> Eden Cardim -- Insolide Soluções de TI Ltda.<br>
> <a href="tel:%2B55%2011%209644%208225" value="+551196448225" target="_blank">+55 11 9644 8225</a><br>
> <a href="http://insoli.de" target="_blank">http://insoli.de</a><br>
> =begin disclaimer<br>
>   Sao Paulo Perl Mongers: <a href="http://sao-paulo.pm.org/" target="_blank">http://sao-paulo.pm.org/</a><br>
> SaoPaulo-pm mailing list: <a href="mailto:SaoPaulo-pm@pm.org" target="_blank">SaoPaulo-pm@pm.org</a><br>
> L<<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a>><br>
> =end disclaimer<br>
<br>
=begin disclaimer<br>
   Sao Paulo Perl Mongers: <a href="http://sao-paulo.pm.org/" target="_blank">http://sao-paulo.pm.org/</a><br>
 SaoPaulo-pm mailing list: <a href="mailto:SaoPaulo-pm@pm.org" target="_blank">SaoPaulo-pm@pm.org</a><br>
 L<<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a>><br>
=end disclaimer<br>
</div></div></blockquote></div></div></div><span><font color="#888888"><br><br clear="all"><div><br></div>-- <br>Leonardo Ruoso<div>Journalist, Perl developer and business consultant<br><div>Media, UFC/2006; Telecom, IFCE/1998</div>






</div>
</font></span></div></div>
<br>=begin disclaimer<br>
   Sao Paulo Perl Mongers: <a href="http://sao-paulo.pm.org/" target="_blank">http://sao-paulo.pm.org/</a><br>
 SaoPaulo-pm mailing list: <a href="mailto:SaoPaulo-pm@pm.org" target="_blank">SaoPaulo-pm@pm.org</a><br>
 L<<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a>><br>
=end disclaimer<br>
<br></blockquote></div></div></div><span><font color="#888888"><br><br clear="all"><div><br></div>-- <br>"o animal satisfeito dorme". - Guimarães Rosa
</font></span></div></div>
<br>=begin disclaimer<br>
   Sao Paulo Perl Mongers: <a href="http://sao-paulo.pm.org/" target="_blank">http://sao-paulo.pm.org/</a><br>
 SaoPaulo-pm mailing list: <a href="mailto:SaoPaulo-pm@pm.org" target="_blank">SaoPaulo-pm@pm.org</a><br>
 L<<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a>><br>
=end disclaimer<br>
<br></blockquote></div></div></div><br></div>
<br>=begin disclaimer<br>
   Sao Paulo Perl Mongers: <a href="http://sao-paulo.pm.org/" target="_blank">http://sao-paulo.pm.org/</a><br>
 SaoPaulo-pm mailing list: <a href="mailto:SaoPaulo-pm@pm.org" target="_blank">SaoPaulo-pm@pm.org</a><br>
 L<<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a>><br>
=end disclaimer<br>
<br></blockquote></div></div></div><div><div class="h5"><br><br clear="all"><div><br></div>-- <br>"o animal satisfeito dorme". - Guimarães Rosa
</div></div></div></div>
<br>=begin disclaimer<br>
   Sao Paulo Perl Mongers: <a href="http://sao-paulo.pm.org/" target="_blank">http://sao-paulo.pm.org/</a><br>
 SaoPaulo-pm mailing list: <a href="mailto:SaoPaulo-pm@pm.org">SaoPaulo-pm@pm.org</a><br>
 L<<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a>><br>
=end disclaimer<br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br>Tiago B. Peczenyj<br>Linux User #405772<br><br><a href="http://about.me/peczenyj" target="_blank">http://about.me/peczenyj</a>
</div>