As u op skakels klik wat op Vkontakte geplaas is, kan u sien dat daar, soos in ander sosiale netwerke, eers 'n oorgang na 'n "veilige" skakel is, waarna die sosiale netwerk besluit of die gebruiker verder gaan of nie. Mees oplettende mense het die halfsekonde verskyning van "vk.com/away.php" in die adresbalk van die blaaier opgemerk, maar het natuurlik geen belang hieraan geheg nie.
voorgeskiedenis
Op 'n dag het 'n sekere programmeerder, nadat hy 'n ander projek voltooi het, besef dat hy 'n obsessie het met die begeerte om almal daarvan te vertel. Die projek is aangebied op 'n bediener met 'n unieke IP, maar geen domeinnaam nie. Daarom het ek vinnig 'n pragtige derdevlak-subdomein in die .ddns.net-domein gemaak, wat uiteindelik as 'n skakel gebruik is.
Na 'n geruime tyd terug na die pos, het die programmeerder gevind dat in plaas van die webwerf, 'n VK-stomp oopmaak, wat inlig oor die oorgang na 'n onveilige webwerf:
Dit wil voorkom asof slim gebruikers self die reg het om te besluit na watter webwerf hulle gaan en watter nie, maar Vkontakte dink anders en bied geen geleentheid om die skakel sonder krukke te volg nie.
Wat is fout
Hierdie implementering het verskeie beduidende nadele:
- Die onvermoë om 'n verdagte webwerf oop te maak. Soos hierbo genoem, het die gebruiker nie die vermoë om die stomp te oorkom nie. Die enigste manier om die skakel oop te maak, is om dit te kopieer en in die adresbalk te plak.
- Vertraag die skakel. Die herleidingspoed hang af van die ping. Gevolglik, met 'n groot ping, kan kosbare sekondes van die lewe verlore gaan, wat, soos ons weet, nie aanvaarbaar is nie.
- Oorgangsmonitering. Hierdie metode maak dit makliker om inligting oor gebruikersaksies in te samel, wat natuurlik VK gebruik, en voeg die ID van die pos waaruit die oorgang gemaak is by die veilige skakel.
Django bevry
Die beste oplossing vir al die bogenoemde probleme kan 'n blaaieruitbreiding wees. Om ooglopende redes val die keuse op Chrome. Daar is 'n wonderlike een op die middelpunt
Om so 'n uitbreiding te skep, moet ons twee lêers in 'n aparte vouer skep: json-Manifest en 'n JavaScript-lêer om die huidige url-adres te monitor.
Skep 'n Manifest-lêer
Die belangrikste ding wat ons nodig het, is om die uitbreiding toestemming te gee om met oortjies te werk en 'n uitvoerbare skrif toe te wys:
{
"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"
}
}
Skep js-lêer
Alles is eenvoudig hier: in die geval wat genoem word wanneer 'n nuwe oortjie geskep word, voeg ons 'n tjek by vir die url-adres as dit begin met "
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});
}
});
});
Ons versamel die uitbreiding
Nadat u seker gemaak het dat beide lêers in dieselfde vouer is, maak Chrome oop, kies die uitbreidingsoortjie en klik "Laai uitgepakte uitbreiding". In die venster wat oopmaak, kies die vouer wat geskryf is verleng en klik op versamel. Klaar! Nou word alle skakels soos vk.com/away met die oorspronklike vervang.
In plaas daarvan om 'n gevolgtrekking
Natuurlik het hierdie tipe stomp baie mense van miljoene bedrogspulwerwe gered, maar ek glo dat mense die reg het om self te besluit of hulle na 'n onveilige skakel gaan of nie.
Gerieflikheidshalwe het ek die projek op geplaas
Bron: will.com