Cliccà nantu à i ligami publicati in VKontakte, vi vede chì, cum'è in altre rete suciale, prima ci hè una transizione à un ligame "seguru", dopu chì a reta suciale decide se l'utilizatore deve esse permessu più o micca. A maiò parte di e persone attenti anu nutatu l'apparizione di a mità di seconda di "vk.com/away.php" in a barra di indirizzu di u navigatore, ma, sicuru, ùn hà micca attribuitu alcuna impurtanza.
Pristoria
Un ghjornu, un certu programatore, dopu avè finitu un altru prughjettu, hà capitu chì era obsessionatu cù u desideriu di dì à tutti. U prughjettu hè stata ospitu in un servitore cù una IP unica, ma senza un nome di duminiu. Per quessa, un bellu subdominiu di u terzu livellu hè statu creatu rapidamente in u duminiu .ddns.net, chì era ultimamente utilizatu com'è ligame.
Riturnendu à u postu dopu un pocu tempu, u programatore hà scupertu chì invece di u situ, un stub VK era apertu, informendu nantu à a transizione à un situ inseguru:
Sembra chì l'utilizatori intelligenti stessi anu u dirittu di decide quale situ duveranu andà è quale micca, ma VKontakte pensa di manera diversa è ùn furnisce micca l'uppurtunità di seguità u ligame senza crutches.
Chì ci hè
Questa implementazione hà parechji svantaghji significati:
- Incapacità di apre un situ suspettu. Cum'è dichjaratu sopra, l'utilizatore ùn hà micca manera di superà u stub. L'unicu modu per apre u ligame hè di copià è incollà in a barra di indirizzu.
- Rallenta a navigazione di ligami. A velocità di redirezzione dipende da u ping. In cunsiquenza, cù un altu ping, preziosi sicondi di vita pò esse persu, chì, cum'è sapemu, ùn hè micca accettatu.
- Monitoraghju di a transizione. Stu metudu facilita a cullizzioni di l'infurmazioni nantu à l'azzioni di l'utilizatori, chì, sicuru, hè ciò chì VK usa, aghjunghjendu à u ligame sicuru l'id di u postu da quale a transizione hè stata fatta.
Liberazione di Django
A suluzione ottima per tutti i prublemi di sopra pò esse una estensione di navigatore. Per ragioni evidenti, a scelta casca nantu à Chrome. Ci hè un eccellente nantu à u hub
Per creà una tale estensione, avemu bisognu di creà dui schedari in un cartulare separatu: un json-Manifest è un schedariu JavaScript per monitorà l'indirizzu url attuale.
Crea un schedariu Manifest
A cosa principale chì avemu bisognu hè di dà l'estensione permissione di travaglià cù tabulazioni è assignà un script eseguibile:
{
"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"
}
}
Crea un schedariu js
Tuttu hè simplice quì: in l'eventu chjamatu quandu una nova tabulazione hè creata, aghjunghjemu un verificatu per l'indirizzu url s'ellu principia cù "
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});
}
});
});
Assembla l'estensione
Dopu avè assicuratu chì i dui schedari sò in u stessu cartulare, apre Chrome, selezziunate a tabulazione di l'estensione è cliccate "Load unpacked extension". In a finestra chì apre, selezziunate u cartulare di u schedariu allargatu scrittu è cliccate Collect. Pronti ! Avà tutti i ligami cum'è vk.com/away sò rimpiazzati cù quelli originali.
Inveci di 'na cunchiusioni
Di sicuru, stu tipu di stub hà salvatu parechje persone da milioni di siti fraudulenti, però, crede chì a ghjente stessu hà u dirittu di decide di cliccà nantu à un ligame inseguru o micca.
Per comodità, aghju publicatu u prughjettu nantu
Source: www.habr.com