http.server ใน Python และเชื่อมโยงกับเส้นทางที่ผู้ใช้ควบคุมเพื่อให้ผู้ใช้สามารถตั้งค่าเส้นทางของเขาเองบนเซิร์ฟเวอร์ด้วยตัวจัดการ นั่นควบคุมเนื้อหาในการตอบสนองที่ลูกค้าได้รับ หลังจากนั้น Wengine ใช้ Regex เพื่อตรวจจับไวยากรณ์แม่แบบของคุณภายในรหัส HTML ที่ช่วยให้คุณใช้ฟังก์ชั่นที่ทำไว้ล่วงหน้าภายในเทมเพลต HTML ของคุณและทำฟังก์ชั่น back-end ที่ด้านหน้าส่วนหน้าเช่นการอ่านไฟล์การดำเนินการคำสั่งการผ่านตัวแปร .. Wengine ได้สร้างระบบ Hadler ที่ทำงานเพื่อรับข้อมูลคำขอไคลเอนต์จากเซิร์ฟเวอร์ Python จากนั้นส่งคืนการตอบกลับที่ลูกค้าควรได้รับ ตัวจัดการของคุณควรถูกเก็บไว้ในโฟลเดอร์ handlers ภายในแอปพลิเคชันเพื่อให้เซิร์ฟเวอร์สามารถเข้าถึงได้และตัวจัดการของคุณควรเป็นฟังก์ชั่นที่เรียกว่า Handler ที่ใช้อาร์กิวเมนต์เดียวที่เรียกว่า requestHeaders คุณสามารถรวมฟังก์ชั่น Python อื่น ๆ ในรหัสของคุณเพื่อใช้ภายในฟังก์ชั่น Handler แต่คุณควรส่งคืนการตอบกลับหลังจากเรียกใช้ฟังก์ชั่นทั้งหมดนี้ มิฉะนั้นเซิร์ฟเวอร์จะไม่ทำงาน
ในการส่งคืนการตอบกลับคุณควรส่งคืนค่าสามค่า: responseContent , responseHeaders และ responseCode และทั้งหมดของพวกเขาไม่ควรว่างเปล่าหรือถูกปฏิเสธกับประเภทอื่น ๆ แต่เพื่อให้ง่ายสำหรับผู้ใช้ ฉันสร้างฟังก์ชั่นเต็มรูปแบบที่เรียกว่า makeResponse ในโฟลเดอร์ utils ที่ใช้งานได้เมื่อส่งคืนการตอบกลับไปยังเซิร์ฟเวอร์และเติมฟิลด์ที่หายไปและตรวจสอบความถูกต้อง และสามารถใช้ในการแสดงเทมเพลตด้วย ช่วยให้คุณใช้ไวยากรณ์ของ Wengine ภายในไฟล์ HTML ของคุณและส่งผ่านตัวแปรไป
Wengine ถูกสร้างขึ้นด้วยวิธีที่ปลอดภัยสำหรับทั้งฝั่งไคลเอ็นต์และฝั่งเซิร์ฟเวอร์ การป้องกันส่วนใหญ่ที่นั่นบนเซิร์ฟเวอร์ได้รับการจัดการโดยผู้ใช้ คุณสามารถปิดการใช้งานหรือเปิดใช้งานได้ ตรวจสอบให้แน่ใจว่าคุณเห็น config/settings.py และแก้ไขสิ่งที่ไม่สอดคล้องกับแอปพลิเคชันของคุณ มิฉะนั้นอาจส่งผลให้เกิดปัญหาด้านความปลอดภัยที่แท้จริงในแอปพลิเคชันของคุณ
Wengine สร้างการป้องกันสำหรับฟังก์ชั่นส่วนใหญ่ภายในของ utils หากคุณต้องการใช้บางสิ่งบางอย่างและมีอยู่ในโฟลเดอร์ utils โปรดอย่าสร้างฟังก์ชั่นภายนอกสำหรับมัน ฟังก์ชั่น utils ทำด้วยการป้องกันความปลอดภัยที่เหมาะสมกับการกำหนดค่าเซิร์ฟเวอร์ของคุณ การใช้ฟังก์ชั่นภายนอกจะช่วยให้ปัญหาความลับเหล่านี้เกิดขึ้นเว้นแต่คุณจะแน่ใจว่าคุณกำลังตรวจสอบรหัส
แต่ BTW ถ้าคุณคิดว่าคุณพบปัญหาด้านความปลอดภัยเกี่ยวกับ Wengine โปรดติดต่อฉันและฉันจะตอบกลับโดยเร็ว หากคุณไม่ได้สังเกตเห็นคำตอบจากฉัน จากนั้นอย่าลังเลที่จะส่งปัญหาเกี่ยวกับ GitHub ด้วย
createuser และ migrate ตัวเลือกเพื่อเพิ่มผู้ใช้ใหม่ลงในฐานข้อมูลและตั้งค่า SQLite DB