26 November 2006

В который раз про то, что нужно проверять входные данные

Буквально вчера мне нужно было сделать одну вещь: поменять MX-записи на своем домене. На первый взгляд все элементарно — зайти в панель управления, удалить старые, вписать новые. Оказывается, не так все просто :).

Проблема оказалась в установленном ПО для управления аккаунтом пользователя в компании, услугой хостинга которой я пользуюсь. А установлена у них Cpanel, если мне память не изменяет. И есть у этой программы одна особенность: не понимает она доменные имена меньше двух символов! И домен ASPMX.L.GOOGLE.COM. она, конечно же, не признает!

Первое, что приходит в голову — написать в тех.поддержку. Да, вариант правильный, но не в субботу вечером, когда все специалисты комнпании заслужнно отдыхают, а в отделе тех.поддержки DNS-записи, естественно, менять не умеют. Из этого делаем вывод, что записи если и поменяют, то только в понедельник. А это не есть хорошо для нетерпеливого меня :).

Но что, если немного присмотреться к ошибке? Точнее, к тому, где идет проверка. А проверка происходит на стороне клиента при помощи JavaScript’a. Ура! Это дает надежду, что на сервере такая проверка возможно и не дублируется! Так оно в конце-концов и оказалось ;-).

При помощи FireFox, LiveHTTPHeaders и Perl-скрипта на сервер был успешно послан POST-запрос с нужными даными :).

Мораль сей басни такова: если вы взялись делать проверку входных данных, делайте её на всех уровнях своего web-приложения!

P. S. Теперь вот не могу подобрать слова, как описать процесс смены MX-записей на моейм у моего хостинг-провайдера для Google Hosted Mail… Наверное, нужно сразу кидать ссылку на этот пост :).

No comments: