Singkirkan "vk.com/away.php" atau ikuti tautan orang sehat

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



Latar belakang


Suatu ketika, seorang programmer tertentu, setelah menyelesaikan proyek lain, menyadari bahwa ia terobsesi dengan keinginan untuk memberi tahu semua orang tentang hal itu. Proyek di-host di server dengan IP unik, tetapi tanpa nama domain. Karena itu, dengan tergesa-gesa, saya membuat subdomain tingkat ketiga yang indah di domain .ddns.net, yang akhirnya digunakan sebagai tautan.

Setelah kembali ke pos setelah beberapa saat, programmer menemukan bahwa alih-alih dari situs tersebut, sebuah rintisan VK terbuka, yang menginformasikan tentang transisi ke situs yang tidak aman:



Tampaknya pengguna cerdas sendiri memiliki hak untuk memutuskan ke situs mana mereka harus pergi dan 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 cara untuk mengatasi rintisan. Satu-satunya cara untuk membuka tautan adalah menyalin dan menempelkannya ke bilah alamat.
  • Memperlambat tautan. Kecepatan pengalihan tergantung pada ping. Dengan demikian, dengan ping besar, detik-detik kehidupan yang berharga dapat menghilang, yang, seperti yang kita tahu, tidak diizinkan.
  • Pemantauan Konversi. Metode ini memfasilitasi pengumpulan informasi tentang tindakan pengguna, yang, tentu saja, menggunakan VK, menambah tautan aman id pos dari mana transisi dibuat.

Django gratis


Solusi terbaik untuk semua masalah di atas dapat berupa ekstensi browser. Untuk alasan yang jelas, pilihan ada pada Chrome. Pada habr ada artikel yang sangat bagus, sebuah artikel yang ditujukan untuk menulis ekstensi untuk Chrome.

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

Buat File Manifest


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 membuat tab baru, kami menambahkan cek untuk alamat url, jika dimulai dengan " vk.com/away.php ", maka kami menggantinya dengan yang benar yang ada 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}); } }); }); 

Menempatkan ekstensi


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

Alih-alih sebuah kesimpulan


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

Source: https://habr.com/ru/post/id453904/


All Articles