เมื่อคลิกลิงก์ที่โพสต์บน VKontakte คุณจะสังเกตเห็นว่าในเครือข่ายโซเชียลอื่น ๆ อันดับแรกจะมีการเปลี่ยนแปลงเป็นลิงก์ "ปลอดภัย" หลังจากนั้นเครือข่ายโซเชียลจะตัดสินใจว่าผู้ใช้ควรได้รับอนุญาตเพิ่มเติมหรือไม่ ผู้เอาใจใส่ส่วนใหญ่สังเกตเห็นการปรากฏตัวของ "vk.com/away.php" ครึ่งวินาทีในแถบที่อยู่ของเบราว์เซอร์ แต่แน่นอนว่าไม่ได้ให้ความสำคัญใด ๆ กับมัน
ประวัติศาสตร์
วันหนึ่ง โปรแกรมเมอร์คนหนึ่งซึ่งทำโปรเจ็กต์อื่นเสร็จเรียบร้อยแล้ว พบว่าเขาหมกมุ่นอยู่กับความปรารถนาที่จะบอกทุกคนเกี่ยวกับเรื่องนี้ โปรเจ็กต์นี้โฮสต์บนเซิร์ฟเวอร์ที่มี IP เฉพาะ แต่ไม่มีชื่อโดเมน ดังนั้นโดเมนย่อยระดับสามที่สวยงามจึงถูกสร้างขึ้นอย่างรวดเร็วในโดเมน .ddns.net ซึ่งท้ายที่สุดก็ใช้เป็นลิงก์
เมื่อกลับมาที่โพสต์หลังจากนั้นไม่นานโปรแกรมเมอร์ก็ค้นพบว่าแทนที่จะเปิดไซต์ VK stub กำลังเปิดขึ้นโดยแจ้งเกี่ยวกับการเปลี่ยนไปใช้ไซต์ที่ไม่ปลอดภัย:
ดูเหมือนว่าผู้ใช้ที่ชาญฉลาดเองก็มีสิทธิ์ตัดสินใจว่าควรไปที่ไซต์ใดและไม่ควรไปที่ไซต์ใด แต่ VKontakte คิดแตกต่างออกไปและไม่เปิดโอกาสให้ติดตามลิงก์โดยไม่ต้องใช้ไม้ค้ำยัน
เป็นอะไรไป
การใช้งานนี้มีข้อเสียที่สำคัญหลายประการ:
- ไม่สามารถเปิดไซต์ที่น่าสงสัยได้ ตามที่ระบุไว้ข้างต้น ผู้ใช้ไม่มีทางเอาชนะ stub ได้ วิธีเดียวที่จะเปิดลิงก์ได้คือการคัดลอกและวางลงในแถบที่อยู่
- ทำให้การนำทางลิงก์ช้าลง ความเร็วในการเปลี่ยนเส้นทางขึ้นอยู่กับการ ping ดังนั้นด้วยค่า ping สูง วินาทีอันมีค่าของชีวิตอาจหายไปซึ่งอย่างที่เราทราบกันดีว่าไม่เป็นที่ยอมรับ
- การตรวจสอบการเปลี่ยนแปลง วิธีนี้ช่วยให้รวบรวมข้อมูลเกี่ยวกับการกระทำของผู้ใช้ได้ง่ายขึ้น ซึ่งแน่นอนว่าเป็นสิ่งที่ VK ใช้ โดยเพิ่มรหัสของโพสต์ที่ทำการเปลี่ยนแปลงลงในลิงก์ที่ปลอดภัย
ปลดปล่อยจังโก้
ทางออกที่ดีที่สุดสำหรับปัญหาข้างต้นทั้งหมดอาจเป็นส่วนขยายของเบราว์เซอร์ ด้วยเหตุผลที่ชัดเจน ตัวเลือกจึงตกอยู่ที่ Chrome มีอันที่ยอดเยี่ยมบนฮับ
ในการสร้างส่วนขยายดังกล่าว เราจะต้องสร้างไฟล์สองไฟล์ในโฟลเดอร์แยกต่างหาก: ไฟล์ json-Manifest และไฟล์ JavaScript เพื่อตรวจสอบที่อยู่ URL ปัจจุบัน
สร้างไฟล์ Manifest
สิ่งสำคัญที่เราต้องการคือการให้สิทธิ์ส่วนขยายในการทำงานกับแท็บและกำหนดสคริปต์ปฏิบัติการ:
{
"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
ทุกอย่างเป็นเรื่องง่ายที่นี่: ในกรณีที่เรียกว่าเมื่อมีการสร้างแท็บใหม่ เราจะเพิ่มการตรวจสอบที่อยู่ URL หากเริ่มต้นด้วย "
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});
}
});
});
การประกอบส่วนขยาย
หลังจากแน่ใจว่าทั้งสองไฟล์อยู่ในโฟลเดอร์เดียวกันแล้ว ให้เปิด Chrome เลือกแท็บส่วนขยายแล้วคลิก “โหลดส่วนขยายที่คลายแพ็ก” ในหน้าต่างที่เปิดขึ้น ให้เลือกโฟลเดอร์ของไฟล์ขยายที่เขียนแล้วคลิกรวบรวม พร้อม! ตอนนี้ลิงก์ทั้งหมดเช่น vk.com/away จะถูกแทนที่ด้วยลิงก์ดั้งเดิม
แทนการสรุป
แน่นอนว่าต้นขั้วประเภทนี้ได้ช่วยชีวิตผู้คนจำนวนมากจากไซต์ฉ้อโกงนับล้านแห่ง อย่างไรก็ตาม ฉันเชื่อว่าผู้คนเองก็มีสิทธิ์ตัดสินใจว่าจะคลิกลิงก์ที่ไม่ปลอดภัยหรือไม่
เพื่อความสะดวกฉันจึงโพสต์โครงการใน
ที่มา: will.com