Как сделать свой сократитель

Добавил пользователь Валентин П.
Обновлено: 04.10.2024

В этой статье я покажу вам, как сокращать ссылки в PHP, используя API adf.ly.
Adf.ly - один из самых популярных сервисов для сокращения ссылок, с оплатой за переходы по вашим ссылкам. Этот сервис, помимо того, что сокращает ссылки, делая их более читаемымы, так же, позволяет заработать немного денег их клиентам. Их сервис имеет API, которое позволяет легко управлять собственными ссылками и своим аккаунтом.

Перед тем, как начём

Как делать запросы к API

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

  • обыная аутентификация (base)
  • HMAC-аутентификация (нужно сгенерировать особый токен перед запросом)

Примеры их реализации будут рассмотрены подробнее немного ниже

Но, основное, что нужно знать перед работой с API:

  • Перед выполнением запроса, независимо от типа аутентификации, нужно добавить ID пользователя _user_id , публичный ключ _api_key , а так же, текущее Unix-время _timestamp к списку параметров.
  • Все сокращаемые url-адреса должны быть URL-закодированы, т.е. обработаны функцией urlencode, и, если они передаются в виде массива, то должны быть отсортированы, по принципу байт-сортировки (значит, что параметр " param[10] " будет расположен перед параметром " param[2] ").
  • В случае HMAC-аутентификации, хеш строки (по алгоритму sha256 ) создаётся их всех заданных параметров с шага №1, подписанного вашим приватным ключом. И добавляется в список параметров под ключом _hash .

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

Сокращение ссылки по API

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

Как мы выяснили ранее, ADF.LY API имеет несколько различных проверок аутентификации пользователя:

  • обычная аутентификация, при которой достаточно передавать только ID пользователя, и публичный ключ (опять таки, взятые из кабинета клиента)
  • HMAC-аутентификация, которая требует создании специального хеша, подписанного секретным ключом, взятым из кабинета adf.ly.

На странице документации вы можете подробнее изучить все доступные методы, и особенности интерфейса. Но, я, в контексте этой статьи разберу 2 примера: обычное сокращение ссылки, и получение списка всех сокращённых URL-адресов (для этого потребуется пройти HMAC-аутентификацию).

Скрипт сокращения ссылки

Для сокращения ссылок я написал функцию, которая возвращает массив параметров ( errors , warnings , page , data ), где в последнем, и будет находиться полезная информация о сокращённой ссылке:

succes-request

Вот так выглядит успешный запрос на сокращение ссылки:

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

И теперь, для получения сокращённой ссылки, просто достанем данные из полученных параметров:

Скрипт получения списка всех сокращённых ссылок (пример создания токена)

Опять обращаясь к документации, можно увидеть, что за это отвечает метод urls , который требует пройти HMAC аутентификацию.

Для этого, напишем новую функцию:

А воспользоваться этой функцией можно подобным образом:

links-api

И выполнив этот код, успешный результат будет похож на этот:

Если в вашем аккаунте слишком много ссылок, то API вернёт лишь часть из них. Для этого, у них существует параметр _page , который позволяет делать постраничный вывод ссылок. Это выходит за рамки статьи, но с этим вы без проблем сможете разобраться по документации.


YOURLS (Аббревиатура You Own URL Shortener) - это бесплатная альтернатива сокращению ссылок (URL) с открытым исходным кодом и самостоятельно размещаемым URL -адресом аналогично ТОП 3 сервисов: Как сократить URL ссылку: bit.ly, U.to или To.click.

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

В этой стать представляю вам бесплатный инструмент YOURLS, который может закрыть потребности в отслеживании переходов по вашим ссылкам. YOURLS - это ваш персональный аналог Bitly или u.to. Этот скрипт предназначен для сокращения ссылок, а так же отображает количество кликов, источники переходов и ГЕО пользователей. Это лишь не большая часть функционала обычного трекера, но преимущество YOURLS, как минимум, в том, что за него не нужно платить.

Возможности Yourls: за и против

Yourls инструмент для редиректов будет полезен для тех, кто добывает трафик из мессенджеров (Телеграм, Viber), социальных сетей (Вконтакте, Фейсбук) и других источников.

Lorem ipsum dolor

Сторонние PHP-скрипты для сокращения ссылок на собственном сайте

  1. AdLinkFly. Позволит вам создать собственную систему сокращения ссылок.
  2. Mighty URL Shorte ne r. Предоставляет множество интересных функций для сокращения ссылок. Платный сервис с различными гибкими и настраиваемыми планами.
  3. Premium URL Shorte ne r. Совмещает в себе сокращение ссылок и некоторые инструменты полноценной CMS.
  4. LinkPress URL Shortener. Это специализированная платформа для сокращения ссылок с приятным и отзывчивым дизайном. Имеет повышенную безопасность и позволяет сокращать тысячи ссылок за один раз.
  5. Shortny Shortcut. Это наи более простое решение из всех предложенных. Данный сервис просто укорачивает ссылки и ничего лишнего.
  6. URL Shortener with ADS. Предлагает удобное сокращение ссылок, однако присутствует реклама на сокращенных ссылках.
  7. Shortny B — Shorten in Style. Еще од на удобная и простая программа.
  8. Shortix URL Shortener. Позволяет запустить собственный сервис по сокращению ссылок.
  9. URL Shortener. Простой, но очень мощный скрипт сокращения ссылок.
  10. URL Shortener Scri p t with Stati s tics. Не просто сокращает ссылки, но и позволяет отследить статистику переходов по ним.
  • вы будете зависеть от внешнего ресурса ; если ресурс окажется недоступным, то ваши ссылки тоже будут недоступными;
  • статистику переходов по данным ссылкам отслеживают ресурсы, которые вам предлагают эту услугу;
  • редко какие сервисы разрешают изменять вид коротких ссылок;
  • большинство сервисов не разрешают использовать собственные псевдонимы.

Собственный скрипт сокращения ссылок

Заключение

  • можно реализовать все в скрипте и не создавать отдельный INI-файл;
  • можно добавить простой интерфейс, чтобы легче было вносить изменения в INI-файле;
  • можно автоматизировать подбор псевдонимов для ссылок;
  • и др.

Мы будем очень благодарны

если под понравившемся материалом Вы нажмёте одну из кнопок социальных сетей и поделитесь с друзьями.

С начала для чего нужно сокращение ссылок.

В интернете существует множество сервисов для сокращения ссылок, но лучше сделать его на своем домене.

Для того чтобы создать собственный сервис сокращения ссылок, мы будем использовать специальный скрипт, который называется YOURLS.

Загружаем архив со скриптом себе на компьютер, разархивируем его.

Далее загружаем содержимое с файлами скрипта на ваш хостинг.

Этот скрип может работать не только с основным доменом, но также с под доменами и с любой директорией домена.

Вы сами должны прикинуть, как вам будет более удобно и какого вида ссылку вы хотите увидеть в итоге.

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

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

В ней он будет хранить исходные ссылки и сокращенные.

После того как все файлы загрузились на сервер, нужно настроить наш скрипт.

Для этого находим файл config-sample.php и переименовываем его в config.php

Открываем его на редактирование и вносим необходимые изменения.

Проверяем работу скрипта.

Если данное решение вас чем-то не устраивает, то обратите внимание на скрипт Система управления ссылками ReDirector 3.0 от Евгения Попова

Для своих сайтов я использую хостинг Mchost

Читайте также: