Skip to content
CodingThailand's Blog
CodingThailand's Blog

by โค้ชเอก

  • Home
  • About Me
  • CodingThailand.com
CodingThailand's Blog

by โค้ชเอก

Month: May 2016

3 แนวทางง่ายๆ เขียน PHP ให้ปลอดภัย แค่ใส่ใจกับอินพุต

โค้ชเอก, 14/05/2016

อย่าเชื่อ!! ว่าข้อมูลที่รับมาจากแหล่งที่เราควบคุมไม่ได้ ไม่ว่าจะเป็น $_GET,$_POST,$_REQUEST,$_COOKIE,$argv,file_get_contents(),Remote databases,Remote APIs และ ข้อมูลทุกอย่างที่มาจาก Client ว่าจะปลอดภัยครับ เราควรต้องกรอง และคอยตรวจสอบความถูกต้องของข้อมูลเสมอ ดังนี้ ควรกรองข้อมูลอักขระพิเศษต่างๆ จาก HTML ด้วย เช่น การใช้ฟังก์ชัน htmlentities() ตัวอย่าง <?php $input = ‘<p><script>alert(“ยินดีด้วยคุณถูกรางวัลที่ 1!”);</script></p>’; echo htmlentities($input, ENT_QUOTES, ‘UTF-8’); ?> ฟังก์ชัน htmlentities() จะช่วยให้เรากรองและแปลง HTML ให้กลายเป็น string ที่ปลอดภัยครับ หรือใครอยากลองเล่น Html Purifier Libray ตามไปได้ที่ http://htmlpurifier.org   ถ้ารับข้อมูล input จาก user และมีการกรอกข้อมูล…

Continue Reading

10 ข้อควรรู้ เขียน PHP ให้ถูกต้องและตรงตามมาตรฐาน

โค้ชเอก, 14/05/2016

หลายคนที่เขียน PHP อยู่ตอนนี้ รวมถึงตัวผมด้วย อาจยังเขียน php ไม่ถูกต้องตามมาตรฐานนัก อาจติดมาจากภาษาอื่นๆ หรือเขียนเองคนเดียว ถึงแม้ไม่ errors ทำงานได้ปกติ แต่เมื่อไหร่ที่เราต้องทำงานร่วมกับคนอื่น ผมว่ามีปัญหาแน่นอน ว่าแล้วก็มาฝึกเขียน PHP ให้ตรงตามมาตรฐานกันดีกว่าครับ 1. ไฟล์ PHP ต้องเปิดด้วยคำสั่ง <?php และ <?= เท่านั้น 2. ไฟล์ต้องมีการเข้ารหัสภาษาเป็น UTF-8 without BOM 3. การตั้งชื่อ Class และ Namespace ควรกำหนดให้เป็น StudlyCaps เช่น ConnectDatabase 4. การตั้งชื่อ Methods ควรกำหนดเป็นรูปแบบเป็น camelCase เช่น goDB() 5. เมื่อมีการเยื้องโค้ดต้องไม่ใช้ tabs แต่ให้เคาะช่องว่าง…

Continue Reading

แนวทางเขียน HTML 5 ที่ดี

โค้ชเอก, 14/05/2016

**HTML 5** ได้ทำการปรับปรุงภาษา HTML ครั้งล่าสุดเพื่อเพิ่มอิลิเมนต์ในด้านภาษาและฟีเจอร์ใหม่ๆ พร้อมกับปรับปรุงฟีเจอร์เดิมที่มีอยู่แล้ว รวมถึง API ต่างๆ มากมายให้เราเลือกใช้ สำหรับแนวทางที่เราควรพิจารณาและเขียนโค้ด HTML 5 มี 5 ข้อดังนี้ 1. ใช้ตัวอักษรตัวเล็กกับทุกอิลิเมนต์และแอตทริบิวต์ 2. แม้ว่าบางอิลิเมนต์จะไม่จำเป็นต้องใส่แท็กปิด ก็ควรจะปิดถ้ามีเนื้อหาอยู่ข้างใน เช่น <p>hello</p> 3. บางแอตทริบิวต์แม้ว่าเราสามารถละไม่ใส่เครื่องหมายคำพูด แต่ก็ควรจะใส่เครื่องหมายคำพูดเสมอเพื่อความสอดคล้องกัน 4. ควรละไม่ใส่เครื่องหมายแสลช (/) ที่ใช้ปิดอิลิเมนต์ที่ไม่มีเนื้อหา เช่น <input type=”text” name=”user”> 5. หลีกเลี่ยงการกำหนดค่าที่ซ้ำซ้อนสำหรับแอตทริบิวต์แบบบูลีน เช่น ให้ใช้ input type=”checkbox” checked> แทนที่จะใช้ <input type=”checkbox” checked=”checked”> 5 ข้อที่ว่ามาข้างต้นอาจไม่ได้เป็นสากล แต่จะทำให้โค้ดของเราดูสะอาด เป็นระเบียบ ง่ายต่อการอ่าน…

Continue Reading

3 ข้อแนะนำสำหรับโปรแกรมเมอร์มือใหม่

โค้ชเอก, 14/05/201614/05/2016

1. พิมพ์ด้วยมือของคุณเอง เพราะการพิมพ์จะทำให้คุณเกิดทักษะมากขึ้น เมื่อมีทักษะมากขึ้นจะทำให้การเขียนโปรแกรมได้ดีและเร็วขึ้น 2. ข้อความ error เกิดขึ้นได้เสมอและมีสาเหตุ ไม่ใช่อยู่ดีๆมันจะเกิดขึ้นมาเอง ตรวจสอบให้ดีว่าพิมพ์ถูกต้องหรือไม่ แก้ไขข้อผิดพลาดอย่างมีเหตุผล เมื่อเกิด error 1,000 ครั้ง แสดงว่าคุณรู้วิธีแก้ error ใหม่ๆ เพิ่มอีก 1,000 วิธี 3. อ่านหนังสือหลายๆเล่ม เพราะแต่ละเล่มเขียนจากผู้เขียนคนละคนกัน มีประสบการณ์แตกต่างกัน แม้เรื่องเดียวกันยังมีการยกตัวอย่างไม่เหมือนกัน มันจะทำให้คุณได้ไอเดียใหม่ๆ แนะนำให้อ่านทั้งภาษาไทยและอังกฤษ ข้อคิด “ความผิดพลาดของคนส่วนใหญ่ คือ เขาไม่เข้าใจว่าความสำเร็จนั้นเกิดจากการพยายามทีละเล็กทีละน้อย และมันไม่มีทางลัด” Views: 437

Continue Reading

12 ข้อแนะนำการเขียน CSS ที่ดีสำหรับมือใหม่

โค้ชเอก, 14/05/2016

1. ไม่เขียนคำสั่งให้ซ้ำซ้อน ควรแยกคำสั่งให้อ่านง่ายในแต่ละบรรทัด 2. เขียนและตั้งชื่อให้สื่อความหมาย เช่น การตั้งชื่อคลาสต่างๆให้ดูแล้วรู้เลยว่าเอาไว้ทำอะไร 3. ใช้การ Reset CSS เพราะ reset css จะช่วยลดความไม่เข้ากันของแต่ละ Browsers ได้ 4. ในไฟล์ css ควรออกแบบจากบนลงล่างให้สอดคล้องกับโครงสร้างหน้าเว็บที่เป็น HTML 5. ควรรวม หรือจัดกลุ่ม elements html ที่มีค่าเหมือนๆกันไว้ด้วยกัน เช่น h1,h2,h3 { font-size: 20px; color: red; } 6. ควรออกแบบและเขียนโครงสร้าง HTML ก่อน ค่อยสร้างไฟล์ CSS ทีหลัง 7. ใช้ DOCTYPE ของเอกสาร HTML ให้ถูกต้อง เช่น…

Continue Reading

3 ขั้นตอน ง่ายๆ config XAMPP ให้สามารถเข้าถึงจากเครื่องอื่นได้

โค้ชเอก, 14/05/201614/05/2016

1. เปิดไฟล์ http-xampp.conf ขึ้นมาโดยเข้าไปที่ C:\xampp\apache\conf\extra ครับ 2. เมื่อเปิดไฟล์แล้ว เลื่อนลงมาล่างสุด ในส่วนของ LocationMatch เลือกตั้งค่าได้ดังนี้ 2.1 ถ้าอยากให้เข้าถึงได้จากทุกเครื่องให้ config ดังนี้ <LocationMatch “^/(?i:(?:xampp|security|licenses|phpmyadmin|webalizer|server-status|server-info))”> Allow from all ‪#‎Require‬ local ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var </LocationMatch> 2.2 แต่ถ้าอยากให้สามารถเข้าถึงได้เฉพาะบางไอพี หรือเครื่อง ก็ให้ config ดังนี้ <LocationMatch “^/(?i:(?:xampp|security|licenses|phpmyadmin|webalizer|server-status|server-info))”> Order deny,allow Deny from all Allow from ::1 127.0.0.0/8 192.168.1.3 192.168.1.4 ‪#‎ไอพีเครื่องในเครือข่ายที่อนุญาตให้พิมพ์เว้นวรรคได้ครับ‬ #Require local ErrorDocument…

Continue Reading

สาระน่ารู้เกี่ยวกับ Angular 2 เรื่อง Pipes

โค้ชเอก, 14/05/201614/05/2016

Pipes ใน Angular 2 มีไว้สำหรับ transform, filter หรือไว้จัดรูปแบบข้อมูลต่างๆ เราสามารถแทรก | เข้าไปใน html ได้เลย 1. uppercase มีไว้แปลงตัวอักษรให้เป็นตัวพิมพ์ใหญ่ทั้งหมด <p>{{ ‘Coding Thailand’ | uppercase }}</p> <!– ผลลัพธ์ คือ CODING THAILAND –>   2. lowercase มีไว้แปลงตัวอักษรให้เป็นตัวพิมพ์เล็กทั้งหมด <p>{{ ‘Coding Thailand’ | lowercase }}</p> <!– ผลลัพธ์ คือ coding thailand –>   3. number ใช้สำหรับจัดรูปแบบของตัวเลขต่างๆ เช่น <p>{{…

Continue Reading

4 แนวทางการเขียนโค้ดให้อ่านง่าย ไม่เป็นภาระของตัวเอง และผู้อื่น

โค้ชเอก, 14/05/201614/05/2016

1. อย่าใช้ตัวย่อกับตัวอักษรทุกอย่างที่เขียน ให้เขียนแบบเต็ม เช่น ถ้าจะเขียน class เกี่ยวกับการสั่งซื้อ ก็อย่าย่อ ใช้แบบเต็มสื่อความหมายไปเลยครับ เช่น //ไม่ควรเขียนย่อเอง class Odr { } //ควรเขียนเป็น class Order { } 2. ตัวแปร ตั้งให้สื่อความหมาย 3. ตั้งชื่อ method ให้สื่อความหมายเต็มๆเลยว่ามันเอาไว้ทำอะไรกันแน่ แบบนี้ไม่ควรตั้ง public function fetch($BillId) { } ตั้งแบบนี้ดีกว่า รู้เลยว่า พารามิเตอร์คืออะไร (เคลียร์) public function fetchByBillId($id) { }   Views: 1176

Continue Reading
  • Previous
  • 1
  • …
  • 3
  • 4

Posts ล่าสุด

  • การใช้งาน Prefetching ใน Next.js
  • 14 ข้อคิด เพื่อการเป็น Developer ที่ดีขึ้น จาก “Lee Robinson”
  • เคยเจอ “TypeError: Cannot read property ‘x’ of undefined” หรือเปล่า
  • บันทึกการเขียนเว็บไซต์ใหม่ในรอบ 10 ปี ย้ายมาใช้ Next.js
  • ทำไมการจัดการ Error ใน JavaScript ถึงเป็นเรื่องท้าทาย?

Recent Comments

    หมวดหมู่

    • .NET
    • AI
    • Android
    • Angular
    • Angular 2
    • Coding
    • CSS
    • Database
    • Editor
    • Flutter
    • Git
    • HTML5
    • Ionic 2
    • Ionic 4
    • Ionic Framwork
    • JavaScript
    • Laravel
    • Laravel 5
    • Next.js
    • Node.js
    • PHP
    • PHP 7
    • Plugins
    • React
    • React Native
    • Template
    • Tools
    • TypeScript
    • UI
    • Uncategorized
    • Vue.js
    • XAMPP
    • Yii
    • คอร์สเรียน
    • แรงบันดาลใจ

    Archives

    • July 2025
    • April 2025
    • November 2024
    • October 2024
    • April 2020
    • February 2020
    • August 2019
    • September 2018
    • August 2018
    • February 2018
    • November 2017
    • October 2017
    • August 2017
    • July 2017
    • April 2017
    • October 2016
    • August 2016
    • May 2016

    Tags

    .NET android Angular Angular 2 Atom Coding Coding Standard CSS CSS 3 Datepicker Express.js extensions Git HTML HTML5 Ionic2 JavaScript Laravel5 laravel 5.5 MariaDB Material Design MySQL Node.js npm PHP PHP7 plugins PouchDB recaptcha Restful sail.js template typescript typscript XAMPP Yii2

    ผู้เยี่ยมชม

    • 0
    • 1,818,152
    • 547,559
    • 328,762
    ©2025 CodingThailand's Blog | WordPress Theme by SuperbThemes