Azotirovanie.ru

Инженерные системы и решения
2 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Счетчики для сайта

Счетчики для сайта

Особый счётчик, разработанный специалистами компании Яндекс, с целью анализа показателей сайта, называется Яндекс Метрика. Пользоваться данным инструментом можно абсолютно бесплатно.

Чтобы установить Метрику к себе на сайт и привязать его к рекламной компании, понадобится не более 5 минут.

Как поставить счетчик на сайт?

Для установки счетчика Яндекс Метрика на свой ресурс, его в первую очередь нужно создать непосредственно на сервисе. Чтобы это сделать, необходимо нажать на кнопку «Добавить счетчик». В качестве примера, давайте попробуем интегрировать счетчик на один из сайтов.

Счетчики для сайта

Его номер система присвоит в автоматическом режиме.

Наименование указывайте любое, главное, чтобы вы понимали, к чему оно относится.

В графу «Адрес сайта» вписываем доменное имя с протоколом передачи данных. То есть доменное имя и «http», но также это может быть и «https» — данный протокол отличается лучшей защищенностью. Если у сайта зеркала отсутствуют, то мы их не добавляем.

Другие настройки в данной складке можно оставить без изменений, единственное, что укажите свой e-mail в соответствующей графе.

Однако на данном этапе установка счётчика не окончена. Заходим во вкладку «код счетчика».

Счетчики для сайта

Тут, устанавливая вкладки перед соответствующими пунктами, мы указываем системе, на данные, которые хотим собирать при помощи Яндекс Метрики. То есть, если мы не добавим Вебвизор, то информации о поведении пользователей на наших сайтах мы получать не будем. Там же присутствуют и пункты, которые нужны, к примеру, лишь для сайтов на xml, однако их в сети сейчас практически нет.

В нижней части страницы можно увидеть код счетчика (в специальном окне). Каждый новый пункт прописывается тут отдельной строкой.

Добавляем на сайт

Разработчики Яндекс Метрики рекомендуют, чтобы она была размещена на каждой странице сайта. Это нужно для получения максимально достоверной информации. Для этого, следует открыть свой сервер посредством ftp-доступа, где в корневом каталоге расположен файл «header.php», куда и следует добавить код счетчика Яндекс Метрики. Но идеальнее всего это делать в тег … , после чего сохраняем все изменения.

Теперь в нижней части страницы нажимаем «Сохранить».

Перед вашими глазами открывается перечень счетчиков Яндекс Метрики, которые вами были созданы. Здесь нужно будет найти недавно добавленный и обновить его статус. Если все шаги были сделаны правильно, и система распознала код счётчика, то его цвет из серого станет зелёным, как тут:

Счетчики для сайта

Статистика сайтов от LiveInternet.ru

По сравнению с Yandex CY & PR Viewer, расширение от Liveinternet предоставляет нам данные, касательно числа посещений сайта. После установки данного расширения, и захода на любой сайт оно продемонстрирует Вам его место по рейтингу среди русскоязычных ресурсов.

При нажатии на кнопку расширения «Статистика сайтов от LiveInternet.ru», перед нашими глазами появится подробная статистика. Там отображается точная цифра, на каком месте находится ресурс, а также:

  • Аудиторию, которую он охватывает;
  • Ядро аудитории;
  • Процент поискового траффика;
  • Демографию.

Счетчик Лайф Интернет

По сравнению с Яндекс Метрикой и Google Analytics, счётчик Liveinternet уступает им по своим функциональным возможностям и достаточно существенно. Однако у него имеются и свои достоинства, за счёт чего, число установленных счётчиков от Li – довольно велико. К данным преимуществам относится:

  • Простота использования счётчика Liveinternet. Google Analytics и Яндекс Метрику обычный юзер будет осваивать дольше, при этом для большинства, возможностей Li хватит, что называется «с головой»;
  • Благодаря тому, что сайты, где установлен счётчик Liveinternet, принимают участие в рейтинге, это может дать дополнительный трафик;

8 способов бесплатно читать статьи на закрытых сайтах (и смотреть видео)

Как обойти ограничение на сайте с платной подпиской.

Большинство из нас наверняка уже не раз встречали в Интернете сайты, которые закрыли от бесплатного доступа свои материалы. За последние несколько лет в Сети появилось бесчисленное количество веб-сайтов, которые ввели платный доступ: если вы хотите читать их статьи, смотреть видео, вы должны не только зарегистрироваться на сайте, но и платить ежемесячную плату, оформив подписку. На некоторых сайтах есть «платный доступ по счетчику» — это означает, что вы можете прочитать определенное количество статей бесплатно, прежде чем они попросят денег, — а другие имеют жесткий платный доступ, при котором вам придется заплатить, чтобы прочитать хотя бы одну статью.

В основном платный доступ вводят новостные веб-сайты. Это происходит потому, что в наши дни полагаться только на доход от рекламы больше нецелесообразно. То есть на одной интернет-рекламе практически невозможно выжить ни одному интернет-СМИ. Естественно, такие издания ищут более прямые источники дохода, например вводя ежемесячную подписку. И, конечно, мы не против платного доступа, и вы, вероятно, тоже. Особенно если после оплаты подписки вы получаете возможность читать сайт медиаиздания без рекламы.

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

Возможно, вы сможете успешно использовать некоторые из этих методов сегодня, но это может измениться в будущем, так как веб-сайты и медиаиздания совершенствуют методы ограничения доступа на сайт, предотвращая способы обхода блокировок. Мы надеемся, что вы поддержите веб-сайты, которые вы читаете, подписавшись на их платные материалы, особенно на ваше любимое новостное агентство или ваш любимый интернет-журнал. Но если вы не можете оплатить подписку прямо сейчас, вот некоторые из лучших способов обойти платный доступ в Интернете.

Вставьте заголовок статьи в Google

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

Попробуйте перенаправить Facebook

Некоторые платные веб-сайты позволяют читателям, пришедшим из Facebook, читать статьи бесплатно, и этот метод работает, даже если у вас нет учетной записи в Facebook. Для этого откройте статью, которую хотите прочитать, и перейдите в адресную строку своего веб-браузера. Теперь вставьте https://facebook.com/l.php?u= перед URL-адресом платной статьи и откройте страницу. Это покажет вам страницу перенаправления Facebook, и вы можете щелкнуть по ссылке, чтобы открыть веб-сайт. Теперь платная статья должна быть доступна для бесплатного чтения.

Открыть ссылку в окне в режиме инкогнито

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

Отключите jаvascript в вашем браузере

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

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

Отредактируйте пару элементов на веб-странице

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

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

На любом веб-сайте щелкните правой кнопкой мыши баннер/элемент под последним видимым предложением статьи и выберите «Проверить элемент» (Посмотреть код). Это откроет специальную консоль с кодом страницы, в которой вы можете искать блокирующие элементы, скрывать или изменять их. Конкретный элемент варьируется от сайта к сайту, но он часто обозначается как «отображение», «платный доступ» или «подписка» (display, paywall, or subscribe). Вот видео с Reddit, которое показывает, как это сделать.

Используйте службу аннотаций

Службы аннотаций позволяют убрать беспорядок с веб-сайтов и добавить некоторые заметки или выделения, как если бы вы это делали в печатной книге или журнале. Некоторые из этих сервисов можно использовать для обхода некоторых платных доступов на сайтах. Outline — один из таких онлайн-сервисов.

Вы можете перейти на сайт Outline и вставить ссылку на нужную вам платную статью. Нажмите «Создать структуру» (Create Outline), чтобы дать сервису возможность загрузить пост. Вы попадете на новую страницу, которая загружает всю статью с платного сайта, что является отличным способом обойти платный доступ. Outline создает новый URL-адрес для каждой статьи, которую вы пытаетесь загрузить с ее веб-сайта, поэтому советуем сохранять их в закладках, чтобы прочитать позже.

Некоторые сайты заблокировали Outline доступ к своим веб-сайтам, и в случае, если служба не может показать вам статью, вы можете попробовать использовать сокращение URL-адресов, например воспользовавшись сервисом коротких ссылок is.gd (https://is.gd/)

Далее просто вставьте сокращенный URL-адрес в сервис Outline, чтобы обойти блокировку сайта, с которого вы хотите читать материалы бесплатно.

Попробуйте установить специальное расширение для браузера

Существует множество расширений браузера, которые позволяют обходить платный доступ на большинстве веб-сайтов. Вы можете попробовать обходить блокировки с помощью расширения Bypass Paywalls (работает в Chrome, Edge и Firefox) или воспользоваться приложением Bypass Paywalls Clean (для Firefox). Для академических статей хорошим выбором будет Unpaywall (для Firefox и Chrome).

Как обойти платный доступ сайта на iPhone

Последний метод в нашем списке работает только на iPhone: это бесплатное приложение Apple Shortcuts, которое позволяет запускать процедуры автоматизации на вашем iPhone, а его инструменты используются для обхода платных каналов на различных веб-сайтах. Таких ярлыков много, и они могут работать не со всеми веб-сайтами. Вы можете попробовать AntiPaywall, Bypass Paywall, Paywall / Cookie Bypass или Unpaywall.

SEO сервисы актуальные в 2020 году. Инструменты для анализа сайтов

СЕО сервисы, приложения и плагины для продвижения проектов, актуальные в 2020 году

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

Содержание

Сердце любого проекта

Google Analytics

Подсчитывает всю статистику сайта (количество):

  • Посетителей (впервые зашедшие и вернувшиеся;
  • Сеансы (первые и у вернувшихся пользователей;
  • Продолжительность сеансов;
  • Показатель отказов и т.д.

Также при правильной настройке через Google Tag Manager можно отслеживать динамику конверсии.

Углубляться в описание Гугл Аналитки не буду, т.к. для этого понадобится несколько отдельных статей и видеоуроков.

Google Search Console

Вышеуказанные сервисы из раздела “Сердце продвижения” не нуждаются в представлении любому нормальному сеошнику.

И все же кратко опишу для чего используется этот сервис:

  • Анализ эффективности сайта;
  • Определение средней позиции поисковых запросов;
  • Количество кликов, количество показов, средний CTR;
  • Отправка запроса на индексирования страниц сайта;
  • Поиск и устранение ошибок на сайте;
  • Отправка на индексирование файлов sitemap.xml и robots.txt;
  • Отклонение “плохих” ссылок.

Сервисы для работы с текстами

Текст РУ

Сервис предназначен для проверки тестов, которые Вы собираетесь выложить на сайт. С его помощью можно проверить:

  • Количество знаков в тексте с пробелами и без;
  • Уникальность текста, с исключением из сравнения необходимого сайта;
  • Заспамленность. Норма этого показателя — 40-60%. При написании текста очень важно не переборщить с ключевыми словами, чтобы не угодить под фильтр.
  • Количество воды в тексте. Материал должен быть информативным и полезным, не стоит лить в него “воду”ради количества знаков. Поисковики это чуют. Норма “воды” до 15%;
  • Количество знаков в тексте как с пробелами, так и без.

Back Links Manager

Этот иснтрумент позволяет проверить на уникальность нескольких текстов между собой. Это необходимо в тех случаях, когда заказывается или пишется несколько текстов единовременно. Т.е. когда тексты еще не будут в индексе и сервис text.ru покажет, что материал уникальный. Но по факту может оказаться, что между собой тексты не уникальны и буквально переписаны под копирку.

Istio.RU

С помощью этого сервиса можно проверять параметры, которые дублируют функции text.ru. Но я рекомендую подбирать LSI запросы с помощью анализа текстов конкурентов. Сделать это можно с помощью сканирования статей из топовой выдачи.

Ahrefs

Цена: от 7$ за 7 дней пробник.

Данный платный сервис предназначен:

  • В первую очередь для анализа ссылочной массы;
  • Подбора семантического ядра;
  • Анализ поисковой выдачи.

Предусмотрен пакетный анализ ссылочной массы, что очень удобно при анализе конкурентов.

Есть пробный период на 7 дней за 7 долларов США.

Similarweb

Есть возможность установки в качестве расширения на браузер Google Chrome.

  • Оценки количества трафика;
  • Оценки структуры трафика. Например можно вычислить процентную долю органического трафика;
  • Посещаемость и ее динамику;
  • Географию посещаемости;
  • Global Rank, Country Rank, Category Rank$
  • Структуру посещаемости из социальных сетей.

Plerdy

Цена: есть бесплатная версия. Платные тарифы начинаются от $ 29 в месяц.
Многофункциональная платформа для увеличения конверсии, улучшение юзабилити
и SEO-показателей сайта.

Plerdy - многофункцилональная платформа для увеличения конверсии, SEO показателей, юзабилити и других факторв

С помощью Plerdy вы сможете:

  • Тестировать и улучшать юзабилити сайта (UX).
  • Проводить углубленный анализ поведения пользователей сайта.
  • Отслеживать и анализировать SEO-метрики.
  • Анализировать пути конверсии.
  • Оптимизировать и увеличить коэффициент конверсии.

Plerdy включает в себя:

  • Тепловые карты кликов.
  • Записи сеансов пользователей
  • на сайте.
  • Умные PopUp формы и SEO Checker — для SEO-анализа сайта.

CheckTrust

Цена: первые 500 проверок бесплатно. Далее от 350 росс. рублей.

Сервис платный, но новичкам предоставляются 500 бесплатных проверок. Используйте этот инструмент для подбора доноров. Предусмотрен как одиночный, так и пакетный анализ. С его помощью Вы сможете определить оценку трастовости и заспамленности сайта и другие параметры.

Аудит и продвижение сайта

Serpstat

Цена: от 69$ в месяц. В сети можно найти промокоды. Есть и бесплатный анализ, но его функционал очень ограничен.

Сервис, который позволяет отслеживать и подбирать:

  • семантическое ядро;
  • отслеживать поисковую выдачу свою и конкурентов;
  • ссылочную массу и ее динамику. Как свою так и конкурентов;
  • поисковые подсказки;
  • поисковые запросы;
  • PPC анализ;
  • аудит сайта.

Сервис платный, но в интернете можно найти промокоды для бесплатного пользования. На бесплатной основе и без промокодов Серпстатом можно пользоваться, но его функциональность сильно ограничена

Сео чеклист

Данный сервис — это разделенный на категории и подпункты чеклист. В нем структурно показано что нужно сделать по продвижению сайта.

Чек-лист сеошника

На данном сервисе Вы найдете следующие разделы с подпунктами:

  • Анализ и подбор ключевых слов;
  • Структура сайта;
  • Технический аудит;
  • Оптимизация контента;
  • Ссылки (внутренняя и внешняя оптимизация).

Отмечайте галочками что уже сделано, а что еще нет. Перечень задач, которые обозначенные в чек-листе — стандартный, но можно добавить свою вручную. Также есть диаграмма, которая наглядно показівает обїем выполненных работ, что очень удобно.

Pr-cy экспресс аудит сайта

Цена: базово бесплатно

Инструмент для продвижения и аудита сайтов. Рекомендован для сео-специалистов, веб-мастеров, системных администраторов, фрилансеров и др.

Данный сервис позволяет определить:

  • Количество проиндексированных страниц в основных поисковых системах;
  • Нахождение или ненахождение сайта под санкциями;
  • Наличие системы аналитики на ресурсе;
  • Количество внешних ссылок и доменов;
  • Наличие карты сайта sitemap.xml и robots.txt;
  • Оптимизацию контента;
  • Оценку юзабилити сайта;
  • Адаптивность верстки и другие параметры.

Проверка структурированных данных

С помощью этого сервиса вы сможете проверять правильность составления микроразметки SCHEMA.ORG. Такая микроразметка данных поможет значительно повысить CTR и привлекательность сниппета. Взгляните, как выглядит сниппет с микроразметкой FAQ.

Но для корректного отображения и качественного продвижения сайта миркоразметка должна быть без ошибок и составлена правильно. Для проверки правильности рекомендую использовать данный сервис.

Чтобы проверить код миркоразметки нужно:

  1. Либо ввести URL страницы, на которой находится разметка структурированных данных;
  2. Либо ввести фрагмент самого кода.

Gogetrank

Цена: пополнение счета от 100 гривен. Чем выше сумма разового пополнения, тем ниже цена одной проверки.

Сервис для отслеживания позиций в поисковой выдаче. Об этом сервисе мы уже писали ранее. Подробности смотрите в статье о контент маркетинге здесь. https://freehost.com.ua/faq/articles/rekomendatsii-po-kontent-marketingu-dlja-uvelichenija-trafika-chek-list/#11

Google Trends

Он-лайн сервис, с помощью которого можно отслеживать:

  • Географию поисковых запросов;
  • Сезонность запросов.

Validator W3

С помощью этого сервиса Вы сможете проверить HTML и CSS код сайта на ошибки.

PageSpeed Insights

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

Pingdom Tools

С помощью этого сервиса можно измерить скорость загрузки и величину страницу физически из различных стран мира. Для проверки скорости загрузки из Украины выбирайте из выпадающего списка город Франкфурт (Германия).

Seoscout

Крутой новый тул для сеошников.

Собирает поисковые подсказки из гугла по вашему запросу, сразу их группирует, исходя из n-граммного анализа. Все это на любом языке и под любую страну. Данный сервис очень поможет в формировании контента на сайте. Например заголовков для статей, также вопросов для FAQ.

Screaming Frog SEO Spider

Программа для комплексного SEO-аудита сайта.

С ее помощью можно проверить и провести анализ:

  • Кода ответа сервера 200 ОК, Redirection (3xx), Client Error (4XX), Server Error (5XX);
  • Мета-тегов;
  • Заголовков и подзаголовков;
  • Картинок сайта;
  • Правильность оформления sitemap.xml и robots.txt;
  • Наличие дублей на сайте;
  • Канонические страницы с атрибутом rel=“canonical” и др.

Сервис для проверки адаптивности верстки I love adaptive

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

Расширения для браузера Google Chrome

Расширение для отключения Google Analytics

Для объективной оценки трафика необходимо, чтобы система аналитики не подсчитывал посещения SEO-специалистов и других менеджеров, непосредственно работающим с ресурсом. Для этого можно отключить счетчик посещения в аккаунте Гугл Аналитики для пользователей заходящих с определенного IP-адреса. Или же загрузить расширение для браузера Google Chrome, которое передает в код JavaScript Google Analytics (ga.js) сведения о том, что не следует учитывать на счетчике это посещение. Добавить это расширение Вы можете перейдя по ссылке.

GTM Sonar

Необходимое приложение для настройки Google Tag Manager (GTM)

Оно понадобится, чтобы корректно проверять настройку целей и отслеживать клики на сайте. Это поможет понять Вам, какой тег вносить в настройки GTM.

Найти его можно из библиотеки плагинов браузера Google Chrome, зайдя во вкладках настройки Дополнительные инструменты — Расширения.

RDS Bar

С помощью этого браузерного приложения Вы сможете проверить качественные показатели сайта.

  • Определить Page Rank (PR);
  • Количество ссылок (входящие и исходящие);
  • Возраст домена;
  • Время загрузки исследуемой страницы;
  • Наличие карты сайта Sitemap.xml;
  • Наличие файла Robots.txt;
  • Определить движок сайта (WordPress, Joomla, Opencart, Drupal и др.);
  • Вывод мета-тегов (Title, Descriphion), заголовков h1 и подзаголовков и т.д.

META SEO inspector

С помощью этого приложения можно в автоматическом режиме определять:

  • Мета-теги;
  • Каноническую страницу (cannonical);
  • Разрешение на индексирование страницы (index/noindex. follow/nofollow);
  • Тип страницы (doctype);
  • Количество и тип заголовков и подзаголовков и др.

Выводы

Закачивая приложения и плагины к себе на браузер будьте внимательны и осторожны. Расширения могут конфликтовать как между собой, так и самим браузером. Из вышеизложенного можно сделать вывод, что приложения и плагины конечно же

помогают и облегчают труд сеошника, ног ничто не освободит его от обязанности думать. А какими сервисами пользуетесь Вы? Может они не указаны в этой статье? Пишите свои отзывы и пожелания в “Комментариях”.

Счетчик скачивания файлов

Счетчик скачивания файлов

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

скачать исходникискачать урок

Постановка задачи

Итак, в данном уроке нам с Вами необходимо реализовать счетчик скачивания файлов на страницах сайта. Значит, первым делом необходимо определиться, где мы будем хранить результат подсчета скачивания того или иного файла. На мой взгляд, наилучшим решением – является база данных. Поэтому создадим базу данных dc, в которой далее по ходу урока создадим две таблицы – по одной для каждого варианта реализации счетчика загрузок.

Вариант №1

Итак, для первого варианта создаем таблицу count1 в базе данных dc, с двумя полями:

Бесплатный курс по PHP программированию

Освойте курс и узнайте, как создать динамичный сайт на PHP и MySQL с полного нуля, используя модель MVC

В курсе 39 уроков | 15 часов видео | исходники для каждого урока

name – поле для хранения имени файла (тип данных String). Важное замечание: имена файлов – должны быть уникальными, а значит нельзя допускать повторений в данном столбце. Поэтому данному полю необходимо присвоить индекс UNIQUE (если одному из полей таблицы присвоен данный индекс, значит в данном поле могут содержаться только уникальные данные, то есть вставка повторяющегося значения приведет к ошибке).

count – количество скачивания файла (тип данных Integer). Значение данного поля по умолчанию – 1.

SQL – запрос для создания таблицы в базе данных.

Теперь давайте определимся с логикой работы скрипта. Изначально, в базе данных нет ни одной записи. Файлы для скачивания, сохранены в отдельной папке на нашем сайте (в моем случае – это папка files), и выводятся на его страницах в соответствии с его задачами и дизайном.

Для данного урока я создал страницу, которая выводит имена всех файлов, в виде ссылок расположенных в папке files. Важно — путь каждой ссылки – не должен вести непосредственно на файл. Потому как нам, необходимо вести учет скачивания. Значит каждая ссылка, должна перенаправлять пользователя на скрипт обработчик, то есть файл, который подсчитает количество скачивания определенного файла и отдаст его пользователю на скачивание. При этом имя файла, для скачивания, будем передавать, используя метод GET, то есть через адресную строку. Итак, первым делом создадим файл конфигурации d_conf.php:

В данном файле создадим константы с настройками для подключения к базе данных (HOST, USER, PASS, DB), так же добавим константу DIR – путь к файлам для скачивания. А также массив $types – типы фалов, допустимые для загрузки.

Далее создадим файл d_func.php, в котором будут описаны функции, необходимые для работы приложения в целом. Создадим первую функцию connect(), которая будет выполнять подключение к базе данных, используя расширение php – mysqli (улучшенный движок по работе с СУБД MySql). Поэтому данная функция будет возвращать идентификатор открытого соединения, который нам потребуется для дальнейшей работы. Код функции connect():

Теперь, так как мы условились, что в таблицу count1, будет записана информация о скачиваемых файлах (имя и количество скачиваний), значит опишем следующую функцию get_count(), которая получит всю информацию из данной таблицы. И как результат вернет массив, в каждой ячейке которого будет содержаться имя файла (ключ ячейки) и количество его скачиваний (значение ячейки):

Файл, который выводит список файлов из папки files, в виде ссылок, выглядит следующим образом:

Как Вы видите, его код довольно простой. Вначале подключаем файл конфигурации и функций. Затем выполняем подключение к базе данных (функция connect()), далее в переменную $row сохраняем информацию о ранее скачиваемых файлах (функция get_count()), если конечно такие имеются. Далее обходим в цикле каждый элемент папки files, и если это файл – выводим его на экран в виде ссылки. Путь ссылки формируем следующим образом – вначале указываем имя файла обработчика (файл который будет выполнять подсчет скачивания), в нашем случае это файл download.php и используя метод GET (через адресную), передаем имя файла для скачивания.

Так как мы знаем, что ключи массива $row — это имена ранее скачиваемых файлов (мы с Вами условились, что в базу данных информация попадет после первого скачивания), поэтому, как только один из ключей данного массива совпадет с именем файла, при обходе папки files. Значит необходимо вывести на экран количество его скачивания пользователями. В этом случае, на экране мы увидим следующее:

Теперь создадим файл downlad.php и добавим следующий код:

В данном файле необходимо проверить, существует ли в суперглобальном массиве $_GET, ячейка file, то есть имя файла для скачивания. Если такая ячейка существует, значит, вызываем функцию update_file($file,$types), передавая ей имя файла и массив допустимых типов файлов для скачивания.

Теперь давайте откроем файл d_funct.php и опишем функцию update_file(),которая должна подсчитать количество скачивания файла и отдать его пользователю для загрузки:

Итак, первым делом, проверяем, тип файла, то есть, определяем его расширение (используя функцию substr()), и используя функцию in_array, проверяем, есть ли в массиве допустимых типов ячейка с найденным расширением. Затем проверяем, существует ли в папке files запрашиваемый файл (данную проверку нужно выполнять, так как пользователь может вручную обратиться к файлу download.php и передать ему произвольный файл).

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

Бесплатный курс по PHP программированию

Освойте курс и узнайте, как создать динамичный сайт на PHP и MySQL с полного нуля, используя модель MVC

В курсе 39 уроков | 15 часов видео | исходники для каждого урока

Первая часть SQL запроса (INTO count1 (name, count) VALUES(‘$file’, ’1′)) вставляет новые данные в таблицу count, а именно имя файла и количество скачивания 1 (данная часть работает для первого скачивания фала). Вторая часть (ON DUPLICATE KEY UPDATE count=(count+1)), срабатывает после дублирования данных в поле с индексом UNIQUE, то есть если в поле name при вставке данных будет дублироваться запись, будет выполнено обновление данных. А именно, имя файла остается прежним, обновляется только поле count – его текущее значение в таблице увеличиваем на единицу. Далее выполняем SQL запрос и если не было ошибок, отдаем файл пользователю на скачивание.

Теперь можно проверить работоспособность скрипта.

Вариант 2

Для второго варианта нам также потребуется таблица в базе данных. Поэтому создадим таблицу count2:

name – поле для хранения имени файла (тип данных String). Опять же данному полю необходимо присвоить индекс UNIQUE, так как имена файлов, должны быть уникальными;

id – идентификатор таблицы (тип данных Integer), а значит и идентификатор каждого добавленного файла (атрибут AUTO INCREMENT индекс PRIMARY KEY).

count – количество скачивания файла (тип данных Integer). Значение данного поля по умолчанию – 1.

SQL запрос для создания данной таблицы:

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

Как обычно нам необходим файл конфигурации, который мы используем из предыдущего варианта данного скрипта. Так же создадим файл d_func.php, в котором будут описаны функции необходимые для работы скрипта. В файле d_func.php создадим две функции:

Первая функция connect() – взята из первого варианта скрипта. Интерес представляет вторая функция insert_file(), которая добавляет новый файл в базу данных. Аргументы, которые принимает функция: $db – дескриптор подключения к базе данных, $file – имя файла, $types – массив допустимых для скачивания файлов.

Перед тем как добавить информацию о файле в базу данных, выполним ряд проверок: не пустое ли имя файла, разрешается ли скачивание файла данного типа (аналогично первому варианту), а также существует ли указанный файл в папке files (константа DIR).

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

Для получения информации о сохраненных файлах в базе данных, создадим функцию get_count(), логика ее работы аналогична первому варианту скрипта:

Теперь давайте создадим файл admin.php, с помощью которого можно добавить новый файл в базу данных и просмотреть уже существующие:

Как обычно вначале подключаем требуемые файлы и выполняем подключение к базе данных. Затем так как мы добавляем новый файл, используя обычную форму, значит как только придут данные методом POST – вызовем функцию insert_file(), то есть добавим новый файл в базу данных. Далее выполняем перенаправление, на эту же страницу, для очистки данных в суперглобальном массиве $_POST, и вызываем функцию get_count(), что бы просмотреть, какие файлы уже добавлены в базу данных и сколько раз их скачивали. Далее выводим файлы на экран в нужном формате, единственное, я добавил проверку наличия файла при его выводе на экран. Это нужно для того что бы, файлы которые действительно присутствуют в папке files – отображать зеленным цветом, в противном случае – красным.

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

Теперь давайте создадим страницу, на которой выведем ссылки для скачивания файлов (файл index.php):

Как обычно путь ссылки формируем следующим образом – вначале указываем файл обработчик (который выполнит подсчет количества скачивания), затем передаем, используя GET параметры, идентификатор файла, который пытается скачать пользователь. Теперь создадим файл download.php:

Обратите внимание, логика работы данного файла полностью аналогична первому варианту. За исключением того, что через адресную строку передается идентификатор скачиваемого файла, а не его имя. Так как идентификатор – это число, значит проверим, является ли содержимое ячейки id суперглобального массива $_GET, числом. И если действительно это так – вызываем функцию update_count(). Поэтому в файле d_func.php опишем данную функцию:

Данная функция принимает в качестве параметров переменную $db – дескриптор подключения к базе данных и переменную $id – идентификатор скачиваемого файла. Первым делом необходимо убедиться, что файл с переданным идентификатором действительно существует в базе данных. При этом получим его имя. Далее проверяем наличие файла с определенным именем в папке загрузок – files. И если данный файл действительно существует – обновляем запись в таблице. А именно увеличиваем текущее значение поля count на единицу. Далее, используя функцию header(), отдаем файл пользователю на скачивание.

Давайте посмотрим, что у нас получилось:

Как Вы видите, все успешно работает. На этом данный урок завершен. Всего Вам доброго и удачного кодирования.

Бесплатный курс по PHP программированию

Освойте курс и узнайте, как создать динамичный сайт на PHP и MySQL с полного нуля, используя модель MVC

В курсе 39 уроков | 15 часов видео | исходники для каждого урока

Разработка веб-приложения на PHP

Создайте веб-приложение на PHP на примере приема платежей на сайте

Похожие статьи:

Комментарии Вконтакте:

Комментарии Facebook:

Комментарии (12)

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

По теме, сохранить папку директории без полного пути разве это правильно ? А что если я поставлю весь этот код в не в корне сайта, а папку для скачивания в корне ?

Пройтись по полученным записям через фор… не проще через while ?
Про sql инъекции я смотрю вы вообще забыли, раз не фильтрующие данные.

Здравствуйте!
Конечно, использование «не полного пути это не правильно», но в уроке я показал — как можно создать счетчик загрузки файлов в двух вариантах. Цель урока — не дать готовое решение (что бы его можно было просто вставить в сайт), а показать как создаются подобные счетчики.
Защиту от SQL иньекций я не включал урок, что бы код был более компактным и реализовывал только поставленную задачу, к тому же — это не тема урока. Хотя безопасность при разработке скрипта в целом должна быть на первом месте! И если создавать полный законченный проект, то конечно данную защиту обязательно нужно обязательно предусмотреть. Но обратите внимание, что через адресную строку мы передаем имя файла — для скачивания(в первом варианте) и идентификатор файла во втором варианте. Если человек вместо имени файла напишет произвольную SQL иньекцию, то это уже не будет именем файла и проверка в коде скрипта (на наличие файла в папке) уже не пройдет — при этом будет выполнен выход из приложения. Ну а по второму варианту — идентификатор, который передается, через адресную строку — приводится к целочисленному типу данных. И конечно же останется только число.
Но в любом случае — это правильно — что обратили внимание на вопросы безопасности.

голоса
Рейтинг статьи
Читайте так же:
Что выгодней счетчик или бойлер
Ссылка на основную публикацию
Adblock
detector