Menghapuskan "vk.com/away.php" atau mengikuti pautan daripada orang yang sihat

Dengan mengklik pada pautan yang disiarkan di VKontakte, anda akan melihat bahawa, seperti dalam rangkaian sosial lain, mula-mula terdapat peralihan ke pautan "selamat", selepas itu rangkaian sosial memutuskan sama ada pengguna harus dibenarkan lebih jauh atau tidak. Kebanyakan orang yang prihatin melihat penampilan setengah saat "vk.com/away.php" dalam bar alamat penyemak imbas, tetapi, sudah tentu, tidak melampirkan apa-apa kepentingan kepadanya.

Menghapuskan "vk.com/away.php" atau mengikuti pautan daripada orang yang sihat

prasejarah

Suatu hari, seorang pengaturcara tertentu, setelah menyelesaikan projek lain, menyedari bahawa dia terobsesi dengan keinginan untuk memberitahu semua orang mengenainya. Projek ini dihoskan pada pelayan dengan IP unik, tetapi tanpa nama domain. Oleh itu, subdomain peringkat ketiga yang cantik telah dibuat dengan cepat dalam domain .ddns.net, yang akhirnya digunakan sebagai pautan. 

Kembali ke siaran selepas beberapa ketika, pengaturcara mendapati bahawa bukannya tapak itu, rintisan VK sedang dibuka, memaklumkan tentang peralihan ke tapak yang tidak selamat:

Menghapuskan "vk.com/away.php" atau mengikuti pautan daripada orang yang sihat

Nampaknya pengguna pintar sendiri mempunyai hak untuk memutuskan tapak mana yang harus mereka pergi dan yang tidak, tetapi VKontakte berfikir secara berbeza dan tidak memberi peluang untuk mengikuti pautan tanpa tongkat.

apa salahnya

Pelaksanaan ini mempunyai beberapa kelemahan yang ketara:

  • Ketidakupayaan untuk membuka tapak yang mencurigakan. Seperti yang dinyatakan di atas, pengguna tidak mempunyai cara untuk mengatasi rintisan. Satu-satunya cara untuk membuka pautan adalah dengan menyalin dan menampalnya ke dalam bar alamat.
  • Memperlahankan navigasi pautan. Kelajuan ubah hala bergantung pada ping. Oleh itu, dengan ping yang tinggi, detik berharga dalam kehidupan mungkin hilang, yang, seperti yang kita tahu, tidak boleh diterima.
  • Pemantauan peralihan. Kaedah ini memudahkan untuk mengumpul maklumat tentang tindakan pengguna, yang, sudah tentu, adalah apa yang VK gunakan, menambah pada pautan selamat id siaran dari mana peralihan dibuat.

Membebaskan Django

Penyelesaian optimum untuk semua masalah di atas boleh menjadi sambungan penyemak imbas. Atas sebab yang jelas, pilihan terletak pada Chrome. Terdapat satu yang sangat baik di hab artikel Artikel khusus untuk menulis sambungan untuk Chrome.

Untuk membuat sambungan sedemikian, kami perlu mencipta dua fail dalam folder berasingan: json-Manifest dan fail JavaScript untuk memantau alamat url semasa.

Buat fail Manifes

Perkara utama yang kami perlukan ialah memberikan kebenaran sambungan untuk berfungsi dengan tab dan menetapkan skrip boleh laku:

{
  "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"
  }
}

Buat fail js

Semuanya mudah di sini: sekiranya dipanggil apabila tab baharu dibuat, kami menambah semakan untuk alamat url jika ia bermula dengan “vk.com/away.php", kemudian gantikannya dengan yang betul, iaitu dalam permintaan 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});
		}
	});
});

Memasang sambungan

Selepas memastikan kedua-dua fail berada dalam folder yang sama, buka Chrome, pilih tab sambungan dan klik "Muatkan sambungan yang tidak dibungkus". Dalam tetingkap yang terbuka, pilih folder fail lanjutan bertulis dan klik Kumpul. sedia! Kini semua pautan seperti vk.com/away digantikan dengan yang asal.

Daripada kesimpulan

Sudah tentu, tunas jenis ini telah menyelamatkan ramai orang daripada berjuta-juta tapak penipuan, namun, saya percaya bahawa orang itu sendiri mempunyai hak untuk memutuskan sama ada untuk mengklik pada pautan yang tidak selamat atau tidak.
Untuk kemudahan, saya menyiarkan projek itu pada github.

Sumber: www.habr.com

Tambah komen