Firefox 57 ออกแล้ว Noscript Security Suite 10 เป็น WebExtension เวอร์ชันแรกของส่วนเสริม Firefox ที่ได้รับความนิยมและประสบความสำเร็จอย่างสูง ส่วนเสริมที่ออกแบบใหม่นำมาซึ่งการเปลี่ยนแปลงและความผิดหวังมากมาย ดังนั้นหากคุณรู้สึกประหลาดใจ ผงะ หรือแค่สับสนกับวิธีการทำงานของ Noscript ในซีรีส์ 5.x ฉันจะพยายามคลี่คลายหมอกบางส่วนในบทช่วยสอนนี้
โปรดทราบว่านี่เป็นฉบับพิมพ์ครั้งแรกของคู่มือนี้ - จะมีการอัปเดตและติดตามผล เนื่องจาก Noscript จะเปลี่ยนแปลงและปรับปรุงอย่างหลีกเลี่ยงไม่ได้ ฉันจะพยายามให้คำอธิบายและคำแนะนำที่ง่ายที่สุด เพื่อให้การเดินทางของคุณและฉันมีความสุขมากขึ้น ฉันเชื่อว่า Noscript เป็นส่วนสำคัญของเว็บ ซึ่งเป็นเหตุผลหลักที่ยังคงใช้ Firefox อยู่ และนี่คือเหตุผลที่ฉันตัดสินใจรวบรวมวิธีการนี้ ปฏิบัติตามฉัน.
ภาพรวมของโนสคริปต์
UI ใหม่แตกต่างจากซีรีส์ 5.x ก่อนหน้าอย่างสิ้นเชิง Noscript แบบคลาสสิกแบบเก่ามีลำดับชั้นตามแนวตั้ง โดยแต่ละเว็บไซต์จะแสดงแยกกัน และคุณสามารถอนุญาตหรืออนุญาตให้เข้าชั่วคราวได้ เมนูระบบที่ลึกขึ้นช่วยให้สามารถควบคุมได้ละเอียดมากขึ้น รวมถึงรายการที่อนุญาตพิเศษ บล็อกองค์ประกอบเฉพาะ และอื่นๆ
NSS 10 มาพร้อมกับกริดคล้ายเมทริกซ์ คล้ายกับส่วนขยาย uMatrix ซึ่งเราจะกล่าวถึงแยกกัน ไซต์จะแสดงรายการในบรรทัดที่แยกจากกัน และขณะนี้มีปุ่มห้าปุ่มถัดจากชื่อโดเมน หากคุณคลิกที่รายการใดรายการหนึ่ง คุณจะสลับขอบเขตเฉพาะสำหรับโดเมนนั้นๆ และยังสามารถดูรายละเอียดได้อีกด้วย
ขอบเขต
โดยมีขอบเขตดังนี้
ค่าเริ่มต้น - โดยค่าเริ่มต้น ไซต์ใด ๆ ที่ไม่ครอบคลุมในขอบเขตอื่น ๆ จะถูกจับคู่กับไซต์นี้ แปดหมวดหมู่องค์ประกอบที่มีอยู่จะถูกเปิด/ปิด ค่าเริ่มต้นคืออนุญาตสคริปต์ วัตถุ สื่อ เฟรม การดึง และอื่นๆ ไม่อนุญาตให้ใช้ฟอนต์และ webgl
โปรดทราบว่าค่าเริ่มต้นคือการอนุญาตสคริปต์
ดังนั้นนี่คือข้อแตกต่างที่สำคัญประการหนึ่งเมื่อเทียบกับ Noscript 5.x และนี่คือสิ่งที่คุณทำได้และควรเปลี่ยนแปลง ฉันจะแสดงให้คุณเห็นวิธีการบรรลุสิ่งนี้ในไม่ช้า โปรดอดทนกับฉัน
Trusted อนุญาตทุกอย่างสำหรับไซต์ที่อยู่ในรายการ
ในทางกลับกัน Untrusted ไม่อนุญาตให้มีองค์ประกอบใด ๆ สำหรับไซต์ที่อยู่ในรายการ
กำหนดเองเป็นหมวดหมู่ที่สี่ และช่วยให้สามารถสลับสถานะของหนึ่งในแปดองค์ประกอบสำหรับโดเมนเฉพาะได้
สัญลักษณ์แม่กุญแจช่วยให้คุณจับคู่กฎในขอบเขตทั้งสี่ก่อนหน้านี้กับเว็บไซต์ที่ให้บริการผ่านอุโมงค์ที่ปลอดภัย (SSL/TLS) หรือใดๆ (HTTP) ซึ่งหมายความว่าหากคุณไปที่ https:// กับ https:// เวอร์ชันของโดเมนเดียวกัน หากมีอยู่ การทำงานอาจแตกต่างกัน
มันทำงานอย่างไร?
มันทำงานตรงกันข้ามกับซีรีย์ 5.x อย่างสิ้นเชิง มีการอนุญาตต่อไซต์ ที่นี่ เนื่องจากรูปแบบทางสถาปัตยกรรมที่แตกต่างกันของข้อมูลที่จัดเก็บไว้ในแบ็กเอนด์ สิทธิ์จึงเป็นไปตามขอบเขต และแต่ละไซต์จะรวมอยู่ในแต่ละส่วน
Noscript 5.x - ไซต์, สิทธิ์
Noscript 10.x - ขอบเขต สิทธิ์ ไซต์ แทนที่สิทธิ์
การดำเนินการนี้ทำให้เกิดความสับสน เนื่องจากหากคุณเปลี่ยนค่าเริ่มต้นสำหรับไซต์ใดไซต์หนึ่ง จะเป็นการเปลี่ยนค่าเริ่มต้นสำหรับขอบเขตทั้งหมด สิ่งนี้เสียหายจากการออกแบบ และควรได้รับการเปลี่ยนแปลงในเร็วๆ นี้
คุณสามารถทดสอบได้โดยไปที่โดเมน เช่น dedoimedo.com แล้วสร้างกฎที่กำหนดเองสำหรับโดเมนนั้น ซึ่งอนุญาตสคริปต์ หากคุณไปที่ไซต์อื่น คุณจะได้เรียนรู้ว่าจะใช้กฎเดียวกัน เนื่องจากการแก้ไขของคุณส่งผลต่อขอบเขตทั้งหมด
อนุญาตชั่วคราว
วิธีแก้ปัญหานี้ควรใช้ตัวเลือกอนุญาตชั่วคราวที่มีอยู่ ใต้ Custom จะมีปุ่มคล้ายนาฬิกาเล็กๆ เมื่อคุณเลือกสถานะการสลับที่ต้องการสำหรับองค์ประกอบทั้งแปดแล้ว ให้คลิกปุ่มนี้ การดำเนินการนี้จะทำให้การอนุญาตเป็นแบบชั่วคราว และควรเปลี่ยนกลับเป็นแบบเดิมเมื่อคุณปิดและเปิดเบราว์เซอร์อีกครั้ง
สังเกตไอคอนนาฬิกาทางด้านขวาของข้อความที่เขียนว่า CUSTOM
น่าเสียดายที่ในขณะนี้ ดูเหมือนว่าโหมดอนุญาตให้ใช้อุณหภูมิไม่ทำงาน ไม่ว่าคุณจะคลิกปุ่มนาฬิกาก่อนแล้วจึงตั้งค่าการอนุญาต หรือตั้งค่าแล้วกดปุ่ม เมื่อรีสตาร์ทเบราว์เซอร์ การเปลี่ยนแปลงของคุณจะกลายเป็นแบบถาวรสำหรับขอบเขตที่กำหนดเองทั้งหมด ดูเหมือนว่าจะเป็นข้อบกพร่องและจำเป็นต้องแก้ไข
อนุญาตชั่วคราว ตัวเลือก 2 (อัปเดต)
เพื่อนชื่อครัสตี้แนะนำโมเดลต่อไปนี้เพื่ออนุญาตไซต์ชั่วคราว แทนที่จะใช้ขอบเขตที่กำหนดเอง ให้ใช้ขอบเขตที่เชื่อถือได้ แล้วคลิกไอคอนนาฬิกาขนาดเล็กเพื่ออนุญาตชั่วคราว โดยไม่ยุ่งกับองค์ประกอบเฉพาะ คุณสามารถโหลดซ้ำหรือปิดหน้าต่างภาพรวมด้วยตนเอง แล้วหน้าจะโหลดซ้ำโดยอัตโนมัติ สิ่งนี้ใช้ได้กับสองในสามกรณีสำหรับฉัน เนื่องจากสิทธิ์ชั่วคราวหายไปหลังจากที่คุณรีสตาร์ทเบราว์เซอร์ ดังนั้นนั่นจึงเป็นความคืบหน้าในทิศทางที่ถูกต้องแล้ว ขอบคุณครัสตี้
ตัวเลือกและการกำหนดค่า JSON
หากคุณเปิดเมนูตัวเลือก/ค่ากำหนด คุณมีการปรับแต่งค่อนข้างจำกัดตามที่คุณต้องการ หากคุณย้ายจาก 5.x คุณควรจะมีไซต์ที่อนุญาตพิเศษทั้งหมดที่นั่น UI ช่วยให้คุณสามารถสลับสถานะของแต่ละรายการได้ แต่ไม่สามารถลบออกได้ ที่นี่คุณสามารถเปลี่ยนสถานะเริ่มต้นระหว่างขอบเขตทั้งสี่ หรือลบออกจากรายการโดยสิ้นเชิง
แก้ปัญหา
ที่ด้านล่าง มีปุ่มแก้ไขข้อบกพร่อง เลือกและนี่จะเป็นการเปิดโปรแกรมแก้ไขข้อความขนาดเล็กซึ่งคุณสามารถเปลี่ยนการกำหนดค่า JSON สำหรับ Noscript ได้ คุณสามารถแก้ไขสถานะเริ่มต้นของแต่ละขอบเขตรวมทั้งลบรายการที่อนุญาตพิเศษได้ ตัวอย่างเช่น:
{
"ค่าเริ่มต้น":{
"ความสามารถ":[
"กรอบ",
"อื่นๆ",
"ดึง",
"สื่อ",
"วัตถุ"
]
},
"ที่เชื่อถือ":{
"ความสามารถ":[
"สคริปต์",
"วัตถุ",
"สื่อ",
"กรอบ",
"แบบอักษร",
"เว็บจีแอล",
"ดึง",
"อื่นๆ"
]
},
ด้านบน ฉันได้ลบบรรทัด "สคริปต์" ออกจากขอบเขต DEFAULT คุณสามารถทำได้ผ่าน UI เมื่อคุณเลือกโดเมนใดๆ ให้ยกเลิกการเลือกช่องสคริปต์ ซึ่งจะมีผลกับเว็บไซต์ทั้งหมดที่ทำเครื่องหมายด้วยตัวเลือกขอบเขต DEFAULT ไม่ง่ายฉันรู้ ในทำนองเดียวกัน รายการโดเมน:
"ไซต์":{
"ที่เชื่อถือ":[
"§:addons.mozilla.org",
"§:afx.ms",
"§:ajax.aspnetcdn.com",
"§:ajax.googleapis.com",
"§:bootstrapcdn.com",
"§:code.jquery.com",
หากคุณไม่ต้องการเชื่อถือสิ่งเหล่านี้ ให้ลบออก ดังที่คุณเห็นด้านล่าง ขอบเขตที่ไม่น่าเชื่อถือไม่มีองค์ประกอบ (ความสามารถ) หรือไซต์ใดๆ ในขณะนี้ และกำหนดเองก็ว่างเปล่าเช่นกัน
และนี่คือรายชื่อไซต์ที่ผ่านการฆ่าเชื้อ:
การทำงานกับ Noscript 10 และข้อเสนอแนะ
ในขณะนี้ฉันต้องบอกว่าค่อนข้างยุ่งยาก การสลับสถานะไซต์ใช้เวลานานกว่าการคลิกกลางธรรมดาที่ Noscript 5.x มี สิ่งนี้ควรได้รับการแนะนำอีกครั้งเป็นคุณสมบัติ ยิ่งไปกว่านั้น เนื่องจากคุณส่งผลกระทบต่อขอบเขตทั้งหมด ไม่ใช่แค่ไซต์ การเปลี่ยนแปลงการอนุญาตจะไร้ประโยชน์อย่างมาก การอนุญาตชั่วคราวไม่ทำงานในขณะนี้
คุณจะได้รับเว็บไซต์ที่โหลดซ้ำโดยอัตโนมัติ แต่โดยรวมแล้วการไหลมีความคล่องตัวน้อยกว่าที่เป็นอยู่มาก ฉันเชื่อว่าสิ่งนี้ควรเปลี่ยนแปลงเมื่อมีการเปิดตัว Noscript เวอร์ชันใหม่ ฉันคิดว่า Giorgio Maone ควรแนะนำไฟล์การกำหนดค่าหลายไฟล์สำหรับแต่ละขอบเขต และเก็บการกำหนดค่าไว้ในรูปแบบต่อไปนี้:
{
"โดเมน":{
"ความสามารถ":[
"กรอบ",
"อื่นๆ",
"ดึง",
"สื่อ",
"วัตถุ"
]
},
สิ่งที่ไม่ตรงกันจะถูกเชื่อมโยงกับ DEFAULT (ไม่ว่าจะเป็นอะไรก็ตาม) Temp-allow จะข้ามชื่อโดเมนและใช้ขอบเขตใหม่ที่เรียกว่า TEMP-ALLOW ซึ่งจะถูกลบทุกครั้งที่รีสตาร์ทเบราว์เซอร์ (หรือการเปลี่ยนแปลงด้วยตนเอง)
แน่นอนว่ายังมีข้อควรพิจารณาด้านสุนทรียภาพด้วย UI ควรมีข้อความที่ใหญ่ขึ้นและระยะห่างระหว่างองค์ประกอบมากขึ้น แต่ละโดเมนควรมีการสลับการให้ - ระหว่างขอบเขตที่มีอยู่และขอบเขตใหม่ที่เรียกว่า temp allow ควรมีปุ่มส่วนกลางเพื่ออนุญาตทั้งหมด การกำหนดค่าขอบเขตควรทำในหน้าต่างตัวเลือกหลัก
สรุป
Noscript 10 อาจรีบเร่งเกินไปเพื่อให้เป็นไปตามกำหนดการเผยแพร่ Firefox Quantum ไม่รู้สึกเหมือนเป็นผลิตภัณฑ์ที่สมบูรณ์ และเน้นความยุ่งเหยิงที่แนวคิด WebExtensions เป็นจริง ฉันมั่นใจว่า Noscript จะพัฒนาและเปลี่ยนแปลงและปรับปรุง และจะตรงกับลักษณะการทำงานแบบเก่า ในแง่การทำงานหากไม่ใช่รูปลักษณ์
สิ่งที่สำคัญที่สุดในขณะนี้คือสามารถใช้ฟังก์ชันอนุญาตชั่วคราวสำหรับทุกไซต์ได้ และไม่ส่งผลกระทบต่อการตั้งค่าขอบเขตด้วยการปรับแต่งต่อไซต์ ดังนั้น ลำดับชั้นของ JSON ควรขับเคลื่อนโดยองค์ประกอบย่อยที่เล็กที่สุด และนี่คือโดเมนที่คุณกำลังเยี่ยมชม นั่นคือทั้งหมดสำหรับคำแนะนำแรก หากคุณมีคำถามใด ๆ โปรดถาม ฉันจะเพิ่มคำตอบที่นี่ การอัปเดตและข่าวสารต่างๆ กำลังจะมาในเร็วๆ นี้ โปรดติดตามฉบับที่ 2 และสิ่งอื่นๆ ที่เกี่ยวข้องกับหัวข้อนี้
อัปเดต - 23 พฤศจิกายน 2017:
ก่อนที่ฉันจะเขียนคู่มือนี้ฉบับที่สอง ฉันรู้สึกว่าควรเพิ่มการอัปเดตที่สำคัญบางอย่างลงในหน้านี้อย่างรอบคอบมากขึ้น เพียงหนึ่งวันหลังจากที่ฉันเผยแพร่บทความ Giorgio Maone ได้อัปเดตส่วนขยาย Noscript และมันก็ดูคล่องตัวและมีประสิทธิภาพมากขึ้นแล้ว
UI ใหม่และที่ออกแบบใหม่ยังคงรักษาหมวดหมู่ทั้งสี่ไว้ แต่ที่สำคัญที่สุดคือมีปุ่มอนุญาตชั่วคราว ความสามารถในการเพิกถอนสิทธิ์ชั่วคราว และไอคอนแยกต่างหากเพื่อเปิดการตั้งค่า นอกเหนือจากการคลิกเพิ่มเติม - Noscript 5.x ให้คุณ temp-allow ทั้งหมดผ่านการคลิกกลางที่ไอคอนส่วนขยาย - ลักษณะการทำงานส่วนใหญ่เหมือนกับในเวอร์ชันก่อนหน้า ยังคงมีความแตกต่างเล็กน้อย แต่เป็นส่วนเสริมที่เรารัก ใส่ใจ และจำเป็นต้องรับประกันเมื่อใช้ Firefox นี่คือการพัฒนาที่ยอดเยี่ยม คอยติดตามเพิ่มเติม
ไชโย