ข้ามไปที่เนื้อหาหลัก

บทความ

กำลังแสดงโพสต์จาก กันยายน, 2018

Python Web Dev: เสริมความปลอดภัยด้วยการเข้ารหัสกับ JWT กับ PyJWT

การส่งข้อมูลระหว่างกันของเซิร์ฟเวอร์โดยปกตินั้นสามารถถูกดักจับได้ด้วยผู้ไม่หวังดี จึงมีสิ่งหนึ่งที่เข้ามาช่วยแก้ปัญหาด้านนี้ได้บ้างก็คือ "การเข้ารหัสข้อมูล (encoding data)" ด้วยเหตุนี้เองในบล็อคนี้ ผมจึงมาแนะนำการเข้ารหัสในรูปแบบหนึงซึ่งเรียกว่า JWT มันคืออะไรนั้นมาดูกันเลย JWT ย่อมาจาก JSON Web Token  เป็นมาตรฐานเปิด ( RFC7519 ) ที่เข้ามาแก้ปัญหาการส่งข้อมูลระหว่างกัน อย่างปลอดภัย โดยที่ถูกออกแบบให้มีขนาดที่กระทัดรัดและเก็บข้อมูลภายในตัวมีหน้าตาเป็นชุดตัวอักษรชุดหนึ่งแบ่ง เป็น  3 ส่ วน  1. Header คือส่วนที่บอกว่าข้อ ความชุดนี้เข้ารหัสเแบบใดอยู่ หรือมีข้อกำหนดอะไรอยู่บ้าง 2. Payload เก็บข้อมูลจริง ๆ เช่น User ID, Roles ของผู้ใช้ , E-mail ผู้ใช้เพื่อระบุตัวตน  3. Signature เป็น digital signed เอาไว้ตรวจสอบว่า token ถูกสร้างขึ้นมาอย่างถูกต้องเพราะข้อมูลใน payload นั้นสามารถเปลี่ยนแปลงโดยบุคคลที่สามหากมีการเปลี่ยนแปลงข้อมูลขึ้นมาจะทำให้  signature ไม่ตรงกันกับ token ดังกล่าวจะถูกตรวจพบว่าไม่น่าเชื่อถือและไม่นำมาใช้งานในระบบ จากรูปจะ แสดงส่วนประกอบต่าง...

Python Web Dev:มาสร้าง REST API กับ Flask ด้วยภาษา Python กันเถอะ

เพื่อนๆหลายคนอาจจะเคยสร้าง API มาบ้างแล้วด้วยภาษาอื่นๆ เช่น Nodejs ( Javascript ) หรือ Grails ( JAVA ) ( หรือไม่เคย O_O ) วันนี้ผมจะมาแนะนำการทำ REST API แบบง่ายๆ แค่กระพริบตา ด้วย  Flask-RESTful   ซึ่งเขียนด้วยภาษา Python กันนะครับ อย่าเพิ่งรีบเบื่อหนีหายกันไปก่อนนะ :) ก่อนอื่นเลยครับ เราต้องติดตั้ง package ก่อน ตามนี้เล้ยย                                                                         pip install flask-restful                                                                                                          ...