ทดลอง Shellshock บน OS X

พอดีเห็นว่าบน Mac มันทดลองง่ายดี ยังไม่มี patch ออกมาด้วย   OS X มี web server ติดมาในตัว ใช้รัน CGI ง่ายๆได้ แค่เอาไฟล์ไปวางไว้ใน /Library/WebServer/CGI-Executables/ ยกตัวอย่างไฟล์​ test.sh   ไม่เคยเขียน CGI web app ด้วย bash มาก่อน (อันนี้ก็อันแรก ด้วยความอยากรู้)​ ตอนรันก็แค่เปิด http://localhost/cgi-bin/test.sh เป็นไปตามที่คิด — เข้าเรื่อง Shellshock เราก็จะฝังพวก command เข้าไปใน HTTP headers บางตัว ซึ่งโดยการทำงานของ CGI แล้ว headers พวกนี้ก็จะถูกเอาไปทำเป็น environment variables สำหรับตัว bash ที่จะถูกเรียกขึ้นมา (อ่านเรื่อง environement var […]

Share Button

โค้ดรีวิว

งานที่ผมทำก่อนหน้านี้ไม่ใช่ software engineer หรือ programmer แต่มันมีส่วนที่ได้เขียนโค้ดบ้าง ซึ่งมักเป็นโปรเจค “เครื่องเคียง” ซะเป็นส่วนใหญ่ กล่าวคือ เอ็งทำเสร็จก็ดี (หรือดีมาก) แต่ไม่เสร็จก็ไม่ได้กระทบอะไรกับทีมนักหนา ดังนั้น การเขียนโค้ดของผมช่วงทำงาน 3.5 ปีแรกมันไม่ได้มีโปรเซสอะไรมาก ค่อนข้างลูกทุ่ง (ภาษาอังกฤษใช้คำว่า “cowboy”) คือ เขียนเอาผลลัพธ์อย่างเดียว เสร็จใช้งานได้ดีตาม requirements เป็นโอเค – Get shit done! ส่วนหนึ่งที่ไม่เคยทำคือ โค้ดรีวิว (code review) ดังนั้นการเปลี่ยนแปลงที่สำคัญที่ผมเจอหลังมาเริ่มงานกับ “อากู๋ให้ 5 ดาว” (ให้ห้าดาวนั่นไม่เกี่ยว แต่ถ้าคุณเก็ต แปลว่าคุณแก่มากกกกก) คือการได้สัมผัสการเขียนโค้ดแบบที่ต้องให้คนอื่นรีวิวและเห็นด้วยก่อนจึงจะ submit ได้ ดังนั้นการรีวิวจึงเกิดขึ้นอยู่ตลอดเวลา ไม่ได้ทำวันละครั้งหรืออาทิตย์ละครั้ง เชื่อหรือไม่ว่า ว่ากลุ่มคนผู้รักการเขียนโค้ดส่วนใหญ่ (รวมตัวเอง)​ มักจะคิดว่าโค้ดของตัวเองดีเลิศประเสริฐศรี สวยงาม ปลอดบั๊ก แต่ก็นั่นแหละ เชื่อหรือไม่(อีก)ว่า การให้ตาที่สอง หรือ […]

Share Button