Lè w klike sou lyen ki afiche sou VKontakte, w ap remake ke, tankou nan lòt rezo sosyal, premye gen yon tranzisyon nan yon lyen "san danje", apre sa rezo sosyal la deside si itilizatè a ta dwe gen dwa pi lwen oswa ou pa. Pifò moun ki atantif remake aparans nan mwatye dezyèm nan "vk.com/away.php" nan ba adrès la nan navigatè a, men, nan kou, pa t 'tache okenn enpòtans nan li.
pre-istwa
Yon jou, yon pwogramè sèten, li te fini yon lòt pwojè, reyalize ke li te obsede ak dezi a di tout moun sou li. Pwojè a te anime sou yon sèvè ak yon IP inik, men san yo pa yon non domèn. Se poutèt sa, yon bèl twazyèm-nivo subdomain te byen vit kreye nan domèn nan .ddns.net, ki te finalman itilize kòm yon lyen.
Retounen nan pòs la apre yon ti tan, pwogramè a te dekouvri ke olye pou yo sit la, yon souch VK t ap louvri, enfòme sou tranzisyon an nan yon sit ki pa an sekirite:
Li ta sanble ke itilizatè entelijan tèt yo gen dwa deside ki sit yo ta dwe ale nan ak ki pa, men VKontakte panse yon fason diferan epi yo pa bay okenn opòtinite yo swiv lyen an san yo pa beki.
Ki sa ki mal
Aplikasyon sa a gen plizyè dezavantaj enpòtan:
- Enkapasite yo louvri yon sit sispèk. Jan sa di pi wo a, itilizatè a pa gen okenn fason simonte souch la. Sèl fason pou louvri lyen an se kopye epi kole li nan ba adrès la.
- Ralenti navigasyon lyen. Vitès redireksyon an depann sou ping la. An konsekans, ak yon gwo ping, segonn presye nan lavi yo ka pèdi, ki, jan nou konnen, se pa akseptab.
- Siveyans tranzisyon. Metòd sa a fè li pi fasil pou kolekte enfòmasyon sou aksyon itilizatè yo, ki, nan kou, se sa VK itilize, ajoute nan lyen an sekirite id la nan pòs la ki soti nan ki te fè tranzisyon an.
Libere Django
Solisyon an pi bon nan tout pwoblèm ki anwo yo ka yon ekstansyon navigatè. Pou rezon evidan, chwa a tonbe sou Chrome. Gen yon sèl ekselan sou mwaye a
Pou kreye yon ekstansyon konsa, nou pral bezwen kreye de fichye nan yon katab separe: yon json-Manifest ak yon fichye JavaScript pou kontwole adrès url aktyèl la.
Kreye yon fichye Manifest
Bagay pwensipal lan nou bezwen se bay ekstansyon pèmisyon pou travay ak onglè epi bay yon script ègzèkutabl:
{
"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"
}
}
Kreye yon dosye js
Tout bagay se senp isit la: nan evènman an rele lè yo kreye yon nouvo tab, nou ajoute yon chèk pou adrès url la si li kòmanse ak "
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});
}
});
});
Rasanble ekstansyon an
Apre w fin asire w ke tou de fichye yo nan menm katab la, louvri Chrome, chwazi tab ekstansyon an epi klike sou "Chaje ekstansyon depake". Nan fennèt ki ouvè a, chwazi katab dosye pwolonje ekri a epi klike sou Kolekte. Pare! Koulye a, tout lyen tankou vk.com/away yo ranplase ak sa yo orijinal yo.
Olye pou yo yon konklizyon
Natirèlman, sa a ki kalite souch te sove anpil moun nan dè milyon de sit fwod, sepandan, mwen kwè ke moun tèt yo gen dwa deside si yo klike sou yon lyen ki pa an sekirite oswa ou pa.
Pou konvenyans, mwen afiche pwojè a sou
Sous: www.habr.com