Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
VPS/VDS серверы. 30 локаций на выбор

Серверы VPS/VDS с большим диском

Хорошие условия для реселлеров

4VPS.SU - VPS в 17-ти странах

2Gbit/s безлимит

Современное железо!

Бесплатный конструктор сайтов и Landing Page

Хостинг с DDoS защитой от 2.5$ + Бесплатный SSL и Домен

SSD VPS в Нидерландах под различные задачи от 2.6$

✅ Дешевый VPS-хостинг на AMD EPYC: 1vCore, 3GB DDR4, 15GB NVMe всего за €3,50!

🔥 Anti-DDoS защита 12 Тбит/с!

2000 г

Знакомство с ASP: счетчик для IIS за 5 минут

Евгений Кондратов (aka Udjin)

В данной статье будут рассмотрены варианты создания счетчиков для сайтов построенных на базе IIS 3, 4, 5, PWS, GoAhead. Для некоторых счетчиков - любой сервер поддерживающий работу со скрипт - машинами Windows с помощью различных расширений и модулей.(Chili-ASP, ActivePerl). При написании статьи использованы материалы с сайтов:

Примечание: данный материал рассчитан на начинающих скриптеров, по сему код максимально упрощен с целью облегчения восприятия. Код размещен по принципу "от простого - к сложному"

Классификация.

По признаку своей функциональности счетчики можно подразделить на счетчики:

  • с накоплением;
  • в рамках сессии;
  • ементами персонификации;
  • с возможностью дальнейшего анализа информации о клиенте;

По способу хранения информации:

  • хранение в переменных сессии (приложения);
  • хранение в файле на стороне сервера;
  • хранение в файле на стороне клиента;
  • хранение в базе данных;
  • комбинированные;

По способу визуализации:

  • текстовые;
  • графические;
  • информеры ( как комбинация первых двух );

Cчетчик от Microsoft.

Возможности: счетчик с накоплением, поддержка "виртуальных" сайтов, отдельных asp-страниц.

Для создания данного счетчика необходимо с сайта Microsoft скачать серверный компонент PageCounter и установить его. Весь код счетчика оформлен в виде ISAPI-dll (распространяется вместе с исходными текстами) и число обращений к конкретной странице или инициалиазация/сброс счетчика вызываются как метод серверного объекта PageCounter.

Для установки счетчика на сервер необходимо скопировать PageCnt.dll в каталог \InetPub\ASPSamp\Components\PageCnt\DLL\i386 и зарегистрировать его: regsvr32 PageCnt.dll В случае, если Вы планируете подсчитывать обращения к нескольким виртуальным сайтам, Вам необходимо конфигурировать их как приложения.

Счетчик поддерживает 2 метода HITS и RESET

Код инициализации счетчика для конкретного сайта:
Распологать его лучше всего в верхней части страницы, в первых строках.

<%
   Set MyPageCounter = Server.CreateObject("IISSample.PageCounter")
   HitMe = MyPageCounter.Hits
%>

Отображение количества заходов:
Данный фрагмент размещайте сообразуясь с дизайном своего сайта.

<% =HitMe %> 

Для подсчета на конкретной странице сайта код несколько изменится:

<%
   Set MyPageCount = Server.CreateObject("IISSample.PageCounter")
   MyPageCount.PageHit
   HitMe = MyPageCount.Hits
%> <%    =HitMe %>
или
<%    Set MyPageCounter = Server.CreateObject("IISSample.PageCounter")
%>
This Web page has been viewed <%= MyPageCount.Hits %> times.
<P>
Page Myscript.asp has been viewed <%= MyPageCounter.Hits("/VirtualDir1/Myscript.asp") %> times.

Для того, чтобы запустить счетчик с какого-либо начального значения (12345) используйте следующий код:

<%
   =HitMe + 12345
%>

Сброс счетчика (RESET).

<%
   Set MyPageCounter = Server.CreateObject("IISSample.PageCounter")
   MyPageCounter.Reset
   MyPageCounter.Reset("/VirtualDir1/Mypage.asp")
 %>

Простейшиe счетчики.

Возможности: счетчик с накоплением. Хранит информацию о количестве обращений в текстовом файле.

Используется объект VBScript (WSH) FileSystemObject.

Порядок действий.

  1. Создайте текстовый файл c:\mycount.txt
  2. Для инициализации счетчика укажите в текстовом файле начальное значение. На пример 0.
  3. В тело вашей страницы впишите следующий код:
  4. <%
    'Декларирование переменных
       Const ForReading = 1, ForWriting = 2, ForAppending = 8
       Dim fso, f, myCounter
    'Создаем объект
       Set fso = CreateObject("Scripting.FileSystemObject")
    'открываем файл на чтение, и считываем из него ВСЕ содержимое
    'если файл отсутствует, то создаем его (Trye).
       Set f = fso.OpenTextFile("c:\mycount.txt", ForReading, True)
    'отключаем обработку ошибок
       On error resume next
    'считываем содержимое, в случае пустого (Empty)значения
    'присваиваем значение 0 переменной myCounter
       myCounter = f.readAll
       If myCounter = Empty  Then
    myCounter = 0
    'если все в порядке, то увеличиваем значение переменной myCounter на 1
       Else
    myCounter = myCounter + 1
       End If
    'открываем файл на запись и обновляем значение счетчика
       Set f = fso.OpenTextFile("c:\mycount.txt", ForWriting, True)
       f.Write myCounter
    'закрываем файл
       f.Close
    'очищаем память
       Set f = nothing
       Set fso = nothing
    %>
  5. В соответствии с дизайном разместите счетчик.
  6. <%
       = myCounter
    %>

Счетчик с накоплением. Хранит данные в переменных сесии ( приложения ), отображает количество пользователей, находящихся в данный момент на сайте.

В рут - каталоге сайта создайте файл global.asa

Код:

<SCRIPT LANGUAGE=VBScript RUNAT=Server>
SUB Session_OnStart
   Session.Timeout = 5
   Application.lock
   Application("myCounter") = Application("myCounter") + 1
   Application("visitors") = Application("visitors") + 1
   Application.unlock
END SUB
</script>
<SCRIPT LANGUAGE=VBScript RUNAT=Server>
SUB Session_OnEnd
   Application.lock
   Application("visitors") = Application("visitors") - 1
   Application.unlock
END SUB
</script>

В теле asp-страницы разместите код:

<%
   Dim vist, currentcount
   visit = Application("visitors")
   currentcount =   Application("myCounter")
%>

В соответствии с дизайном поместите счетчик общего числа обращений/текущего количества пользователей

<%
   = currentcount & "/" & visit
%>

В следующих статьях будут рассмотрены способы создания более сложных счетчиков с использованием баз данных и информеров.

Вперед >>>

 

VPS в России, Европе и США

Бесплатная поддержка и администрирование

Оплата российскими и международными картами

🔥 VPS до 5.7 ГГц под любые задачи с AntiDDoS в 7 локациях

💸 Гифткод CITFORUM (250р на баланс) и попробуйте уже сейчас!

🛒 Скидка 15% на первый платеж (в течение 24ч)

Скидка до 20% на услуги дата-центра. Аренда серверной стойки. Colocation от 1U!

Миграция в облако #SotelCloud. Виртуальный сервер в облаке. Выбрать конфигурацию на сайте!

Виртуальная АТС для вашего бизнеса. Приветственные бонусы для новых клиентов!

Виртуальные VPS серверы в РФ и ЕС

Dedicated серверы в РФ и ЕС

По промокоду CITFORUM скидка 30% на заказ VPS\VDS

Новости мира IT:

Архив новостей

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 7861149
Пресс-релизы — pr@citforum.ru
Обратная связь
Информация для авторов
Rambler's Top100 TopList This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2019 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...