จากนั้นปัญหาคือหน้าเว็บนี้เกี่ยวข้องกับการพัฒนาส่วนหน้าของเว็บมือถือเป็นครั้งแรก ฉันชอบที่จะใช้การรวมกันของ HTML5+Bootstrap เพื่อให้ได้เอฟเฟกต์ความงามของหน้า งานส่วนหน้าอื่น ๆ ถูกส่งมอบให้กับ JavaScript เพื่อแก้ไข (ที่นี่ฉันใช้รหัส JavaScript ดั้งเดิมอย่างสมบูรณ์และไม่ใช้เฟรมเวิร์กใด ๆ เพราะเมื่อพิจารณาว่าโทรศัพท์มือถือโหลดเว็บเพจด้วยความเร็วช้าและฟังก์ชั่นที่ไม่ได้ใช้จำนวนมากในเฟรมเวิร์กจะโหลดด้วยเว็บเพจ
หลังจากฟังก์ชั่นทั้งหมดพร้อมลูกค้าก็พอใจกับการทดลองใช้มากและจากนั้นฉันก็ส่งรหัสไปยังเซิร์ฟเวอร์อย่างเป็นทางการ อย่างไรก็ตามอีกฝ่ายพูดถึงสิ่งหนึ่งในทันที: หน้าคุณทำนั้นค่อนข้างสวยงามและมีความเข้ากันได้ดี แต่หน้านี้สามารถเข้าถึงได้โดยใช้เบราว์เซอร์บนคอมพิวเตอร์ของคุณเพื่อให้คนอื่น ๆ สามารถดูซอร์สโค้ดของหน้าเว็บได้ จะมีวิธีใดในการป้องกันสิ่งนี้ได้หรือไม่? จากนั้นคำถามก็มาอีกครั้ง นี่เป็นครั้งแรกที่ฉันได้ทำการพัฒนา WeChat Secondary ฉันไม่เคยพบความต้องการเช่นนี้ ฉันจะแก้ปัญหาได้อย่างไร?
ฉันไม่สามารถคิดได้สักพักและหลังจากนั้นฉันก็วางปัญหานี้ไว้และทำธุรกิจแบ็กเอนด์ เมื่อทำฟังก์ชั่นการรวบรวมข้อมูลในพื้นหลังรหัส PHP จะใช้พารามิเตอร์ $ _Server ['http_user_agent'] ทันใดนั้นฉันก็คิดว่าเมื่อเบราว์เซอร์เข้าชมเว็บเพจมันจะส่งผู้ใช้ไปยังเซิร์ฟเวอร์ซึ่งมีข้อมูลพื้นฐานบางอย่างเกี่ยวกับเบราว์เซอร์และระบบปฏิบัติการผู้ใช้ เนื่องจาก WeChat มีเบราว์เซอร์ในตัวผู้ใช้จะนำโลโก้ที่ไม่เหมือนใครที่เกี่ยวข้องกับ WeChat เมื่อเรียกดูหน้าเว็บกับ WeChat (หลังจากทั้งหมด Tencent เป็น บริษัท ขนาดใหญ่และ WeChat เป็นหนึ่งในผลิตภัณฑ์หลักของพวกเขา)? เพียงใช้รหัสเพื่อพิมพ์ผู้ใช้เพื่อค้นหา รหัส JavaScript มีดังนี้:
การคัดลอกรหัสมีดังนี้:
<script type = "text/javascript">
การแจ้งเตือน (navigator.useragent);
</script>
ฉันได้ผลลัพธ์ตามที่แสดงในโทรศัพท์ของฉัน:
แน่นอนฉันเห็นสิ่งที่แตกต่างกันจริงๆ ฉันเชื่อว่าเพื่อนอัจฉริยะได้ค้นพบมัน ถูกต้องแล้วมันคือสิ่งนี้: Micromessenger/6.0.0.50_R844973.501 สตริงที่อยู่ด้านหลังสแลชเป็นหมายเลขเวอร์ชันของ WeChat ที่ฉันใช้อยู่และด้านหน้าควรเป็นโลโก้ที่ไม่ซ้ำกันของ WeChat ที่จริงแล้วฉันคิดว่ามันเป็นไมโครมิเตอร์และคิดว่าการแปลภาษาจีนหมายถึง "micromessage" แต่หลังจากมองใกล้ ๆ ฉันพบว่ามันไม่ได้ หลังจากค้นหาพจนานุกรมฉันรู้ว่าคำว่า Messenger หมายถึง "คนที่รายงานข้อความบุคคลที่ส่งข้อความ" ดังนั้นฉันจึงไม่คิดว่ามันแปลก โลโก้นี้ควรบอกว่าเป็นสิ่งที่เบราว์เซอร์อื่นจะไม่มีดังนั้นวิธีแก้ปัญหาอยู่ที่นี่โปรดดูรหัส:
การคัดลอกรหัสมีดังนี้:
<script type = "text/javascript">
// จับคู่ผู้ใช้เบราว์เซอร์เป็นประจำ หากไม่มีตัวระบุที่ไม่ซ้ำกัน WeChat มันเป็นเบราว์เซอร์อื่น ๆ
var useragent = navigator.useragent;
if (useragent.match (/micromessenger/i)! = 'micromessenger') {
// กล่องคำเตือนนี้จะบล็อกหน้าปัจจุบันและโหลดต่อไป
การแจ้งเตือน ('การเข้าถึงนี้ถูกห้าม: คุณต้องใช้เบราว์เซอร์ในตัวของ WeChat เพื่อเข้าถึงหน้านี้!');
// รหัสต่อไปนี้คือการปิดหน้าปัจจุบันด้วย JavaScript
var open = window.open ('เกี่ยวกับ: blank', '_self');
เปิด. opener = null;
เปิด. close ();
-
</script>
รหัสนี้ได้รับการทดสอบบน Android, iPhone, iPad และ PC ตราบใดที่หน้าเว็บไม่ได้เปิดอยู่ภายใน WeChat กล่องเตือนด้านบนจะปรากฏขึ้นก่อน ในเวลานี้หน้าด้านหลังว่างเปล่าและไม่มีอะไรโหลด เมื่อคลิกปุ่มยืนยันของกล่องคำเตือนรหัสสามบรรทัดสุดท้ายจะปิดหน้าปัจจุบันอย่างแข็งขัน ตกลงที่นี่ได้ตระหนักถึงความตั้งใจดั้งเดิมของผู้ใช้และสามารถทำได้ง่ายๆ
เดี๋ยวก่อนคุณสามารถทำงานแบบนี้ให้เสร็จได้หรือไม่? แน่ใจหรือว่าจะไม่มีปัญหาอื่น ๆ ? ไม่แน่นอน ในความเป็นจริงวิธีนี้จะไม่ทำให้คุณมั่นใจได้เนื่องจากผู้ใช้งานปลอมแปลงข้อ จำกัด นี้ยังสามารถข้ามได้ โดยทั่วไปแล้วมันคือการป้องกันสุภาพบุรุษ แต่เป็นคนร้าย ทุกคนรู้ แน่นอนหากเพื่อนคนใดมีวิธีที่ดีกว่าในการแก้ปัญหานี้โปรดแสดงความคิดเห็นด้านล่างเทคโนโลยีนั้นอยู่ในการแบ่งปันและการสื่อสารซึ่งกันและกันฮ่าฮ่า