Não mexa com NULL

Uma história digna de sexta-feira aconteceu com o pesquisador de segurança americano Joseph Tartaro. Ele queria se destacar ao pedir não apenas um número de placa individual para um carro, mas também vinculá-lo ao seu ofício. Meu primeiro pensamento foi brincar com o SEGFAULT ou algo assim. Mas, no final, ele decidiu o número NULL do carro e o VOID da esposa. Você sentiu que algo estava errado? Sobre o que uma brincadeira inocente resultou para ele, sobre outro curioso Sr. Null e erros instrutivos ao verificar tipos de dados na entrada do usuário, lidos sob o gato.



Então, em 2016, nosso coringa de programação recebeu seus novos números engraçados de carros e provavelmente esfregou as mãos malignamente. Ele ainda tinha a esperança de que tal ação o salvasse de multas. Não que ele tenha violado muito, mas a idéia de quebrar o sistema dessa maneira parecia muito interessante para o especialista em segurança.

Os problemas começaram um ano depois, quando ele tentou renovar os números online. E fiquei muito intrigado com o site destinado a isso.



O sistema considerou incorreto o número digitado por ele. Os programadores estavam errados em algum lugar, e o NULL que ele inseriu como valor de texto parece ter sido verificado incorretamente. Erro de digitação solto? No entanto, ele conseguiu estender o número por um ano pelo código no link e, de alguma forma, esqueceu a coisa toda.

No entanto, como se viu, estes estavam longe de serem problemas. Além disso, a história lembrava uma piada antiga:

Um soldado no meio do campo está tentando reparar de alguma forma uma lagarta que caiu do tanque. De repente, do nada, uma fada aparece e pergunta:
- O que você está fazendo, servo?
- Sim, tr ### yus.
- Você realmente quer?
- (sonhadoramente) eu quero ...
Fairy acenou com sua varinha ... E a torre caiu do tanque.

Então, no início de 2018, ele recebeu uma multa bem merecida de US $ 35. Ele poderia ter protestado, mas era mais fácil pagar, a quantia é pequena. E então a fada agitou sua varinha ... E multas por estacionamentos não pagos, paradas no lugar errado e outra alegria semelhante caiu na caixa de correio. Dezenas e dezenas de multas no valor de US $ 37, US $ 60, US $ 74, US $ 80 ... De cantos completamente diferentes da Califórnia. De acordo com modelos completamente diferentes de carros. Devido a outra curva de verificação de digitação, o valor NULL no banco de dados foi associado aos seus dados pessoais. E sempre que um policial valente se esquecia de inserir o número do carro no sistema ao emitir uma multa, o prêmio era do nosso herói (valeria a pena chutar os desenvolvedores do front-end ao mesmo tempo pela falta de verificação para preencher um dos parâmetros principais).

A certa altura, ele recebeu duas multas escritas no mesmo local, com uma diferença de várias horas em modelos de carros completamente diferentes. Para completa felicidade, multas antigas com um número não especificado foram aplicadas retrospectivamente a ele. Então, ele até recebeu multas para 2014, quando ele nem tinha esse número. Como resultado, multas no valor de mais de US $ 12.000 dependiam dele.



As multas de estacionamento foram tratadas pela empresa privada Citation Processing Center. Naturalmente, Joseph os contatou e tentou explicar a situação. Naturalmente, o gerente do telefone entrou suavemente no frio e pediu para enviá-los de volta, para que eles pudessem descobrir. Mas isso significaria a perda da única cópia impressa, confirmando a imprecisão da multa. E é bom que ele não tenha enviado. Mais tarde, ele percebeu que no banco de dados de multas aberto disponível on-line, o modelo original do carro foi substituído pelo dele. Outra rodada de conversas com gerentes, igualmente inútil.

No final, ele precisou recorrer diretamente ao DMV (Departamento de Veículos Motorizados, uma unidade governamental que lida com questões de registro de veículos) e, com a ajuda deles, conseguiu reduzir rapidamente o valor para US $ 6262, mas isso não resolveu o problema inicial. Novas multas continuavam chegando. No momento da redação do artigo original da Wired, duas multas no total de US $ 140 não eram pagas. O que é mais triste, DMV se recusa a renovar seus números para o próximo ano, até que as multas sejam fechadas. Além disso, não está muito claro para onde ir e quem deve receber o kumpole para que esse problema possa ser reparado. DMV observa que seu sistema reconhece corretamente seus números e reconhece o absurdo da situação. No entanto, as questões de estacionamento são de responsabilidade das autoridades locais, as quais não podem influenciar de forma alguma. Portanto, a história pode muito bem ter uma sequência. A brincadeira falhou.

Mr. Nulo


Christopher Null teve ainda mais azar. Azarado por nascer com esse nome. Se Joseph Tartaro sofre apenas de multas e apenas no ano passado, Christopher mergulha permanentemente cada vez mais no abismo do sofrimento, paralelamente ao desenvolvimento da tecnologia digital.

Especialmente inconveniente para ele é o conceito amplamente desenvolvido de MVP (produto mínimo viável), que em alguns casos coincide diretamente com o conceito de "herak-herak e produção".

Mesmo se omitirmos todas as piadas da escola sobre seu sobrenome, bem como as acusações de tentar chamar a atenção para você desta maneira (o que é uma boa maneira se você é um jornalista técnico, do qual Christopher é), surgem esquisitices ao trabalhar com alguns sites e aplicativos .

Segundo Christopher, a maioria dos sites manipula o sobrenome Nulo corretamente. Alguns relatam que o campo não pode estar vazio ou que é uma palavra reservada. Em casos raros, os aplicativos simplesmente caem. Curiosamente, de acordo com suas observações, quanto maior a empresa por trás do aplicativo ou site, mais problemas haverá com seu sobrenome.

Separadamente, sua filtragem de dados lança Null para fora dos dados já salvos. Portanto, algumas vezes ele recebe cartas para a Media LLC (enquanto o nome da empresa é Null Media LLC), e algumas vezes ele é simplesmente chamado de "Sr." em qualquer spam. Ele até teve que resolver soluções alternativas. Por exemplo, coloque o segundo nome ou a inicial no mesmo campo com o sobrenome ou apenas adicione um ponto no final. Mas, às vezes, a teimosia do sistema é invencível.

Portanto, o Bank of America se recusou completamente a aceitar seu e-mail null@nullmedia.com. Seu sistema simplesmente se recusou a aceitar nulo na parte do usuário do endereço, e até precisou criar um alias info @ especificamente para o banco. Mas o software bancário estava se desenvolvendo ativamente e, depois de alguns anos ... parou de aceitar nulo mesmo como parte de um nome de domínio. O pobre coitado teve que criar uma conta banal do Gmail para os mais teimosos. Também contém nulo, mas não no início do nome de usuário.

Você encontrou alguma esquisitice ao processar os valores do sistema? Conte-nos nos comentários.

Obrigado por ficar conosco. Você gosta dos nossos artigos? Deseja ver materiais mais interessantes? Ajude-nos fazendo um pedido ou recomendando a seus amigos, um desconto de 30% para os usuários da Habr em um análogo exclusivo de servidores básicos que inventamos para você: Toda a verdade sobre o VPS (KVM) E5-2650 v4 (6 núcleos) 10GB DDR4 240GB SSD 1Gbps de US $ 20 ou como dividir o servidor? (as opções estão disponíveis com RAID1 e RAID10, até 24 núcleos e até 40GB DDR4).

Dell R730xd 2 vezes mais barato? Somente temos 2 TVs Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TV a partir de US $ 199 na Holanda! Dell R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - a partir de US $ 99! Leia sobre Como criar um prédio de infraestrutura. classe usando servidores Dell R730xd E5-2650 v4 custando 9.000 euros por um centavo?

Source: https://habr.com/ru/post/pt463859/


All Articles