“vk.com/away.php” же дени сак адамдын шилтемелеринен кутулуу

ВКонтактеде жайгаштырылган шилтемелерди чыкылдатуу менен, сиз башка социалдык тармактардагыдай эле, адегенде "коопсуз" шилтемеге өтүү болгонун байкайсыз, андан кийин социалдык тармак колдонуучуга мындан ары уруксат берүү керекпи же жокпу, чечет. Көпчүлүк көңүл бурган адамдар браузердин дарек тилкесинде "vk.com/away.php" деген жарым секунддук пайда болгонун байкашкан, бирок, албетте, ага эч кандай маани беришкен эмес.

“vk.com/away.php” же дени сак адамдын шилтемелеринен кутулуу

prehistory

Күндөрдүн биринде кайсы бир программист дагы бир долбоорду бүтүргөндөн кийин, ал жөнүндө бардыгына айтууну каалаганын түшүндү. Долбоор уникалдуу IP менен серверде жайгаштырылган, бирок домен аты жок. Ошондуктан, .ddns.net доменинде үчүнчү деңгээлдеги кооз субдомен тез эле түзүлгөн, ал акыры шилтеме катары колдонулган. 

Бир аз убакыттан кийин постко кайтып келип, программист сайттын ордуна кооптуу сайтка өтүү жөнүндө маалымат берип, VK стабын ачып жатканын аныктады:

“vk.com/away.php” же дени сак адамдын шилтемелеринен кутулуу

Акылдуу колдонуучулар кайсы сайтка кирүү керек, кайсынысына кирбеш керек экенин өздөрү чечүүгө укугу бар окшойт, бирок ВКонтакте башкача ойдо жана шилтемени балдаксыз ээрчүүгө эч кандай мүмкүнчүлүк бербейт.

Эмне туура эмес

Бул ишке ашыруу бир нече олуттуу кемчиликтери бар:

  • Шектүү сайтты ачуу мүмкүн эмес. Жогоруда айтылгандай, колдонуучунун такты жеңүүгө эч кандай жолу жок. Шилтемени ачуунун жалгыз жолу - аны дарек тилкесине көчүрүп, чаптоо.
  • Шилтеме боюнча навигацияны жайлатат. Багыттоо ылдамдыгы пингден көз каранды. Демек, жогорку пинг менен өмүрдүн баалуу секундтары жоголуп кетиши мүмкүн, бул биз билгендей, кабыл алынбайт.
  • Өткөөл мониторинг. Бул ыкма колдонуучунун аракеттери жөнүндө маалыматты чогултууну жеңилдетет, бул, албетте, VK колдонот, коопсуз шилтемеге өтүү жасалган посттун идентификаторун кошот.

Джангону бошотуу

Жогорудагы көйгөйлөрдүн баарына оптималдуу чечим браузердин кеңейтилиши болушу мүмкүн. Белгилүү себептерден улам, тандоо Chrome'го туура келет. Хабда эң сонун бар макала Chrome үчүн кеңейтүүлөрдү жазууга арналган макала.

Мындай кеңейтүүнү түзүү үчүн биз өзүнчө папкада эки файлды түзүшүбүз керек: json-Манифест жана учурдагы url дарегин көзөмөлдөө үчүн JavaScript файлы.

Манифест файлын түзүңүз

Бизге керек болгон негизги нерсе - кеңейтүүгө өтмөктөр менен иштөөгө жана аткарылуучу скриптти дайындоого уруксат берүү:

{
  "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({'active': true, 'lastFocusedWindow': true}, 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({url: url});
		}
	});
});

Кеңейтүүнү чогултуу

Эки файл тең бир папкада экенине ынангандан кийин, Chrome'ду ачып, кеңейтүү өтмөгүн тандап, "Папкадан чыгарылбаган кеңейтүүнү жүктөө" баскычын чыкылдатыңыз. Ачылган терезеде жазылган кеңейтилген файлдын папкасын тандап, Чогултууну басыңыз. Даяр! Эми vk.com/away сыяктуу бардык шилтемелер түпнускалары менен алмаштырылды.

Ордуна корутундусу

Албетте, бул түрү көптөгөн адамдарды миллиондогон алдамчылык сайттардан куткарды, бирок мен кооптуу шилтемени басуу же чыкпоону адамдар өздөрү чечүүгө укуктуу деп эсептейм.
Ыңгайлуу болушу үчүн мен долбоорду жайгаштырдым Github.

Source: www.habr.com

Комментарий кошуу