1. C# / Говнокод #2067

    +105.3

    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
    public class ImportService : System.Web.Services.WebService
       {
           private const string KEY = "*******";
           [WebMethod]
           public void AddFileInQueue(string aKey, ..., out String error)
           {
                     ...
                   if (KEY == aKey)
                     ...
                   else
                   {
                       error = "Invalid key";
                   }
            }
        }

    Мне предложили использовать эту же авторизацию для нового веб-сервиса в том же проекте со словами "there is normal login implemented somewhere"

    Запостил: Yagg, 28 Октября 2009

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

    • показать все, что скрытовсе программисты идиоты
      Ответить
    • Простите , а что такого ?

      Вместо * там настоящий пароль. Если сервис небольшой и не многопользовательский , то и пароль в БД не имеет хранить. Поскольку этот код исполняется на стороне сервера , то и хэш вместо самого пароля хранить тоже не имеет смысла потому что , если злоумышленник получит доступ к сырцам на сервере , то уже ничего не поможет. Всякие проверки на брут и прочее могут быть в троеточиях.
      Ответить
      • Весь код относящийся к авторизации многоточиями не скрыт и никаких доп. проверок просто нет. Такая "защита" ломается любым школьником просто моментально даже тупым перебором. Кстати, сервис многопользовательский, но даже если бы это было не так, стоит делать хоть немного более надёжную защиту, а не оставлять торчать сервис голой жопой в интернет, где его отымеет любой прохожий даже не напрягаясь.
        Ответить
    • - А какой пароль?
      - Пароль - пять звёздочек!...
      Ответить
      • название компании+год, когда был написан сервис :\
        Ответить

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