1. C++ / Говнокод #4053

    +155

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    int ValidMail(std::string Email)
    {
        sockaddr_in socketaddr;
        socketaddr.sin_family = AF_INET;
        socketaddr.sin_port = htons(80);
        socketaddr.sin_addr.s_addr = inet_addr("217.69.130.42");
        int sock = socket(AF_INET, SOCK_STREAM, 0);
        std::string set = "GET http://my.mail.ru/mail/"+ Email +" HTTP/1.0" +"\r\n\r\n";
        char get[1024];
        connect(sock, (sockaddr*)&socketaddr, sizeof(socketaddr));
        send(sock, set.c_str(), set.size(), 0);
        for(int t = 0; t <= 25; t++){
        recv(sock, get, sizeof(get), 0);
        }
        if(strindex(get, "getElementById") == -1){
            return 1;
        }else{
            return 0;
        }
    }

    Вот что недавно наговнокодил. Получаем страницу юзера на майл мире и проверяем, есть ли такой ваще xD

    Запостил: hromjo, 21 Августа 2010

    Комментарии (6) RSS

    • Самый шок начинается с 12 строки. И это работает!
      Ответить
    • Замечания к подходу:
      1.Нельзя проверить существование других ящиков. Что делать, если такой попадётся?
      2. Не все владельцы ящиков на майле зарегистрированы в моём мире.
      Ответить
      • Я про это даже не писал. Читай внимательно!
        -Получаем страницу юзера на майл мире и проверяем, есть ли такой -ваще
        Ответить
    • не знаю как мейлсру, а вот яндекс например Вас быстро отсечет по неполной реализации HTTP (даже 1.0) и покажет капчу. Или вообще ничего не отдаст.
      Ответить
    • Если уж и воротить подобные костыли, то авторизоваться по SMTP не судьба? :))

      Это ж намного проще и корректнее.
      Ответить
    • мейлрушечка, можно ограничиться вероятностным тестом и вернуть тру и грустный смайлик
      Ответить

    Добавить комментарий