Блог компании DinoHost.ru

Архив Январь 2011

Windows-хостинг и особенности .NET-хостинга

Суббота, 29 Январь, 2011

Еще совсем недавно компаний-провайдеров насчитывались единицы, а сегодня их число выросло на два порядка. Увеличился и набор предоставляемых ими услуг. Такая сфера услуг, как Windows-хостинг, начала развиваться примерно 7-8 лет назад. Этим занимались крупные хостинг-провайдеры, размещающие в Интернете сайты и обеспечивающие их поддержку, и мелкие IT-компании. Цены на Windows-хостинг в те времена были чуть ли не в сотню раз больше, чем на Unix/Linux-хостинг. Поэтому такие дорогостоящие услуги могли себе позволить или специализированные компьютерные издания, или крупные IT-специалисты.

На сегодняшний день услуга хостинга для ОС Windows вполне доступна и включена во все стандартные пакеты хостинговых компаний. В набор стандартных услуг Windows-хостинга входит: в качестве web-сервера – информационный сервер Интернет версии 5 и выше; информационная БД на основе MS Access; поддержка ASP-скриптов. Расширенный набор услуг Windows-хостинга включает одну или несколько баз данных MS SQL Server 2000/2005 и поддержку скриптов ASP на платформе *.NET 1.0/1.1/2.0. При этом наборе хостинг-провайдеры также предлагают резервное копирование информационных баз данных и техподдержку 24 часа в сутки на весь период.

.NET (дот-нэт)-хостинг – это хостинг, обеспечивающий бесперебойную и корректную работу скриптов веб-сайта, разработанных с использованием .NET-технологий. Платформа Microsoft .NET основана на специальном ПО и предназначена для соединения отдельных частей - «информация», «люди» и «системы» в единый механизм. С помощью .NET-технологий на основе интернет-сервисов можно создавать разные веб-проекты, которые легки в управлении и не требуют много времени и средств.

Среди положительных особенностей .NET-технологий можно назвать: кроссплатформенность (поддержка нескольких ОС); взаимодействие разных языков программирования; масштабируемость и встроенную систему безопасности.


PHP-хостинг: особенности и нюансы

Пятница, 28 Январь, 2011

К выбору PHP-хостинга нужно подходить обдуманно, оценив при этом масштабы будущего сайта. Это понятие формируют такие составляющие, как объем необходимого дискового пространства, количество баз данных, предполагаемое число посетителей сайта, размер трафика, который будет этими посетителями потребляться, а также ресурсоемкость серверных скриптов.

Если создаваемый сайт будет иметь масштабы небольшой домашней страницы, которую время от времени будут посещать друзья и случайные посетители, то для создания такого сайта вполне достаточно будет бесплатного хостинга. Если планируется более сложный сайт, на котором будет размещаться крупный тематический портал или форум, то для него лучше сразу выбирать платный PHP-хостинг, где уже установлена база данных MySQL. Сразу можно выбрать не самый дорогой хостинг, который бы дал возможность зарегистрировать подходящее доменное имя для сайта.

Язык программирования PHP разрабатывался специально, чтобы автоматизировать основные задачи веб-мастера (генерация динамических HTML-страниц, создание запросов к базам данных и т. п.). Серверные PHP-скрипты в тесной связи с кросплотферным HTML могут создавать страницы, которые поддерживаются всеми известными браузерами. Поэтому на сегодняшний день стандартные пакеты услуг всех платных хостингов включают поддержку языка PHP. Также эта функция входит в стандартные пакеты услуг и многих бесплатных хостингов. Однако следует помнить, что самые дешевые стартовые пакеты PHP-язык, как правило, не поддерживают.

Скриптовый язык PHP сегодня является очень распространенным и популярным среди разработчиков веб-сайтов во всем мире, благодаря своим широким функциональным возможностям, простоте синтаксиса, быстрому выполнению процедур, а также свободному распространению этого интерпретатора. Конкуренцию PHP сегодня может составить язык Perl, а также технологии JSP и ASP. Что касается создания средств администрирования таких операционных систем, как Windows, Linux, UNIX и Mac OS X, то PHP с этой целью также можно использовать. Хотя здесь большее предпочтение отдается языкам Perl, Python и VBScript.

Интерпретатор PHP включает в себя ядро, где реализованы основные функции этого языка, и подключаемые дополнительные модули. Последние нацелены на решение таких задач, как формирование запросов к БД, работа с документами разных форматов, работа с графическими файлами и шифрование данных. Интерпретатор PHP можно установить на веб-сервер в качестве CGI-приложения, а также настроить их взаимодействие с помощью специального модуля. Стандартная установка PHP включает в себя самые полезные и популярные модули. А если для решения индивидуальных задач потребуется особый модуль, то любой программист может его создать и подключить к интерпретатору PHP. Язык PHP, по своей сути, похож на язык Си, а также имеет некоторые схожести с языком Perl.

В разработке языка PHP задействована большая группа программистов. Они работают над усовершенствованием его ядра, над созданием новых модулей, над разработкой документации и библиотекой классов PHP.


Особенности HTML-хостинга

Понедельник, 24 Январь, 2011

В качестве стандартного языка гипертекстовой разметки интернет-страниц используется язык HTML (HyperText Markup Language), который входит в международный стандарт ISO-8879 как приложение к SGML («Стандартному Обобщенному Языку Разметки»). Однако на сегодняшний день при написании большинства веб-страниц можно встретить другой язык, более новый, который является последователем языка HTML, и обозначается xHTML.

История языка HTML начинается на рубеже 1990-1991 годов в Англии, когда ученый Тим Бёрнез-Ли (Tim Berners-Lee) создал первую версию языка гипертекстовой разметки. Он придумал удобный и доступный способ форматировать текстовые документы, вставляя в них гиперссылки. Изначально этот язык был придуман для обмена документацией технического и научного характера. Однако позже язык HTML был доработан и стал массово использоваться для публикаций текстов в Интернете. При этом каких-то элементарных знаний в области верстки не требовалось.

При написании HTML-документов используется разметка текста и определение с помощью тегов (служебных слов) нужных простых структурных элементов. Язык HTML не только поддерживает гиперссылки и упрощает строение документов, но также и обладает возможностями мультимедиа. Использование этого языка разметки дает возможность воспроизвести текст, сохраняя его структуру и стиль, независимо от платформы и устройства. Надстройки языка позволяют выдать оптимальную версию документа для печати, отобразить его на бумаге или проекторе.

С помощью HTML-хостинга можно размещать гипертекстовые документы, в которых содержатся ссылки на другие документы или файлы. Кроме того, пользователи могут использовать каскадные стили и Java-скрипты, так как они обрабатываются на машине пользователя и не зависят от хостинг-провайдера. На многих HTML-хостингах ограничивается использование CGI скриптов.


Что собой представляет MySQL хостинг

Четверг, 20 Январь, 2011

При детальном рассмотрении MySQL хостингов необходимо для начала понимать, что представляет собой SQL. SQL используется при обращении к базе данных. Это набор команд, с помощью которого можно управлять текстовым и мультимедийным контентом, хранить регистрационные и другие данные, ключи доступа и так далее. На сегодняшний день технология MySQL является очень развитой. Поэтому она без труда справляется с огромными базами данных, при работе с которыми дополнительно необходимо, например, разграничить доступы, осуществлять защиту данных от ошибочных изменений и поддержку возможности масштабирования, быстрый поиск и т. п.

Мы часто сталкиваемся с призывами купить MySQL хостинг или получить его за символическое одолжение. Под понятием MySQL хостинга подразумевается наличие постоянного доступа к базе данных с помощью SQL команд или веб-интерфейса. Принято считать, что любой сайт использует базу данных для размещения и хранения в ней информации, пусть даже самой незначительной. Однако, исходя из опыта, существует масса различных альтернативных проектов для управления контентом, который зашифрован и хранится в текстовых файлах. С такими файлами работать гораздо проще и быстрее, чем освоить SQL. А кроме того, если уметь правильно настроить права доступа, то шифрование можно вообще не использовать.

Существует, однако, и другая сторона монеты. Без использования баз данных MySQL нельзя как следует провести регистрацию или безопасную аутентификацию. Алгоритмы этой системы, которые годами совершенствовались, дают возможность очень быстро провести поиск по любому принципу и оптимизировать хранение данных. Реляционная технология баз данных гораздо проще для восприятия, чем тот иерархический способ, который в основном используется в текстовых файлах.

Объемы дискового пространства, которые может предоставить хостер, напрямую зависят от тарифного плана. MySQL хостинг – это в среднем 300 мегабайт. Но можно также найти тарифные планы среднего класса, где предоставляют на порядок больше места. Если ваш тарифный план оказался достаточно крут, то можно попросить хостера предоставить еще немного места за умеренную абонентскую плату. Дополнительное пространство на бесплатном хостинге возможно получить за письменную благодарность.

Условия предоставления дискового пространства также могут отличаться. Поэтому на них необходимо обратить внимание в первую очередь (особенно на бесплатных хостингах). Некоторые хостеры, для того чтобы предупредить массовые нарушения закона «об авторском праве» и повысить пассивную безопасность посетителей сайта, запрещают хранить документы весом более 500 кб, исполняемые файлы, архивы и мультимедийный контент. На платных хостингах это менее вероятно, так как в силу вступает правило «клиент всегда прав».

Неоспоримым преимуществом платных хостингов является то, что там можно получить не только базу данных SQL, но также и поддержку разных скриптов и языков программирования, причем очень достойную. Такие услуги могут предоставляться и на профессиональных бесплатных хостингах, но базу данных можно получить только подав дополнительную заявку. К сожалению, это очень редкие случаи. Гораздо чаще можно столкнуться с непрофессиональными услугами бесплатных хостингов, которые много удовольствия не приносят.


Как защититься от несанкционированного доступа к ресурсам сайта?

Вторник, 11 Январь, 2011

Очень часто, приобретая пакет хостинг-услуг для сайта, приходится платить не только за место на сервере, но еще и за исходящий с этого сервера трафик. Если сайт имеет хорошую посещаемость, а на нем еще и размещена различная объемная графическая информация, вроде отрывков из популярных фильмов, то объемы исходящего трафика в месяц могут достигнуть нескольких гигабайт, и даже сотен гигабайт. Даже если исходящий трафик ничем не ограничен, и хостер не берет за него плату, то сервер все равно будет испытывать повышенную нагрузку при передаче данных в больших объемах. А это будет требовать дополнительной вычислительной мощности процессора, а также и оперативной памяти.

Может случиться такая ситуация, что при прежнем уровне посещаемости сайта объемы исходящего трафика могут сильно возрасти, что приведет, соответственно, к увеличению платы за хостинг. Это может означать только одно – вэб-мастер другого сайта в целях экономии места на диске и исходящего трафика на своем сервере создал на своих вэб-страницах прямые ссылки на графическую информацию, размещенную на нашем сайте. Такое незаконное использование ресурсов одних сайтов другими называется hotlinking.

Какими же способами возможно пресечь такое несанкционированное использование ресурсов нашего сайта пользователями с других сайтов? Для хостинга на базе http-сервера Apache есть два варианта ограничить hotlinking. С их помощью доступ пользователей к информации на сервере становится возможным исключительно с вэб-страниц вашего сайта. Первый способ ограничения – через файл .htaccess. Второй способ – при помощи встроенного модуля mod_rewrite, который дает возможность «на ходу» менять ссылки, используемые посетителями сайта.

Ограничить доступ к файлам с использованием встроенного модуля mod_rewrite можно, если провести анализ ссылки источника запроса, информацию о котором можно узнать из переменной HTTP_REFERER. Для примера возьмем сайт dinohost.ru. Если в переменной HTTP_REFERER указан адрес dinohost.ru, это значит, что пользователь зашел с нашего сайта, поэтому загрузить изображение или другую информацию он может. А если в переменной HTTP_REFERER прописан другой адрес, а не dinohost.ru, то это значит, что пользователь с другого сайта пытается получить информацию, размещенную на вашем сайте. В таком случае его запрос перенаправляется на заранее подготовленную страницу another.htm, где высвечивается сообщение о том, что такой доступ к вашим ресурсам является несанкционированным.

Процедура записи в файл .htaccess на сайте dinohost.ru выглядит следующим образом:

AuthUserFile /dev/null
AuthGroupFile /dev/null
RewriteEngine On
RewriteCond % !^http://www. dinohost.ru/
RewriteCond % !^http://dinohost.ru/
RewriteCond % !>http://www.dinohost.ru:80 [NC]
RewriteCond % !>http://dinohost.ru:80 [NC]
RewriteRule ^(/~.+) http://www.dinohost.ru/another.htm [R, L]

Следует обратить внимание на то, что при обработке запросов пользователей сайта ссылку источника запроса необходимо анализировать не один раз. Сначала http-сервер Apache проводит анализ и устанавливает, соответствует ли ссылка локальному файлу, хранящемуся на сервере. Затем ссылка повторно обрабатывается при обработке файла .htaccess. Все эти повторяющиеся операции приводят к тому, что процессор сервера подвергается дополнительной нагрузке.

Можно также использовать менее затратное решение. Для этого необходимо в файл .htaccess добавить указание выдавать ошибку тем пользователям, которые зашли не с вашего сайта, а по ссылкам чужих сайтов. Такая запись будет иметь следующий вид:

SetEnvIfNoCase Referer “^http://dinohost.ru” my_referer=1
<FilesMatch “\.(jpg|jpeg|png|gif)$”>
Order Allow, Deny
Allow from env=my_referer
</FilesMatch>

С помощью подобных приемов можно ограничить доступ пользователям, пришедшим с других сайтов, не только к графическим файлам, но и абсолютно ко всем ресурсам нашего сервера. С помощью гибкого подхода ограничения доступа к файлам через файл .htaccess можно и сэкономить объемы исходящего трафика нашего сайта, и снизить плату за хостинг.


DNS-серверы: возможности и принципы работы

Четверг, 6 Январь, 2011

Доменные имена образуются из нескольких, минимум двух, меток (частей), которые разделяются между собой точками. Метки в имени нумеруются справа налево. То есть самая крайняя справа метка в доменном имени будет являться доменом первого уровня, а каждая последующая метка, расположенная левее, – поддоменом домена справа. Условно доменное имя может делиться на 127 таких уровней, а каждая метка может содержать максимум 63 символа. Однако максимальное количество символов (вместе с точками) в доменном имени не может превышать 254 знака. Регистраторы доменных имен устанавливают на их длину свои лимиты.

Все серверы DNS располагаются в определенном иерархическом порядке. Каждый домен или поддомен поддерживают сразу несколько авторизированных серверов DNS, которые содержат все нужные сведения о данном домене. При этом следует отметить, что все домены и серверы DNS тождественно соподчинены.

Принцип работы DNS системы таков. Пользователь вводит в web-обозревателе какой-либо адрес, например dinohost.ru. Чтобы передача данных состоялась, необходимо знать IP-адрес нужного сервера. Но поскольку есть данные только DNS сервера, то у него и запрашивается IP-адрес dinohost.ru. DNS сервер посылает запрос центральному серверу, например 191.56.0.8 (все IP-адреса приведены условно, любое совпадение IP-адресов является случайным). Центральный сервер может перенаправить запрос на другой сервер, а тот, в свою очередь, еще на один, пока не будет найден авторитетный сервер, то есть такой, который занимается непосредственно нужной доменной зоной.

Чтобы определить IP-адрес какого-либо сайта, нужно использовать команду ping. В операционной системе Windows XP это делается при помощи меню «Пуск» - «Выполнить», а затем в строке необходимо набрать команду cmd. Затем в появившемся окошке нужно ввести ping и имя сайта, например, ping dinohost.ru, и нажать Enter. После чего появится окошко, в котором будет отображена группа чисел, которая и будет являться нужным IP-адресом сайта.

Необходимо также знать, что имя хоста не равно IP-адресу, и наоборот. Хост с конкретным IP-адресом может обладать длинным списком имен, так же как и одно имя может соотноситься с разными хостами.

Для того чтобы повысить стабильность системы, в мире существует 13 серверов, которые содержат одинаковые сведения. Они не изменяют первоначального адреса, и на них держится вся мировая сеть Интернет. Поэтому они называются корневыми серверами.

Серверы DNS могут не только перекодировать символьные имена в IP-адреса, но и наоборот: реконструировать IP-адреса в имя из символов. Чтобы определить имя какого-либо адреса, необходимо сделать запрос в следующей форме: например, 154.15.1.63.in-addr.arpa. В результате получим нужное имя сайта.

Среди записей DNS можно выделить шесть категорий:
1.    Address record (запись А), которая применяется для связи хоста с IP-адресом;
2.    Canonical name record (CNAME, каноническая запись имени) – инструмент для переадресации на альтернативное имя;
3.    Mail exchange (МХ, почтовый обменник), который ссылается на сервер обмена почтой для необходимого домена;
4.    PTR (pointer, запись указателя) служит для соединения имени хоста и его установленного (канонического) имени;
5.    NS (name server) указывает на DNS-сервер представленного доменного имени;
6.    SOA (start of authority record) – запись, которая ссылается на сервер, содержащий стандартные сведения о представленном домене.

Также в роли модели и при тестировании применяются зарезервированные домены (Reserved Top Level DNS Names), например, test.com, test.net, example и другие.

Также доменные имена могут быть интернациональными, то есть состоять из символов ASCII, что позволяет пользователю набирать доменное имя независимо от того, на каком языке он говорит.

Также можно определить владельца какого-либо домена или IP-адреса. Для этого используется сетевой протокол whois («кто?»). Эта система изначально создавалась для того, чтобы системные администраторы адресов и доменов не могли находить данные других администраторов. Сейчас же, если на данном сервисе нет данных о доменном имени, оно признается незарегистрированным на конкретное имя.