บทความ

กำลังแสดงโพสต์ที่มีป้ายกำกับ Security Programming

ตัวอย่าง Java Base64 Encoding and Decoding

ตัวอย่าง Java Code ในการทำ Encode และ Decode   ด้วย Base64 เป็นการ Encode อย่างง่ายสุดนะครับ สำหรับข้อมูลที่ไม่ได้ต้องการปิดบังหรือ Privacy มาก เพราะว่า สามารถ Decode กลับมาเป็นข้อมูลจริง ได้ง่ายมากๆ import org.apache.commons.codec.binary.Base64; public class TestEncode {     /**      * @param args      */     public static void main(String[] args) {         String input="data_for_encode";         byte[] bytes = Base64.encodeBase64(input.getBytes());         System.out.println("Encode " + new String(bytes));         byte[] decodedBytes = Base64.decodeBase64(bytes);         System.out.println("Decode " + new String(decodedBytes));     } } ผลที่ได้จากการ Run ก็ตามรูปต้านล่างเลย Encode ZGF0YV9mb3JfZW5jb2Rl Decode data_for_encode ...

วิธีป้องกัน SQL injection PHP กับ codeigniter

บ่อยครั้งคที่เราเขียนโปรแกรมโดยที่ไม่คำนึงถึงความปลอดภัย เปิดช่องโหว่ให้ผู้ไม่หวังดีสามารถใส่ SQL Injection เข้ามาได้ ยกตัวอย่างเช่น หน้าจอ login ถ้าเรา รับ parameter เป็น username กับ password แล้วนำไปใช้ใน SQL Query แบบง่ายๆ เช่น select * from muser where username='$user_name' and password='$passwrod' ดูแล้วก็ไม่น่าจะมีอะไรแต่ลองนึกภาพดูนะ ยกตัวอย่างจาก statement ข้างต้น สิ่งที่ได้คือคำสั่งนี้ select * from muser where username='admin' and password='admin1234' ถ้าหากผู้ไม่หวังดีส่งค่าของ $password เข้ามาแบบนี้ล่ะ    test' or '1'='1  ลองแทนค่าดูก็จะได้แบบนี้ select * from muser where username='admin' and password='test' or '1'='1' คำสั่ง or 1=1 เป็นจริงเสมอรับรองได้เลยว่าไม่ว่าจะใส่ username , password มั่วๆ เข้ามา ก็สามารถทะลุหน้าจอ login เราเข้าไปได้แน่นอน แบบนี้แหละเขาเรียกว่าปัญหา  SQL injection   แนวทางแก้แบบง่ายๆ เลยนะให้เปลี่ยนไปใช้คำสั่งนี้ครับ $dbResult = $this->db-...