24 сентября 2009 г.

Уязвимость SVN для Web проектов: реальность или миф

Недавно на habrahabr.ru появилась интересная статься про получение несанкционированного доступа к  исходным кодам ряда WEB проектов используя cache данные SVN. В общем и целом в статье говорится, что не стоит копировать служебную информацию (как-то в .svn папки) на web server и предоставлять к ней доступ всем желающим (т.е. или копировать и блокировать к ней доступ или не копировать вовсе).

Статья была перепечатана уважаемым издетельством itc.ua под заголовком "Из-за уязвимости в SVN были получены исходные коды 3 320 крупных онлайн-проектов" и все стало с ног на голову. Далее цитирую дословно "Этого удалось добиться благодаря уязвимости связанной с использованием системы контроля версий SVN, которая применяется для организации совместной работы разработчиков."
Оказывается, проблема не в "кривых руках" ИТ специалистов, которые настраивали web server или писали процедуру развертывания web приложения, а в самом SVN :). Вот мол он какой плохой: все не так хранит и вообще. Так примерно и создается негативный образ программного продукта, который в общем-то не при чем.

13 сентября 2009 г.

Web services - lingua franca ИТ индустрии

Web service-ы появились давно. Кажется, еще в прошлом веке.

Зачем они нужны, а заодно и что такое ESB, кратко рассказывается в этой статье.

До недавнего времени для меня web service-ы ассоциировались только с современными ИТ системами. Например, c 3-х уровневыми приложениями, где на сервере приложений есть "слой" web service-ов, которые могут вызывать кто угодно. В крайнем случае с 2-х уровневыми системами, где хранимые процедуры могли быть представлены в виде web service-ов (но это, скорее, моветон).

Вызывать web service-ы из современных языков (.Net, Java, Java Script и даже PHP) достаточно просто, а как быть, скажем, c PL/SQL или T-SQL? Оказалось, все не сложно и с ними.

Например, достаточно просто можно вызвать SOAP web service из хранимой процедуры Oralсe. Если у Вас, не SOAP, а REST web services, то процедура вызова даже немного упростится (проще, к примеру, будет передавать параметры).

Также просто вызывать web service-ы и из относительно нестандартных сред: Microsoft Excel, Visual Basic 6. Даже не устоял перед web service-ами.

Web service-ы работают не всегда идеально. Стандарты WS-* сложны и запутанны. Есть целый ряд "шероховатостей" связанных, например, с вызововами .Net веб сервисов из Java приложений и наоборот. Но это все мелочи. Идеи web service-ов, в отличии от предшественников (например, CORBA) работают.

Не поймите меня неправильно, я не призываю создавать системы используя web service-ы в качестве одного из основных архитектурных решений. Для меня они по прежнему некий "логический слой", упрощающий взаимодействие между ИТ системами.

Но мне кажется, что уже можно говорить о том, что web service-ы достигли своей цели: они стали de-facto lingua franca разнородных ИТ систем.