กำจัด “vk.com/away.php” หรือติดตามลิงก์จากบุคคลที่มีสุขภาพดี

เมื่อคลิกลิงก์ที่โพสต์บน VKontakte คุณจะสังเกตเห็นว่าในเครือข่ายโซเชียลอื่น ๆ อันดับแรกจะมีการเปลี่ยนแปลงเป็นลิงก์ "ปลอดภัย" หลังจากนั้นเครือข่ายโซเชียลจะตัดสินใจว่าผู้ใช้ควรได้รับอนุญาตเพิ่มเติมหรือไม่ ผู้เอาใจใส่ส่วนใหญ่สังเกตเห็นการปรากฏตัวของ "vk.com/away.php" ครึ่งวินาทีในแถบที่อยู่ของเบราว์เซอร์ แต่แน่นอนว่าไม่ได้ให้ความสำคัญใด ๆ กับมัน

กำจัด “vk.com/away.php” หรือติดตามลิงก์จากบุคคลที่มีสุขภาพดี

ประวัติศาสตร์

วันหนึ่ง โปรแกรมเมอร์คนหนึ่งซึ่งทำโปรเจ็กต์อื่นเสร็จเรียบร้อยแล้ว พบว่าเขาหมกมุ่นอยู่กับความปรารถนาที่จะบอกทุกคนเกี่ยวกับเรื่องนี้ โปรเจ็กต์นี้โฮสต์บนเซิร์ฟเวอร์ที่มี IP เฉพาะ แต่ไม่มีชื่อโดเมน ดังนั้นโดเมนย่อยระดับสามที่สวยงามจึงถูกสร้างขึ้นอย่างรวดเร็วในโดเมน .ddns.net ซึ่งท้ายที่สุดก็ใช้เป็นลิงก์ 

เมื่อกลับมาที่โพสต์หลังจากนั้นไม่นานโปรแกรมเมอร์ก็ค้นพบว่าแทนที่จะเปิดไซต์ VK stub กำลังเปิดขึ้นโดยแจ้งเกี่ยวกับการเปลี่ยนไปใช้ไซต์ที่ไม่ปลอดภัย:

กำจัด “vk.com/away.php” หรือติดตามลิงก์จากบุคคลที่มีสุขภาพดี

ดูเหมือนว่าผู้ใช้ที่ชาญฉลาดเองก็มีสิทธิ์ตัดสินใจว่าควรไปที่ไซต์ใดและไม่ควรไปที่ไซต์ใด แต่ VKontakte คิดแตกต่างออกไปและไม่เปิดโอกาสให้ติดตามลิงก์โดยไม่ต้องใช้ไม้ค้ำยัน

เป็นอะไรไป

การใช้งานนี้มีข้อเสียที่สำคัญหลายประการ:

  • ไม่สามารถเปิดไซต์ที่น่าสงสัยได้ ตามที่ระบุไว้ข้างต้น ผู้ใช้ไม่มีทางเอาชนะ stub ได้ วิธีเดียวที่จะเปิดลิงก์ได้คือการคัดลอกและวางลงในแถบที่อยู่
  • ทำให้การนำทางลิงก์ช้าลง ความเร็วในการเปลี่ยนเส้นทางขึ้นอยู่กับการ ping ดังนั้นด้วยค่า ping สูง วินาทีอันมีค่าของชีวิตอาจหายไปซึ่งอย่างที่เราทราบกันดีว่าไม่เป็นที่ยอมรับ
  • การตรวจสอบการเปลี่ยนแปลง วิธีนี้ช่วยให้รวบรวมข้อมูลเกี่ยวกับการกระทำของผู้ใช้ได้ง่ายขึ้น ซึ่งแน่นอนว่าเป็นสิ่งที่ VK ใช้ โดยเพิ่มรหัสของโพสต์ที่ทำการเปลี่ยนแปลงลงในลิงก์ที่ปลอดภัย

ปลดปล่อยจังโก้

ทางออกที่ดีที่สุดสำหรับปัญหาข้างต้นทั้งหมดอาจเป็นส่วนขยายของเบราว์เซอร์ ด้วยเหตุผลที่ชัดเจน ตัวเลือกจึงตกอยู่ที่ Chrome มีอันที่ยอดเยี่ยมบนฮับ บทความ บทความเกี่ยวกับการเขียนส่วนขยายสำหรับ 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 หากเริ่มต้นด้วย "vk.com/away.php" จากนั้นแทนที่ด้วยอันที่ถูกต้องซึ่งอยู่ในคำขอ GET:

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 จะถูกแทนที่ด้วยลิงก์ดั้งเดิม

แทนการสรุป

แน่นอนว่าต้นขั้วประเภทนี้ได้ช่วยชีวิตผู้คนจำนวนมากจากไซต์ฉ้อโกงนับล้านแห่ง อย่างไรก็ตาม ฉันเชื่อว่าผู้คนเองก็มีสิทธิ์ตัดสินใจว่าจะคลิกลิงก์ที่ไม่ปลอดภัยหรือไม่
เพื่อความสะดวกฉันจึงโพสต์โครงการใน GitHub.

ที่มา: will.com

เพิ่มความคิดเห็น