Скрипт короткие ссылки на php и sql - сокращение url
Для чего короткие ссылки - бывает пригождается на форумах, чате, блогах, и других коммуникативных сервисах, и чтобы не заполонять пол сообщения длинной ссылкой, сервис короткие ссылки укорачивает ссылку до мизерных размеров.
Это скрипт предназначен для переадресации с длинного uri на короткий с установленными выбранными функциями.
Скачать скрипт короткие ссылки
Что умеет скрипт короткие ссылки:
- Неограниченное количество доменов
- QR коды для ссылок
- Поддержка onion сайтов
- Скрипт можно встраивать в другие проекты.
- Задержка переадресации для рекламы
- Выбор времени работоспособности ссылки
- Готовая верстка под любые девайсы
- Автоматическая очистка неактуальных ссылок
- Шаблонная страница
- Отслеживание количество переходов и др. данных.
- Админка
- Ведение логов
- Списки разрешенных и запрещенных протоколов (http, ftp, skype, mailto ...)
- Создание ссылок только по паролю
- Свой короткий url
- Выбор http заголовков
- Черный список url длинных ссылок
- Черный список url коротких ссылок
- Код детально комментирован для корректировки
- Много проверок введенных данных
- Cовместимость с другими ресурсами на одном домене
- И д.р.
Конфиг скрипта, пример:
# _config.php: V4.0
...
$_CONFIG['INF_DOMAIN'] = array('https://domain.ru' => ''); # Домен для переадресации (Без слеша на конце). Префикс (префикс не обязательный, прификс корректируется в тандеме с .htaccess)
$_CONFIG['URI_SCRIPT'] = 'https://domain.ru/'; # Адрес главной страницы сайта. Начиная с протокола и заканчивая слешом (https://domain.ru/)
$_CONFIG['URI_ADMIN'] = 'https://domain.ru/adm/'; # Адрес сайта с админкой, начиная с протокола и заканчивая слешом (https://domain.ru/adm/)
$_CONFIG['PSWD_ADM'] = ''; # Пароль админки (Чтобы с генерировать пароль, сотрите его и зайдите в админку).
# НАСТРОЙКИ сайта
$_CONFIG['BLOCKING_USER'] = array(); # Запретить вход на сайт по IP или диапазону.
$_CONFIG['LOG_ERRORS'] = 1; # Лог ошибок введенных данных в форме
$_CONFIG['PASSWORD_ONOFF'] = 0; # Пароль включить/выключить 1/0
$_CONFIG['PASSWORD'] = '8349'; # Пароль
$_CONFIG['BAD_POST_URL'] = 'xxx.ru|xxx.com'; # Запрещенные домены (кириллица - регистроЗависимая)
$_CONFIG['MAX_SYMBOL_LONG_URL'] = 4000; # максимум символов в длинным url, стандарт 4000 больше не рекомендуется в uri.
$_CONFIG['MIN_SYMBOL_LONG_URL']= 8; # минимум символов в длинном url (8 минимум)
$_CONFIG['MIN_SYMBOL_SHORT_URL'] = 3; # Минимум символов в коротком url
$_CONFIG['MAX_SYMBOL_SHORT_URL'] = 40; # Максимум символов в коротком url
$_CONFIG['BAN_POST_SHORT_URL'] = 'xxx.html|fack'; # Запрещенные короткие urlы
$_CONFIG['SEND_HEADER_ARR'] = array('301 Moved Permanently', # Отправляемые http заголовки 3xx: Redirection (перенаправление)
'302 Found',
'307 Temporary Redirect',
'303 See Other',
"305 Use Proxy");
$_CONFIG['SEND_HEADER_DEFAUL'] = 1; # Отправляемый заголовок по дифолту (счет с нуля)
$_CONFIG['CLOCK_TIME_DEFAUL'] = 168; # Время хранения ссылки в часах по дифолту (неделя => 7 дней * 24 часа = 168 часов)
$_CONFIG['CLOCK_TIME_ARR'] = array( 1 => 'час', # Дополнительные пункты "Время хранения ссылки".
24 => 'сутки',
168 => 'неделя',
744 => 'месяц',
4463 => 'полгода',
87600 => 'максимум'); # 10 лет
$_CONFIG['CLOCK_TIME_SORT'] = 3; # разбивка списка переменной CLOCK_TIME_ARR
$_CONFIG['URI_PROTOCOL_BAD'] = 'dns:|soldat:|ssh:|file:'; # запрещенные протоколы
# разрешенные протоколы:
$_CONFIG['URI_PROTOCOL_GOOD'] = 'cid:|crid:|data:|dav:|dict:|fax:|ftp:|go:|gopher:|h323:|http:|https:|im:|imap:|ldap:|mailto:|mid:|news:|nfs:|nntp:|pop:|pres:|rtsp:|tel:|telnet:|urn:|wais:|xmpp:|about:|aim:|bolo:|btc:|bzr:|callto:|chrome:|cvs:|daap:|ed2k:|ed2kftp:|feed:|fish:|git:|irc:|ircs:|lastfm:|ldaps:|magnet:|mms:|msnim:|rsync:|skype:|svn:|sftp:|smb:|sms:|steam:|unreal:|view-source:|vzochat:|webcal:|xfire:|ymsgr';
...
# Хелпы и факю
# Как установить скрипт | Для версии 4.0
1) Скачиваем дистрибутив и заливаем файлы на сервер.
|
# Как обновить скрипт | с версии 3.2 до версии 4.0
1) Сделайте бекап файлов и БД. |
#
Добавление доменов$_CONFIG['INF_DOMAIN']
|
Переменная является масивом состоящая из домена и его префикса.
Для добавления домена нужно добавить в массив новый домен и его префикс: Пример: $_CONFIG['INF_DOMAIN'] = array('https://domain1.com' => '', 'https://domain2.net' => '~'); Используйте для долпонительных доменов папку [OtherDomains]. shortLinks.php - для подключения к БД..htaccess - для редиректа.Количество доменов не ограничено. |
# Как сбросить пароль.$_CONFIG['PSWD_ADM'] |
Хешированный пароль админа. Удалить хеш и зайти в админку. При отсутствующем хеш-пароля, админка сама предложит придумать пароль и сгенерировать хеш. Сгенерированный хеш-пароль вставить $_CONFIG['PSWD_ADM'] = 'СЮДА';
|
$_CONFIG['CLOCK_TIME_ARR'] |
Время хранения ссылки с последуюющим его удалением. Параметры считаются в часах. |
$_CONFIG['SEND_HEADER_ARR'] |
Список кодов состояния отправляемых по http при редиректе. При изменении добавлении используйте только трехсотые коды для перенаправления (3xx). Не допускайте ошибок и проверяйте добавленные http заголовки сторонними сервисами. [подробнее] |
$_CONFIG['URI_ADMIN'] |
Url адрес для доступа к админке. Праметр изменяется в тандеме с дефолтной папкой /adm/ .Адрес сайта с админкой, начиная с протокола и заканчивая слешом (https://domain.ru/adm/) |
Таймер для переадресации файл: index.php
|
Пример таймера:
|
# Структура файлов |
Не рекомендуется редактировать файлы кроме как пользовательских т.к. при следующем обновлении изменения слетят.
|
# Часто задаваемые вопросы
После установки или обновлени скрипта, главная страница криво отображается.
Ваш браузер просто закешировал веб страницу и это нормальный эффект. Обновите страницу Сtrl+F5
.
Таким образом страница заново подгрузит с сайта style.css
Когда будут новые обновления?
Новые обновления не плохо мотивируются донатами,
пишите в личку если возникнет такая необходимость.
Спасибо за понимание.
Сtrl+F5
.Таким образом страница заново подгрузит с сайта style.css
пишите в личку если возникнет такая необходимость.
Спасибо за понимание.
К примеру если Вы ходите добавить домены находящиеся на другом сервере.
Parse error: syntax error, unexpected end of file, expecting «elseif» or «else» or «endif» in C:\Server\htdocs\l\index.php on line 216
Скрипт будет корректно работать на поддомене re.domian.com?
Скрипт поддерживает работу на хостах https?
Уже и версию PHP менял с 5.3 до 7.4 не помогает.
Такие 500 ошибки как правило логируются.
Пришлите лог последних запросов когда вызывалась ошибка.
И содержимое файла на что он ссылается.
Там все элементарно…
Ошибка указывает на то, что файлу htaccess не разрешено использовать директиву Options для изменения настроек.
Добавление «Options» в список AllowOverride позволит использовать директиву Options в файле htaccess.
нужно в файле script.js
функция вот эта цифра отвечает за количество слогов.
Увеличив её вы увеличите длину короткой ссылки.
Чтобы добавить символы разрешенные скриптом нужно:
нужно в файле script.js
найти строку
и добавить к буквам символы
Можете сами обгрейдить я обновлю.
поиск пока CTRL + F
По другим или коммерческим вопросам пообщаемся в привате ftpn.ru/feedback/
Эти ошибки говорят о том что Вы где то не правильно настроили.
Читайте хелпы инструкцию повнимательней.
Из настроек тут всего лишь конфиг да хатсес.
У меня другой вопрос, где взять такую систему комментариев как вот в этой мы общается?
С таким ошибками нужно логи подкреплять к сообщению.
Не хочется, что бы этот сервис для своих использовался в мошеннических целях.
Заранее спасибо.
Хорошая идея в следующей версии реализую.
В конфиге Пробовал и true на единички менять, но изменений нет
или Вы с нуля устанавливали?
чтобы видеть ошибки включите отладку в конфиге с false на true
Мне так кажется что скрипт не может записать в базу данных т.к. либо отсутствует права на запись в базе данных либо еще чтонибудь…
Скажите какой номер ошибки и включите отладку чтоб видеть ошибки.
2029-06-21 18:07:47
85.174.55.108
NULL
NULL
NULL
NULL в базе не прописывается
Так… эти ячейки заполняются при первом заходе по ссылке
В этой строке:
Укажите там свой домен, и пере проверьте ваш конфиг, и манулал взгляните чтоб наверняка.
И из конфига сюда запостите строку с параметром
Также при последующих обновлениях не снесется ваш дизайн.
Www.вашдомен/?admin
Планируется ли выпуск обновления, что там будет и когда )))
Как обновить без потери старых данных :)
Исправленны программные ошибки.
func.php — программа, её не желательно корректировать т.к при обновлении в основном он обновляется.
Для добавлении таймера с рекламой, нужно откорректировать index.php
и найти строку:
Функция redirLink(); это и есть обработчик коротких url, ему нужно поставить условие.
Для этого уберем функцию redirLink(); (то что после двоеточий) чтобы не переадресовывал нас и добавляем условие чуть ниже:
Логика такова: при переходе по ссылке проверяет есть ли куки, если есть вызываем нашу функцию redirLink(); для переадресации, если нет то запишем куки и покажем рекламу с ожиданием 3сек, далее страница перезагружается и все с начало. Есть ли куки и учитывая что мы уже записали вызывается функция redirLink();
Как показано в хелпах примерах.
Только как, вопрос :)
Типа Wordpress, DLE. Ставишь плагин и сервис сокращает и изменяет ссылки на сторонние ресурсы через основной сайт (который на скрипте работает).
Есть предложение как реализовать?
Не работает скрипт сокращения geurl.ru
В корне дериктории скрипта замените в htaccess все содержимое на:
По этому htaccess верните старый и проверьте свой журнал ошибок httpd ну естественно прогуглите их…
Пожелания:
1. Сделать ЛК для пользователя (где хранились бы его ссылки)
2. Сделать возможность временной задержки при переходе (например 10 сек.) для получения средств от платной рекламы. А также платную подписку для отключения и моментального перехода
3. Сделать возможность вписать дизайн (не нашел сейчас).
2. Да, Вы дельные пожелания предложили, реализую при первой возможности.
3. Что вы именно предлагаете?
На текущий момент файл index.php готов редактироваться под ваши нужды или же просто интегрируется к примеру инклудом, предварительно удалив head заголовки.
Таким образом можно делать и мобильную версию и делать временную задержку с рекламой — поставив условие функции redirLink();
Спасибо.
Т.е если вы создадите свой ресурс-страницу в этом же корне домена то переадресация коротких ссылок будет работать и не пересекаться с вашим ресурсом.
В принципе можно эту приставку убрать но тогда вы не сможете создавать свои страницы в этом домене.
При первой возможности сделаю это функционально с выбором.
А также теперь на разных доменах можно с префиксом и без него.
На днях опубликую и Вас уведомлю.
Спасибо
В самом начале index.php, есть режим отладки: смените с false на true и помониторте ошибки.
скиньте ошибку лог а то не понятно так.
Скажите, а какую роль выполняет «Эта [Кнопка] как рулетка.»?
Цифры указывают количество ссылок в БД.
P.s чтобы не юзать крон, боты лазиющие по сайту сами активируют чистку.
Спасибо за скрипт
В любом случае сегодня опубликую и для php7.
Отключив блокировку рекламы, Вы сможете
бесплатно скачать файл с наших серверов.»
Спасибо за скрипт)))!
Скрипт в меня тоже нормально не работает: выдает постоянно ошибку «Не удается получить доступ к сайту. ERR_NAME_RESOLUTION_FAILED»!
К тому же, последние три колонки в БД остаются пустыми
Эти ошибки не как не связаны со скриптом, это уже траблы на стороне сервера или браузера.
if (false) замените на if (true)
2) Как мне кажется у Вас не обрабатывается / не настроен .htaccess учитывая что скрипт Вы положили в дерикторию.
Попробуйте файл .htaccess положить в корень вашего домена и в самом файле .htaccess указать верный путь к скрипту
В ведь ваш сайт при редиректе отдает страницу 404 — что означает не верно указанный путь, а путь должен быть к index.php скрипта, далее идет подключение к БД и выборка к переадресуемой ссылке.