Что такое away.php ВКонтакте? Чем плох away.php?
away.php — скрипт, через который вконтакте проксирует внешние ссылки.
Когда вы видите ссылку вконтакте, то она ведет не на example.com, а на away.php, который выдаст предупреждение о том, что это внешняя ссылка, что она не имеет отношение к сайту вконтакте. Дальше с этой страницы уже можно перейти на целевой сайт (некоторый ссылки блокируются вконтакте и away.php просто говорит, что это вредоносная ссылка).
Давно отключил эту функцию, так как считаю, что сам смогу разобраться с внешними ссылками. А для начинающих пользователей вполне не плохо — разграничивает вконткате от прочих сайтов, тем самым косвенно увеличивает безопасность.
Что происходит в away.php (vk.com)?
Когда переходишь по какой-либо из ссылок в контакте, то сначала прогружается страничка с away.php, а только потом уже перекидывает на нужный сайт. На компе это совсем почти не заметно, но вот на телефоне(скорее всего в силу слабой производительности или слабого соединения) эта страница висит секнды 3-5.
И вот появился интерес.
— Что же все таки там происходит?
— Какие выполняет функции?
— Для чего такое используется?
Я понимаю, что точно этого знать никто не может. Но хотябы примерно, или «для чего» 🙂
- Вопрос задан более трёх лет назад
- 24402 просмотра
Комментировать
Решения вопроса 2
Владимир Мартьянов @vilgeforce
Раздолбай и программист
Сделано это чтобы иметь возможность запрещать уходить пользователям по ссылке. Придет им в голову не пускать никого на ok.ru по ссылкам и при нажатии на ссылку будет страница «Ой, нельзя вам туда».
Ответ написан более трёх лет назад
Комментировать
Нравится 5 Комментировать
Full-stack developer (Symfony, Angular)
Что же все таки там происходит?
А там просто смотрят куда вы хотите перейти. Вы не представляете насколько большое количество леменгов кликают по ссылкам не глядя. При попытке перейти на ссылку из блэклиста (или просто подозрительную ссылку) vk покажет предупреждение что этого лучше не делать.
Обход «away.php» на ВКонтакте
На форумах вовсю начали торговать способом обхода away.php. Между тем, способ довольно примитивен и основан на нововведениях ВКонтакта, касающихся возможности публикации ссылок ВКонтакте .
Если разместить ссылку таким образом, то можно заметить, что имя скрипта редиректа отличается от стандартного, таким образом ссылка в заметке имеет такой вид:
http://vkontakte.ru/share.php?act=go&to=http://site.com
Заметьте, при проходе по этой ссылке вас сразу перенаправляет на целевую страницу.
Однако, если попробовать разместить такую ссылку, то share.php заменится на away.php, а в районе http:// ссылка обрежется и станет частично неактивной.
Обходится это довольно просто, достаточно заменить символы в ссылке на их представления в hex-форме. После такой замены ссылка будет выглядеть так:
http://vkontakte.ru/%73hare.php?act=go&to=%68%74%74%70%3A%2F%2Fsite.com
Эту ссылку можно без проблем разместить где угодно, она будет активна и сразу перенаправит на целевую страницу. Пользуйтесь.
Update:
Для того, чтобы разместить такую ссылку в группе, надо сделать двойной urlencode ссылки и так же подставить её после to=. Преобразование можно осуществить с помощью Универсального конвертера текстов dx’a (тип кодирования: Text->%XX).
Update от 23.04.2010:
В связи с тем, что предыдущий способ умер, был найден новый. К сожалению, он не работает в новостях групп и заметках, но зато работает на стенах пользователей, стенах групп, в ЛС и в поле веб-сайт группы. Собственно, вот пример кодирования:
http://vkontakte.ru/share.php?act=go&to=h%74%74p%3A%2F%2Fsite.com
Для для того, чтобы перекодировать URL http://site.com в вид h%74%74p%3A%2F%2Fsite.com можно воспользоваться все тем же Конвертером и типом кодирования «Text -> %XX».
Автор Kaimi Опубликовано 22 апреля, 2010 23 апреля, 2010 Рубрики Социальные сети Метки away.php, vkontakte, вконтакте
Away php что это
Переходя по ссылкам, размещенным во Вконтакте, можно заметить, что как и в остальных социальных сетях, сначала происходит переход на «безопасную» ссылку, после чего социальная сеть решает: нужно ли пускать пользователя дальше или нет. Большинство внимательных людей замечали пол-секундное появление «vk.com/away.php» в адресной строке браузера, но, конечно, не придавали этому значения.
Предыстория
Однажды, некий программист, доделав очередной проект, осознал, что одержим желанием о нём всем рассказать. Проект размещался на сервере с уникальным IP, но без доменного имени. Поэтому на скорую руку был сделал красивый поддомен третьего уровня в домене .ddns.net, который в итоге использовался в качестве ссылки.
Вернувшись через некоторое время к посту, программист обнаружил, что вместо сайта открывается заглушка вк, осведомляющая о переходе на небезопасный сайт:

Казалось бы, умные пользователи сами вправе решать, на какой сайт им переходить, а на какой нет, однако Вконтакте думает иначе и не предоставляет никакой возможности без костылей перейти по ссылке.
Что не так
У такой реализации есть несколько весомых недостатков:
- Отсутствие возможности открыть подозрительный сайт. Как говорилось выше, у пользователя нет возможности преодолеть заглушку. Единственный способ открыть ссылку — скопировать ее и вставить в адресную строку.
- Замедляет переход по ссылке. Скорость перенаправления зависит от пинга. Соответственно при большом пинге, могут пропасть драгоценные секунды жизни, что, как мы знаем, не допустимо.
- Мониторинг переходов. Такой метод облегчает сбор информации о действиях пользователей, чем конечно же и пользуется Вк, добавляя к безопасной ссылке id поста с которого был сделан переход.
Освобождаем Джанго
Оптимальным решением всех выше перечисленных проблем может стать расширение для браузера. По очевидным причинам выбор падает на Chrome. На хабре есть отличная статья статья посвященная написанию расширений для Сhrome.
Для создания такого расширения нам понадобится создать в отдельной папке два файла: json-Manifest и JavaScript-файл для мониторинга текущего url адреса.
Создаем Manifest файл
Главное что нам нужно — дать расширению разрешение на работу с вкладками и назначить исполняемый скрипт:
< "manifest_version": 2, "name": "Run Away From vk.com/away", "version": "1.0", "background": < "scripts": ["background.js"] >, "permissions": ["tabs"], "browser_action": < "default_title": "Run Away From vk.com/away" >>
Создаем js файл
Здесь всё просто: в событие, вызываемое при создании новой вкладки, добавляем проверку на url адрес, если он начинается на «vk.com/away.php», то заменяем его на правильный, который находится в GET-запросе:
chrome.tabs.onCreated.addListener( function (tabId, changeInfo, tab) < chrome.tabs.query(, function (tabs) < var url = tabs[0].url; if (url.substr(0,23) == "https://vk.com/away.php")< var last = url.indexOf("&", 0) if(last == -1)last = 1000; var url = decodeURIComponent(url.substr(27, last-27)); chrome.tabs.update(); > >); >);
Собираем расширение
Убедившись что оба файла лежат в одной папке, открываем Chrome, выбираем вкладку расширения и нажимаем «Загрузить распакованное расширение». В открывшемся окне выбираем папку написанного расширенная и нажимаем собрать. Готово! Теперь все ссылки вида vk.com/away заменяются на исходные.
Вместо заключения
Конечно, такой тип заглушек спас много людей от миллионов мошеннических сайтов, однако, я считаю, что люди сами в праве решать, переходить им на небезопасную ссылку или нет.
Для удобства я разместил проект на github.
К сожалению, не доступен сервер mySQL