6 maneiras de fazer a mesma coisa, o que é considerado boas práticas?

As vezes tem tantas maneiras diferentes de fazer o mesmo código que nós ficamos na dúvida quanto a qual maneira usar. O que seria considerado "boa prática" pela comunidade e o que sua equipe entenderia melhor. Suponhamos que você esteja trabalhando dentro de um método de um Domain Service chamado UmDomainServiceChique(objetoDoDominio) que será chamado por uma API. Você tem uma regra de negócio chique para ser verificada que por enquanto chamarei de VerificaMinhaRegraChiqueComplexa(). Você chama UmDomainServiceChique(objetoDoDominio) e caso VerificaMinhaRegraChiqueComplexa() retorne true você vai querer que UmDomainServiceChique faça o que tem que fazer e a api retornar Ok 200, caso contrário você quer que a API responda um erro qualquer, tipo BadRequest, e retornar uma mensagem dizendo que VerificaMinhaRegraChiqueComplexa deu ruim. Eu vejo 6 maneiras de fazer isso, gostaria de saber a opinião de outrs devs sobre qual seria a maneira menos gambiarr

Segurança dos bancos na Internet

Tudo bem que esse blog é sobre programação e outras dicas mas....

Quero deixar claro e tornar público meu repúdio à decisão judicial favorável ao banco ITAÚ e meu total repúdio e aversão à atitude tomada pelo referido banco.
Sou correntista do ITAÚ, mas a partir de hoje, se puder, deixo todo meu dinheiro no BRADESCO.
O pior: como o ITAÚ mancha sua reputação por míseros R$4000,00. Só de taxas já deve ter faturado isso de mim só esse ano.
O ITAÚ pode e DEVE ser processado, pelo cliente, por DANOS MORAIS E MATERIAIS se continuar com essa atitude.

Como acompanhamos o caso postado pelo IDG Now, a sentença, que antes era favorável ao cliente, foi mudada por um certo magistrado (parcial, vendido, subornado) estando agora favorável ao banco.
Foi feita alguma perícia (EU MESMO PODERIA FAZE-LA) com o computador do cliente para se provar que o mesmo estava inseguro. Mesmo se estivesse, é a culpa EXCLUSIVAMENTE do cliente ou o banco tem sua parcela de culpa?
Eu me pergunto se o BANCO avisou o cliente, por todos os meios de comunicação: carta, e-mail, aviso no site, propaganda na televisão etc... dos riscos que o cliente pode estar correndo.

Como sabemos, o cliente pode ser culpado por estar com um antivirus desatualizado ou falho, por baixar e executar programas duvidosos, por ser leigo em TI e não ser um especialista de segurança. Mas ele é obrigado a tal?
Se todos nós fossemos especialistas em segurança, não seria melhor irmos armados ao banco, quando formos pessoalmente? Senão o banco poderia se isentar de nos devolver o dinheiro se fossemos assaltados dentro do banco, o que ocorre com frequencia.
Como sabemos também, o código de defesa do consumidor isenta a empresa de ressarcir o cliente SE E SOMENTE a culpa for EXCLUSIVA do cliente. Será que o ITAÚ não tem nem uma parcelinha de culpa?

Na minha humilde opinião, de profissional da área:

1) O banco não tem como averiguar se o computador do cliente está seguro ou não, então ele tem a obrigação de prover a segurança
2) O usuario pode estar usando Mac OS ou linux, e o banco não tem como saber
3) Não importa se o sistema operacional ou outro sistema qualquer do usuário é pirata ou não, isso é entre o usuário e a empresa fabricante do sistema. A empresa fabricante do sistema que deve processar o usuário por estar usando sistema pirata, mas não cabe ao banco julgar isso.
4) O banco deveria ter todas as suas operações "sandboxed"
5) O banco deve prover a segurança de seus usuários, de pelo menos uma das maneiras abaixo:
5.1) Na alemanha os bancos desenvolveram programas e protocolos proprios para acesso aos serviços da banco, que não usam browsers.
5.2) o site do Itaú não é seguro (HTTPS) desde a primeira página
5.3) a empresa https://xerobank.com/ criou um browser próprio, baseado no mozilla mas com plugins de segurança e cache e proxy internacional
5.4) o BRADESCO tem um plugin activeX que identifica virus, trojans e keyloggers no computador do cliente
5.5) Jogos online, como Gunbound e CABAL, simplesmente não iniciam, e não permitem login, se o usuario tiver em seu computador um virus ou keylogger. Isso para crackers não roubarem a conta do usuário, o que acarreta pequenas perdas materiais e alguma dor de cabeça.
5.6) Como pode alguns games, que são uma diversão, terem um sistema de segurança mais sofisticado que o ITAÚ?
5.7) O yahoo criou, para evitar phishing, um sistema de selo visual um pouco mais seguro do que os sistemas que conhecemos e mais seguro que qualquer banco
5.8) Eu mesmo já criei coisa mais segura em sites que eu fiz.
5.9) Por que o Itaú não dá aquele chaveiro-token randômico para os clientes pessoa física igual alguns bancos dão para as pessoas jurídicas.
5.10) Já vi sistemas "half-mouth", que não são de nenhum banco, implementar biometria, e-cpf e outros. Por que não o ITAÚ, o banco que eu acreditava ser o maior e mais seguro?

Como sabíamos, o cliente não foi vitima de phishing, nem de keylogger, mas deum sofisticado virus que GERA AUTOMATICAMENTE o fishing quando ele entra no site do banco.
E o pior, o virus era dividido em duas partes, uma o usuário baixa e executa. (admito que essa parte é culpa do usuário). Mas a outra parte é ativado por um programa de segurança.
Se o usuário tivesse entrado numa página falsa do banco é uma coisa, mas o usuário entrou numa página verdadeira do banco, e o virus cria a página de phishing detectando o exato momento em que o usuario entra na página original, a partir dessa.

O banco não pode alegar que o computador do usuario estava inseguro, e nem que a culpa é EXCLUSIVA do usuario. Vale ressaltar que o código de defesa do consumidor só isenta a empresa se a culpa for EXCLUSIVA do cliente.

Outra coisa, de nada adianta o usuário atualizar o antivirus todo santo dia, se um virus novo simplesmente é inventado antes da ultima atualização, e até a próxima não terá vacina contra ele. Hoje mesmo atualizei meu Avira, que eu considero o melhor dos gratuitos, e ele identificou um virus que estava lá desde ontem, mas que ontem não havia sido identificado.


Bom, se fosse meu cliente, eu não gostaria de perde-lo. Além disso, está aumentando o número de usuários de serviços da internet de meia-idade ou idosos. Quem poderia culpar esses simpáticos senhores ou senhoras de não conhecerem muito de tecnologia, uma estranha tecnologia que não existia quando eram crianças? De não terem a malícia de
conhecer estratégias de segurança porque, um pouco ingenuamente, não sabem que o mundo à sua volta está muito mais perdido, desonesto e agressivo do que a 20 anos atrás?
Quem poderia culpar meu pai de ser logrado pelo site do banco, quando senhores que levam a senha anotada na meia são enganados pelos próprios funcionários do banco?

Mesmo se o problema fosse total imperícia do cliente, o banco deveria ressarci-lo. O banco pode rastrear o dinheiro através do número de série das notas. E se o banco não tiver essa informação, então o banco é notavelmente inseguro.
O banco TEM DE PROVER toda a segurança extra necessária e ponto. Para quem tomou o partido do banco, achando que sabe muito de informática, e penalizou o cliente, eu pergunto: E se fosse você? Um dia será. Você confia tanto assim no seu
sistema M$ original, seu norton antivirus, seu "soft" firewall meia - boca e nos seus milhões de antispywares, que tem seus componentes fabricados "como as salsichas"? Acho melhor você parar de usar o internet banking e só ir pessoalmente no banco.
Todas, absolutamente TODAS essas empresas de Sistema Operacional (windows), antivirus, antimalware etc fazem você concordar com um contrato que diz, garrafalmente, que eles se isentam de qualquer perda, dano, ou lucros cessantes causados por qualquer
mal funcionamento ou não-funcionamento dos seus produtos.

Um problema comum dos antivirus são os falsos positivos que nos fazem perder a confiança neles. Se você é um programador provavelmente deve ter em suas pastas uma série de dll's, biblitecas compiladas, executaveis entre outros que são erroneamente identificadas como virus porque podem ser usadas para tal. Até mesmo o CD que vem junto com o famoso livro de C++ do Deitel contem um arquivo que vive caindo em falsos positivos.


Como um colega já disse, o ITAÚ é corruptor e comprador de juizes. Uma rápida navegada no ITAÚ mostra que grande parte das páginas é HTML puro, sem qualquer tipo de validação dinâmica e que em sua maioria não são SSL, como o banco mentiu em julgamento.
A página sobre SEGURANÇA e PRIVACIDADE, é uma letra miúda, no rodapé da página, que NÃO É HTTPS (SSL).

A decisão (comprada) do desembargador cria um precedente, uma jurisprudência, que fará no futuro que todo processo semelhante a este resulte favoravelmente ao banco. O ITAÚ é mestre nesse tipo de coisa. Se for sempre favoravel ao banco, todos nós perdemos. Se for favorável ao cliente, o banco pode perder muito dinheiro, se não investir em segurança e tiver que arcar com osprejuizos.
Se a cada instância maior que se apelar a decisão for favorável ao banco, quando chegar ao supremo tribunal federal, aí, meu amigo, o banco sempre terá razão.
Imagina se fosse você: roubam todo o seu dinheiro no dia em que você recebe. Vai passar fome o mes inteiro? Nem um advogado você conseguirá pagar.

Os links com as notícias, vejam os comentários:

http://idgnow.uol.com.br/seguranca/2009/10/26/tribunal-muda-sentenca-e-isenta-itau-por-vazamento-de-senha-em-computador-de-cliente
http://idgnow.uol.com.br/seguranca/2009/10/29/banco-pode-ficar-livre-de-indenizacao-se-provar-que-culpa-por-fraude-na-web-e-exclusiva-do-consumidor-diz-procon/
http://idgnow.uol.com.br/seguranca/2009/10/30/cuidado-com-o-novo-virus-que-rouba-senhas-bancarias

Comentários

Postagens mais visitadas deste blog

Uso de memória no SQL Server

Busca de CEP com o Lazarus - Parte 1 - UrlEncode

Botão Add This para adicionar seu post em qualquer rede