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.
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:
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
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 "
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
Sumber: www.habr.com