Вопрос на засыпку (для маньяков)

Аватар пользователя Vsemdovolen

2
А вот у меня такой вопрос для гуру.
Реально ли сделать вот такую ботву.

Задача:
1) Имеется некое количество партнеров с ссылкой на их сайты.
2) Для них создаются страницы или личные кабинеты, где они указывают все о себе, в том числе все контакты и малое описание.
3) Выводится вьювсом в список этих партнеров.
4) Однако публикация этих страниц происходит только при соблюдении парочки условий:

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

5) Если партнер убирает ссылку или код (типа баннера "партнер такой то сети" с картинкой), в списке он пропадает автоматом.

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

Тип материала:
Версия Drupal:
0 Thanks

Комментарии

Аватар пользователя Semantics
Semantics 1 месяц назад

Вопрос ваш в том, что как друпалом контролировать ежедневное бритьё?

Аватар пользователя Vsemdovolen
Vsemdovolen 1 месяц назад

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

Аватар пользователя Vsemdovolen
Vsemdovolen 1 месяц назад

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

Аватар пользователя bumble
bumble 1 месяц назад
1

От file_get_contents и preg_match по крону, до построения "умных" алгоритмов парсинга. Зависит от тонкостей.

Аватар пользователя Vsemdovolen
Vsemdovolen 1 месяц назад

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

Аватар пользователя bumble
bumble 1 месяц назад

1 булька, соответствующая статусу размещения, не доступная пользователю и меняющаяся по результатам проверки.
Если использовать родные свойства или поля - не нужно писать доп хендлер для фильтрации вьюхи.

Аватар пользователя Vsemdovolen
Vsemdovolen 1 месяц назад

Так проверка не должна быть ручной. Все автоматизировано чтоб было. Уж не знаю возможно ли. Типа как вставляем счетчик яндекса или гугла. Нет кода на сайте - нет статистики в личном кабинете метрики. Только он просто выпадает из общего списка. В реальном времени чтоб можно было видеть сколько у тебя партнеров.

Аватар пользователя bumble
bumble 1 месяц назад

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

Аватар пользователя Andruxa
Andruxa 1 месяц назад
bumble написал:
От file_get_contents и preg_match по крону, до построения "умных" алгоритмов парсинга. Зависит от тонкостей.

Я б в ответку клоакинг бы устроил - боту по ip отдавал бы ссылку, а остальным - нет

Аватар пользователя bumble
bumble 1 месяц назад

А я бы не участвовал в проекте ради ссылки.

Аватар пользователя xakudu
xakudu 1 месяц назад

Как по мне никаких проблем тут нет. По крону проверять и выбрасывать.

Аватар пользователя Phantom63rus
Phantom63rus 1 месяц назад

Я бы накостылил следующим образом:
1. В типе материала скрытое поле, на котором указан адрес страницы, где обратная ссылка.
2. Скрипт, который лезет в табличку друпала и:
- качает страничку где должна быть ссылка
- парсит
- если не находит, то в базе снимает публикацию
3. Скрипт в крон.

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

Аватар пользователя Vsemdovolen
Vsemdovolen 1 месяц назад

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

Аватар пользователя Phantom63rus
Phantom63rus 1 месяц назад

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

Аватар пользователя gun_dose
gun_dose 1 месяц назад

Для нахождения ссылки достаточно простого strpos по коду страницы. Другое дело, что могут скрыть ссылку через css, а это уже только руками (глазами) проверяется. Именно поэтому лучше меняться не ссылками, а баннерами. Скрипт баннера будет просто кидать пинг на друпал, а друпал в ответку раз в день парсит страничку на наличие скрипта. Так можно точно удостовериться, что скрипт не только присутствует в коде страницы, но и работает.

Аватар пользователя Vsemdovolen
Vsemdovolen 1 месяц назад

Пусть это баннер. Мне важно, чтобы проверка была автоматической. Но на сколько понял у партнера есть возможность обойти. И на сколько этот скрипт трудный в создании?

Аватар пользователя gun_dose
gun_dose 1 месяц назад

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

Аватар пользователя ХулиGUN
ХулиGUN 1 месяц назад

Решение для баннера - one pixel img
То есть ты отдаёшь партнёру ссылку на свой баннер, который картинкой, но отдаёшь эту картинку не на прямую, а через свой роут, который обновляет поле в профиле партнёра, что он "честный" и время "проверки" и только потом отдаёт в респонс саму картинку (роут может быть динамическим, чтоб можно было детектить от какого партнёра "пришли") по желанию можно в крон поставить проверку по партнёрам, которые давно не "обновлялись"

Аватар пользователя Vsemdovolen
Vsemdovolen 1 месяц назад

Что то не нашел такого модуля one pixel img

Аватар пользователя itcrowd72
itcrowd72 1 месяц назад

Никто и не писал, что это модуль

Аватар пользователя fairrandir
fairrandir 1 месяц назад
(window.Image ? (new Image()) : document.createElement('img')).src = '<your-domain>/pixel.gif?c=<unique client hash>'
Аватар пользователя Vsemdovolen
Vsemdovolen 1 месяц назад

Если не сложно, для ламера как я расшифровать что это и куда.

Аватар пользователя Vsemdovolen
Vsemdovolen 1 месяц назад

Усложним задачу.
Человек не только должен разместить обратную ссылку на своем сайте в виде баннера, ссылки, но и пройти предварительное тестирование через модуль Quiz, который не работает пока)) https://drupal.ru/node/135705
Объясню идею в целом.
Некий парень, умеет например хорошо красить тачки. Имеет сайт. Хочет пройти добровольную сертификацию на знание технологии покраски, появившись в общем списке добровольно прошедших сертификацию.
То есть. Он проходит тест на знание технологии онлайн, размещает у себя ссылку на мой сайт и только тогда высвечивается в общем списке сертифицированных.
Какое из вышеперечисленных решений подойдут?

Аватар пользователя Phantom63rus
Phantom63rus 1 месяц назад

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

Мораль сей басни такова: не пытайтесь решать административные проблемы техническими путями.

Аватар пользователя ХулиGUN
ХулиGUN 1 месяц назад
1
Vsemdovolen написал:
Что то не нашел такого модуля one pixel img

Это не модуль, а технология.
Заключается в том, что создаётся картинка размером в 1 пиксель где в аттрибуте src указывается ссылка на обработчик. То есть при загрузке страницы браузер попытается загрузить данную картинку, следовательно сделает запрос на ваш сайт и роут на вашем сайте обработает данный запрос. Обычно использовалась в почте для детектилки прочитанности письма

В конкретно вашем случае это может быть не 1 пиксель, а нормальная картинка баннера.