Vkontakte'de yayınlanan bağlantılara tıkladığınızda, diğer sosyal ağlarda olduğu gibi, önce "güvenli" bir bağlantıya geçiş olduğunu ve ardından sosyal ağın kullanıcının daha ileri gitmesine izin verip vermeyeceğine karar verdiğini görebilirsiniz. Dikkatli kişilerin çoğu, tarayıcının adres çubuğunda "vk.com/away.php" dosyasının yarım saniye göründüğünü fark etti, ancak elbette buna hiç önem vermedi.
tarih öncesi
Bir gün, başka bir projeyi tamamlayan belirli bir programcı, bunu herkese anlatma arzusuna takıntılı olduğunu fark etti. Proje, benzersiz bir IP'ye sahip ancak etki alanı adı olmayan bir sunucuda barındırıldı. Bu nedenle, .ddns.net alanında kısa sürede güzel bir üçüncü düzey alt alan adı oluşturdum ve bu alan sonunda bir bağlantı olarak kullanıldı.
Bir süre sonra göreve geri dönen programcı, site yerine güvenli olmayan bir siteye geçiş hakkında bilgi veren bir VK saplamasının açıldığını gördü:
Görünüşe göre akıllı kullanıcılar hangi siteye gidip hangi siteye girmeyeceklerine kendileri karar verme hakkına sahipler, ancak Vkontakte farklı düşünüyor ve koltuk değneği olmadan bağlantıyı takip etme fırsatı sağlamıyor.
Yanlış olan ne
Bu uygulamanın birkaç önemli dezavantajı vardır:
- Şüpheli bir siteyi açamama. Yukarıda bahsedildiği gibi, kullanıcının saplamanın üstesinden gelme yeteneği yoktur. Bağlantıyı açmanın tek yolu kopyalayıp adres çubuğuna yapıştırmaktır.
- Bağlantıyı yavaşlatır. Yönlendirme hızı ping'e bağlıdır. Buna göre, büyük bir ping ile, bildiğimiz gibi kabul edilemez olan değerli yaşam saniyeleri kaybolabilir.
- Geçiş izleme. Bu yöntem, elbette VK'nın kullandığı kullanıcı eylemleri hakkında bilgi toplamayı kolaylaştırır ve geçişin yapıldığı gönderinin kimliğini güvenli bağlantıya ekler.
Django'yu serbest bırakmak
Yukarıdaki sorunların tümüne en iyi çözüm bir tarayıcı uzantısı olabilir. Bariz sebeplerden dolayı, seçim Chrome'a düşüyor. Merkezde harika bir tane var
Böyle bir uzantı oluşturmak için ayrı bir klasörde iki dosya oluşturmamız gerekiyor: json-Manifest ve geçerli url adresini izlemek için bir JavaScript dosyası.
Manifest dosyası oluşturun
İhtiyacımız olan ana şey, uzantıya sekmelerle çalışması ve yürütülebilir bir komut dosyası ataması için izin vermektir:
{
"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 dosyası oluştur
Burada her şey basit: Yeni bir sekme oluşturulduğunda çağrılan olayda, " ile başlıyorsa url adresini kontrol ediyoruz.
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});
}
});
});
Uzantıyı topluyoruz
Her iki dosyanın da aynı klasörde olduğundan emin olduktan sonra Chrome'u açın, uzantı sekmesini seçin ve "Paketlenmemiş uzantıyı yükle"ye tıklayın. Açılan pencerede Extend yazan klasörü seçin ve Collect butonuna tıklayın. Hazır! Artık vk.com/away gibi tüm bağlantılar orijinalleriyle değiştirilir.
Bunun yerine bir sonuca
Tabii ki, bu tür saplamalar birçok insanı milyonlarca dolandırıcılık sitesinden kurtardı, ancak insanların güvensiz bir bağlantıya gidip gitmemeye kendileri karar verme hakkına sahip olduğuna inanıyorum.
Kolaylık sağlamak için projeyi şu adreste yayınladım:
Kaynak: habr.com