Menyingkirkan "vk.com/away.php" atau mengikuti tautan orang sehat

Saat mengklik tautan yang diposting di Vkontakte, Anda dapat melihat bahwa, seperti di jejaring sosial lainnya, pertama ada transisi ke tautan "aman", setelah itu jejaring sosial memutuskan apakah akan membiarkan pengguna melangkah lebih jauh atau tidak. Sebagian besar orang yang penuh perhatian memperhatikan tampilan "vk.com/away.php" setengah detik di bilah alamat browser, tetapi, tentu saja, tidak mementingkan hal ini.

Menyingkirkan "vk.com/away.php" atau mengikuti tautan orang sehat

prasejarah

Suatu hari, seorang programmer tertentu, setelah menyelesaikan proyek lain, menyadari bahwa dia terobsesi dengan keinginan untuk memberi tahu semua orang tentangnya. Proyek ini dihosting di server dengan IP unik tetapi tanpa nama domain. Oleh karena itu, saya segera membuat subdomain tingkat ketiga yang cantik di domain .ddns.net, yang akhirnya digunakan sebagai tautan. 

Kembali ke pos setelah beberapa waktu, pemrogram menemukan bahwa alih-alih situs, rintisan VK terbuka, menginformasikan tentang transisi ke situs yang tidak aman:

Menyingkirkan "vk.com/away.php" atau mengikuti tautan orang sehat

Tampaknya pengguna pintar sendiri memiliki hak untuk memutuskan situs mana yang mereka kunjungi dan mana yang tidak, tetapi Vkontakte berpikir secara berbeda dan tidak memberikan kesempatan untuk mengikuti tautan tanpa kruk.

Apa yang salah

Implementasi ini memiliki beberapa kelemahan signifikan:

  • Ketidakmampuan untuk membuka situs yang mencurigakan. Seperti disebutkan di atas, pengguna tidak memiliki kemampuan untuk mengatasi rintisan tersebut. Satu-satunya cara untuk membuka tautan adalah dengan menyalin dan menempelkannya ke bilah alamat.
  • Memperlambat tautan. Kecepatan redirect tergantung pada ping. Oleh karena itu, dengan ping yang besar, detik-detik kehidupan yang berharga dapat hilang, yang, seperti kita ketahui, tidak dapat diterima.
  • Pemantauan transisi. Metode ini memudahkan untuk mengumpulkan informasi tentang tindakan pengguna, yang tentu saja digunakan VK, menambahkan id pos tempat transisi dibuat ke tautan aman.

Membebaskan Django

Solusi terbaik untuk semua masalah di atas dapat berupa ekstensi browser. Untuk alasan yang jelas, pilihan jatuh pada Chrome. Ada yang luar biasa artikel artikel yang dikhususkan untuk menulis ekstensi untuk Chrome.

Untuk membuat ekstensi seperti itu, kita perlu membuat dua file di folder terpisah: json-Manifest dan file JavaScript untuk memantau alamat url saat ini.

Buat file Manifes

Hal utama yang kami butuhkan adalah memberikan izin ekstensi untuk bekerja dengan tab dan menetapkan skrip yang dapat dieksekusi:

{
  "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 file js

Semuanya sederhana di sini: dalam acara yang dipanggil saat tab baru dibuat, kami menambahkan tanda centang untuk alamat url jika dimulai dengan "vk.com/away.php”, lalu kami menggantinya dengan yang benar, yang ada di 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});
		}
	});
});

Kami mengumpulkan ekstensi

Setelah memastikan kedua file berada di folder yang sama, buka Chrome, pilih tab ekstensi dan klik "Muat ekstensi yang belum dibuka". Di jendela yang terbuka, pilih folder yang ditulis diperpanjang dan klik kumpulkan. Siap! Sekarang semua tautan seperti vk.com/away diganti dengan yang asli.

Alih-alih sebuah kesimpulan

Tentu saja, jenis rintisan ini telah menyelamatkan banyak orang dari jutaan situs scam, namun, saya percaya bahwa orang memiliki hak untuk memutuskan sendiri apakah akan membuka tautan yang tidak aman atau tidak.
Untuk kenyamanan, saya memposting proyek di github.

Sumber: www.habr.com

Tambah komentar