Комментарии 17
Хм...странные люди. Не нравится так не пользуйтесь, а то развели демократию словно вам кто то должен что то.
А как в таком случае сделать CSRF в GET запросе или это он и есть?
- Сливать с клиента (браузер с установленным расширением, владелец которого зашёл на ФБ) пары ссылок на отдельные посты в ФБ в формате "[нормальная ссылка, ссылка курильщика]"
- Сохранять слитые данные на сервере, где вместо id будет нормальная ссылка
- Дать возможность другим клиентам переходить по ссылке курильщика с рандомным, но чужим fbclid
Догадываюсь что по тем или иным причинам это сделать нельзя, но хотелось бы посмешивать им там рекламные профили, чтобы перестали нести чушь про парсеры. В последнее время такая наглая ложь воспринимается как-то более болезненно, что ли.
Чтобы расшифровать её в «нормальную ссылку», надо по ней перейтиДа вроде как не обязательно, вот смотрите:
Мы имеем группу «Ghack Technology News», ссылка на неё выглядит так
"facebook.com/ghacksnet/"
, я только что проверил что она рабочая, и самое главное — я уже могу собирать ссылки курильщика из загруженной веб-страницы. Теперь пофантазируем:Ссылка на конкретный пост для меня выглядит так:
"facebook.com/ghacksnet/%SMOKER_LINK_FOR_EIMRINE_POST_12345%"
.Ссылка на конкретный пост для вас выглядит так:
"facebook.com/ghacksnet/%SMOKER_LINK_FOR_QW1_POST_12345%"
.То что я ошибочно назвал «нормальной ссылкой» на самом деле не ссылка, а идентификатор, идентифицировать будем конечно же по таймстампу с точностью которую можно получить из веб-сайта. Условный пример записи в БД для одного такого идентификатора, для которого зафиксированно две ссылки курильщика:
key="fbgroup:ghacksnet,time=1658913166"
value1="SMOKER_LINK_FOR_EIMRINE_POST_12345"
value2="SMOKER_LINK_FOR_QW1_POST_12345"
Ну и наконец, если где-то будет сервер который будет хранить всё это ссылочное барахло, то задача получения рандомной но чужой ссылки будет сводится к тривиальным действиям:
Я, как обычно, делаю клик мышкой по ссылке
"facebook.com/ghacksnet/%SMOKER_LINK_FOR_EIMRINE_POST_12345%"
Мой браузер, вместо того чтобы выполнить переход по вышеуказанной ссылке, на уровне расширения браузера, вычисляет из ссылки курильщика данные key такие как
"group:ghacksnet,time=1658913166"
и отправляет их на серверСервер присылает мне рандомную но чужую ссылку курильщика, пусть это будет
"facebook.com/ghacksnet/%SMOKER_LINK_FOR_QW1_POST_12345%"
Ну и суть всего этого мероприятия чтобы свести с ума алгоритм фейсбука когда я, eimrine, благодаря браузерному расширению, перейду по ссылке которая была сформированна для совершенно случайного юзера, например qw1. Всё что может мне помешать — если в ссылке
"facebook.com/ghacksnet/%SMOKER_LINK_FOR_QW1_POST_12345%"
будут храниться такие данные которые заставят меня перелогиниться как qw1, что по понятным причинам неприемлемо. Но вроде как «такие данные» хранятся не в GET-параметрах (какими ссылка курильщика и является), а в куках — т.е. идея должна получиться.Надеюсь, описание не слишком сумбурное. Я уже давно думаю о мульти-функциональном расширении для браузера, которое превратит отношения веб-сайтов с юзерами из парадигмы «меч против щита» в парадигму «меч против меча» начатую расширениями ad nauseum и unfollow everything.
Если это timestamp поста на фейсбуке, то в одном посте может быть несколько зашифрованных ссылок, и как их отличать, если у них общий timestamp?
Чисто теоретически, расширение может фиксировать в своей внешней базе место, откуда был произведён переход. То есть что-то типа id-поста=123456, 3-я ссылка сверху. И когда другой юзер кликает по 3-й ссылке указанного поста, а кто-то уже прокликал раньше, сервер отдаёт пользователю расшифрованную ссылку.
Тут у меня возникла идейка, что нужно зарегать бота, который бы со своего аккаунта проходил бы через такие ссылки и складывал бы результаты в базу. Пусть фейсбук следит за ботом, не жалко.
свести с ума алгоритм фейсбука когда я, eimrine, благодаря браузерному расширению, перейду по ссылке которая была сформированна для совершенно случайного юзераДа это ерунда. Фейсбуку при ресолве ссылки ничего не стоит сверить текущего юзера в сессии и юзера, которому предназначена ссылка. Он всё равно ходит в своё key/value хранилище для декодирования ссылки, так можно в value класть не только URL, но и id юзера, которому он предназначен.
Не совпадает — переход на страницу-заглушку или на таргетированную рекламную страницу, вот уж вопрос, кто кого сведёт с ума.
Догадываюсь что по тем или иным причинам это сделать нельзяЭто очень похоже на слив истории. Расширениям категорически недопустимо сливать историю, я помню, как какое-то расширение выпнули на мороз за то, что в нём была опция «помогите автору, включите эту опцию, чтобы передавать все посещённые ссылки» (каким образом это бы помогло автору, не уточнялось, расширение представляло собой обычный переводчик).
Никогда такого не было и вот опять, ага.
Что случится, если я попрошу друга скинуть мне ссылку на новость? Он скопирует её со своим личным ключём слежения получается. То тогда моё посещение зачтётся ему получается? И главное что он никак не может предотвратить это даже если хочет. Если раньше опытный пользователь мог удалить мусор из ссылки перед тем как посылать другу, то теперь это сделать никак.
Фейсбук ломает понятие веб-паутины и URL. И он это делает лишь потому, что им пользуются миллионы людей и не могут отказаться.
Мне никогда не нравилась эта вещь кого кто-то скидывает ссылку, а к ней прикреплены параметры слежения, из-за чего ссылка становится километровой длины.
Я бы хотел расширение которое показывает чистую ссылку всегда. Взять тот же сокращатель t.co во-первых, этот сайт не всегда доступен без vpn, во-вторых хотелось бы видеть что скрывается под ссылкой сразу virus.xxx/download.exe или ru.wikipedia.org/article/123. Да, ссылки t.co не уникальные, но их без посещения сайта расшифровать нельзя.
Нет, даже если перейти ссылка не расшифровывается, что видно обведено на первом скрине в статье. А уж запрещать копировать это не нормально, это нарушает определение гипертекста. Это они уже сделали в своём приложении. На крайний случай должна быть кнопка поделится ссылкой, но она опять будет со ключами слежения.
Ghacks: Facebook** начала шифровать ссылки в попытке обойти браузерные системы защиты от слежки за пользователями