Как запретить скачивание парсером

12
seosniks
На сайте с 13.08.2007
Offline
389
1091

Добрый вечер.

Необходимо запретить прямое скачивание

вида

/index.php?info=load&id_art=191&song=Lua&artist=xxx&type=file.

Как лучше реализовать на php?

rustelekom
На сайте с 20.04.2005
Offline
544
#1

Не кодер, но может бть даст идеи: https://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=286&lngWId=8

60% скидка на VPS в США, 20% скидка в Нидерландах и 40% в Финляндии. Новые тарифы на AMD Ryzen 9950x с частотой до 5.7 ГГц со скидкой 40% RoboVPS https://www.robovps.biz
78884115
На сайте с 28.11.2012
Offline
43
#2
seosniks
На сайте с 13.08.2007
Offline
389
#3

Мне больше подошел бы этот http://htmlweb.ru/php/example/antileech.php.

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

Разрешить качать только если пришли со страницы

index.php?id_=2772&info=yes

Но как быть с теми кто пришел с поиска.

Тут вариант наверное один, проверять, парсер или человек работает.

Mik Foxi
На сайте с 02.03.2011
Offline
1216
#4

добавить капчу.

Антибот, антиспам, веб фаервол, защита от накрутки поведенческих: https://antibot.cloud/ (8 лет на защите сайтов). Форум на замену серчу: https://foxi.biz/
Prior
На сайте с 03.03.2008
Offline
194
#5

Еще вариант выводить контент на странице аяксом. Это конечно не гарантирует 100% защиту, но вполне возможно будет достаточно, чтобы не захотели замарачиваться с парсингом.

Ответы на вопрос - https://answers.net.pl
C
На сайте с 26.10.2013
Offline
54
#6

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

В этом случае выход придумывается только один - если referer не с нашего сайта ( парсер или яндекс ) - отображать страницу со ссылкой на скачивание. И давать куку яваскриптом (не все парсеры его понимают). Далее при попытке скачать - проверять наличие куки и всего делов

Услуги по парсингу данных (/ru/forum/939826), единоразовый и регулярный сбор данных. Любые объемы. Скрипты на PHP, создание и доработка, решение проблем с сайтами Пишите в личные сообщения или скайп
seosniks
На сайте с 13.08.2007
Offline
389
#7
foxi:
добавить капчу.

О капче думал, как вариант можно рассмотреть, поставить не сложную капчу.

У меня сейчас код примерно так работает.

на морде сайта есть ссылки, каждая ссылка это раздел.

Заходим в нужный раздел, там есть еще ссылки на подразделы, в которых можно скачать файл(ы).

как вариант пришедших извне кидать на морду а там пусть идут в раздел, но это лишний гемор.

Лучше наверное проверять referer

C
На сайте с 26.10.2013
Offline
54
#8
как вариант пришедших извне кидать на морду а там пусть идут в раздел

и ботов ПС в таком случае?

Вот, например, по ссылке - /index.php?info=load&id_art=191&song=Lua&artist=xxx&type=file - вы же можете определить какому подразделу принадлежит эта песня? Вот и если реферер не с вашего сайта - перенаправляйте в нужный подраздел. А если с вашего - отдавайте файл на скачивание.

seosniks
На сайте с 13.08.2007
Offline
389
#9
colorito:
и ботов ПС в таком случае?

Вот, например, по ссылке - /index.php?info=load&id_art=191&song=Lua&artist=xxx&type=file - вы же можете определить какому подразделу принадлежит эта песня? Вот и если реферер не с вашего сайта - перенаправляйте в нужный подраздел. А если с вашего - отдавайте файл на скачивание.

Пожалуй так и сделаю.

#проверка не пришел ли юзер с другого сайта

RewriteCond %{HTTP_REFERER} !^http://(www.)?сайт/.*$ [NC]

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

siv1987
На сайте с 02.04.2009
Offline
427
#10
colorito:
В этом случае выход придумывается только один - если referer не с нашего сайта ( парсер или яндекс ) - отображать страницу со ссылкой на скачивание.

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

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий