Jak nie sprawdzać poprawności adresu email

dodał 4 września 2013 o 22:47 w kategorii Drobiazgi  z tagami:

Blogerka Wendy Liu opisała niezwykły sposób sprawdzania poprawności adresów poczty elektronicznej, który odnalazła w systemie jednego z uniwersytetów.

W założeniu jedną z funkcjonalności  systemu miała być możliwość wysłania wiadomości  poczty elektronicznej do innego użytkownika z tego samego uniwersytetu. Uniwersytecka poczta obejmowała ok. 70 tysięcy adresów, zatem rozsądnym wydaje się, że weryfikacja poprawności adresu docelowego powinna następować po stronie serwera. Najwyraźniej jednak nie było to oczywiste dla każdego.

Kiedy Wendy musiała poczekać 10 sekund, aż jej przeglądarka otworzy stronę z opcją wysłania wiadomości, zajrzała do źródła strony. Trudno w to uwierzyć, jednak znalazła w nim 70 tysięcy adresów email. Kod wyglądał mniej więcej tak:

// [some other code here]
var userNamesStr = '[email protected]|****|[email protected]
|****|(pretend there are 70,000 more emails here)|****|[email protected]';
var temp = new Array();
temp = userNamesStr.split('|****|');
var validUserName = '0';
// [more code here]
for( i =0; i< temp.length; i++){
if( curForwardUserName == temp[i].toLowerCase() ) {
validUserName = '1';
break;
}
// [some last bits of wisdom before we go]
</script>

Z punktu widzenia wydajności – katastrofa. Z punktu wiedzenia ochrony prywatności – katastrofa. Jak by nie patrzeć, katastrofa. Ktoś to jednak napisał, ktoś wdrożył i umieścił na serwerze. Katastrofa.