หน้าเว็บ

วันเสาร์ที่ 4 กันยายน พ.ศ. 2553

การสแกน เพื่อการแฮคเกอร์

การสแกน


(Scaning)     (ดาวน์โหลด nmap-3.93-win32 ไปก่อนนะครับ )

Port Scanning เป็นหนึ่งในเทคนิคที่โด่งดังที่สุดที่ผู้โจมตีใช้ในการค้นหาบริการ Service ที่พวกเขาจะสามารถเจาะผ่านเข้าไปยังระบบๆได้ โดยปกติแล้วทุก ๆ ระบบที่ต่อเข้าสู่ระบบ LAN หรือระบบอินเทอร์เน็ตจะเปิด service อยู่บน port ที่เปิดเป็นตัวเลขต่างๆสำหรับการทำ Port Scanning นั้น ผู้โจมตีจะสามารถค้นหาข้อมูลได้มากมายจากระบบของเป้าหมาย ได้แก่ บริการอะไรบ้างที่กำลังรันอยู่ ผู้ใช้คนไหนเป็นเจ้าของบริการเหล่านั้น สนับสนุนการล็อกอินด้วย anonymous (แบบไม่ประสงค์ออกนาม)หรือไม่ และบริการด้านเครือข่ายมีการทำ authentication หรือไม่ การทำ Port Scanning ทำได้โดยการส่งข้อความหนึ่งไปยังแต่ละพอร์ต ณ เวลาหนึ่ง ๆ ผลลัพธ์ที่ตอบสนองออกมาจะแสดงให้เห็นว่าพอร์ตนั้น ๆ ถูกใช้อยู่หรือไม่และสามารถทดสอบดูเพื่อหาจุดอ่อนต่อไปได้หรือไม่ Port Scanners มีความสำคัญต่อผู้ชำนาญด้านความปลอดภัยของเครือข่ายมากเพราะว่ามันสามารถเปิดเผยจุดอ่อนด้านความปลอดภัยที่มีความเป็นไปได้ของระบบเป้าหมาย

ถึงแม้ว่า Port Scans สามารถเกิดขึ้นกับระบบของคุณ แต่ก็สามารถตรวจจับได้และก็สามารถใช้เครื่องมือที่เหมาะสมมาจำกัดจำนวนของข้อมูลเกี่ยวกับบริการที่เปิดได้ ทุกๆระบบที่เปิด สู่สาธารณะจะมีพอร์ตหลายพอร์ตที่เปิดและพร้อมให้ใช้งานได้ (ต้องรู้ว่าแต่ละ port ที่เิปิดนั้นคือบริการอะไร) ซึ่งตรงนี้คุณต้องทำการกำหนดสิทธิ์ต่างในแต่ละ port และจำกัดจำนวนพอร์ตที่จะเปิดให้แก่ผู้ใช้ที่ได้รับอนุญาตและปฏิเสธการเข้าถึงมายังพอร์ตที่ปิด

เทคนิคต่าง ๆ ของ Port Scan

ก่อนที่คุณจะป้องกัน Port Scans คุณก็จะต้องเข้าใจเสียก่อนว่า Port Scans ทำงานอย่างไร เนื่องจากมีเทคนิคของ Port Scanning อยู่มากมายหลายรูปแบบ ซึ่งมีเครื่องมือ Port Scanning ที่ทำงานโดยอัตโนมัติ เช่น Nmap และ Nessus ที่ผมแนะนำโปรแกรม 2 ตัวนี้ก็เพราะว่าโปรแกรม 2 ตัวนี้มีความยืดหยุ่นในการแสกนสูง สามารถกำหนดรูปแบบการแสกนได้อย่างอิสระ ไม่เหมือนกับโปรแกรมทั่วๆไปที่แสกนได้ไม่กี่อย่างๆ

________________________________________

การ scan ต่อไปนี้เป็นรูปแบบมาตรฐานสำหรับ Nmap และ Nessus

1. Address Resolution Protocol (ARP) scans จะตรวจหาอุปกรณ์ที่ทำงานในเครือข่ายโดยการส่งชุดของ ARP broadcasts และเพิ่มค่าของฟิลด์ที่บรรจุ IP address ของเป้าหมายในแต่ละ broadcast packet การ scan ชนิดนี้จะได้รับผลตอบสนองจากอุปกรณ์ที่มี IP บนเครือข่ายออกมาในรูปแบบของ IP address ของแต่ละอุปกรณ์ การ scan แบบนี้จึงทำการ map out ได้ทั้งเครือข่ายอย่างมีประสิทธิภาพ

2.The Vanilla TCP connect scan เป็นเทคนิคการ scan แบบพื้นฐานและง่ายที่สุด คือจะใช้ connect system call ของระบบปฏิบัติการไปบนระบบเป้าหมายเพื่อเปิดการเชื่อมต่อไปยังทุก ๆ พอร์ตที่เปิดอยู่ การ scan ชนิดนี้สามารถจับได้ง่ายมาก โดยล็อก (log) ต่าง ๆ ของระบบที่เป็นเป้าหมายจะแสดงการร้องขอการเชื่อมต่อ (connection requests ) และข้อความแสดงข้อผิดพลาด (error messages) สำหรับบริการที่ตอบรับการเชื่อมต่อนั้น

3.The TCP SYN (Half Open) scans เทคนิคนี้บางครั้งถูกเรียกว่า half open เพราะว่าระบบที่ทำการโจมตีไม่ได้ปิดการเชื่อมต่อที่ได้เปิดไว้ scanner จะส่ง SYN packet ไปยังเป้าหมายและรอการตอบสนอง ถ้าพอร์ตถูกเปิดไว้เป้าหมายก็จะส่ง SYN/ACK กลับมา แต่ถ้าพอร์ตถูกปิดอยู่ เป้าหมายก็จะส่ง RST กลับมา วิธีการ scan รูปแบบนี้ยากต่อการตรวจจับ ปกติเครื่องที่เป็นเป้าหมายจะทำหน้าที่ปิดการเชื่อมต่อที่เปิดไว้ และส่วนใหญ่จะไม่มีระบบการล็อกที่เหมาะสมในการตรวจจับการ scan ชนิดนี้

4.The TCP FIN scan เทคนิคนี้สามารถที่จะทะลุผ่านไฟล์วอลล์ ส่วนใหญ่, packet filters , cละโปรแกรมตรวจจับการ scan ไปได้โดยไม่ถูกตรวจพบ เพราะระบบที่ทำการโจมตีจะส่ง FIN packets ไปยังระบบของเป้าหมาย สำหรับพอร์ตต่าง ๆ ที่ปิดอยู่จะตอบสนองกลับไปด้วย RST ส่วนพอร์ตที่เปิดจะไม่สนใจ packets เหล่านั้นเลย ดังนั้นเครื่องที่ทำการโจมตีก็จะได้ข้อมูลว่ามันได้รับ RST จากพอร์ตไหนบ้างและไม่ได้ RST จากพอร์ตไหนบ้าง

5.The TCP Reverse Ident scan เป็นเทคนิคที่สามารถตรวจหาชื่อของเจ้าของแต่ละโพรเซสที่เป็นการเชื่อมต่อด้วย TCP บนเครื่องเป้าหมาย การ scan ชนิดนี้จะทำให้ระบบที่ทำการโจมตีสามารถเชื่อมต่อเข้าไปยังพอร์ตที่เปิดอยู่และใช้ ident protocol ในการค้นหาว่าใครเป็นเจ้าของโพรเซสบนเครื่องเป้าหมายได้

6.The TCP XMAS ถูกใช้เพื่อหาพอร์ตบนเครื่องเป้าหมายที่อยู่ในสถานะ listening โดยจะส่ง TCP packet ที่มี flag เป็น URG, PSH และ FIN ใน TCP header ไปยังพอร์ตของเครื่องเป้าหมาย ถ้าพอร์ต TCP ของเครื่องเป้าหมายปิดอยู่ พอร์ตนั้นก็จะส่ง RST กลับมา แต่ถ้าพอร์ตเปิดอยู่ก็จะไม่สนใจ packet นั้นเลย

7.The TCP NULL scan เทคนิคนี้จะส่ง TCP packet ที่มี sequence number แต่ไม่มี flag ออกไปยังเครื่องเป้าหมาย ถ้าพอร์ตปิดอยู่จะส่ง กลับมา RST packet กลับมา แต่ถ้าพอร์ตเปิดอยู่ ก็จะไม่สนใจ packet นั้นเลย

8.The TCP ACK scan เป็นเทคนิคที่ใช้ค้นหาเว็บไซต์ที่เปิดบริการอยู่ แต่ปฏิเสธการตอบสนองต่อ ICMP ping หรือค้นหากฎ (rule) หรือนโยบาย ( policy) ต่าง ๆ ที่ตั้งไว้ที่ไฟล์วอลล์เพื่อตรวจสอบดูว่าไฟล์วอลล์สามารถกรอง packet อย่างง่าย ๆ หรือเทคนิคชั้นสูง โดยการ scan แบบนี้จะใช้ TCP packet ที่มี flag เป็น ACK ส่งไปยังพอร์ตเครื่องปลายทาง ถ้าพอร์ตเปิดอยู่ เครื่องเป้าหมายจะส่ง RST กลับมา แต่ถ้าปิดอยู่ก็จะไม่สนใจ packet นั้น

9.The FTP Bounce Attack ใช้โพรโตคอล ftp สำหรับสร้างการเชื่อมต่อบริการ ftp ของ proxy วิธีการ scan แบบนี้ ผู้โจมตีจะสามารถซ่อนตัวอยู่หลัง ftp server และ scan เป้าหมายอื่น ๆ ได้โดยไม่ถูกตรวจจับ ดังนั้น ftp servers ส่วนใหญ่จะมีการ disable บริการของ ftp เพื่อความปลอดภัยของระบบ

10.The UDP ICMP port scan ใช้โพรโตคอล UDP ในการ scan หาพอร์ตหมายเลขสูง ๆ โดยเฉพาะในระบบ Solaris แต่จะช้าและไม่น่าเชื่อถือ

11.The ICMP ping-sweeping scan จะใช้คำสั่ง ping เพื่อกวาดดูว่ามีระบบไหนที่เปิดใช้งานอยู่ เครือข่ายส่วนใหญ่จึงมีการกรองหรือ disabled

โพรโตคอล ICMP เพื่อความปลอดภัยของระบบ
________________________________________

เทคนิคการ Ping Sweep

ในบทความต่อไปนี้ ผมจะมุ่งประเด็นเกี่ยวกับเรื่องการแสกนว่ามีเรื่องไหนยัง login อยู่หรือกำลังใ้ช้งาน และ port ต่างที่เครื่องเหยื่อไ้ด้เิปิดเอาไว้ จากบทความของผม เวลาุคุณจะต้องสนใจเครื่องของเหยื่อที่ port 139 กับ 445 เท่านั้น เพราะเ็ป็นส่วนจำเป็นในการ Hack Window

คือการ ping ไปยังเครื่องเป้าหมายที่จำนวนมากๆ ในวง Network ที่คุณใช้อยู่ หรือวง lan นั่นเอง (ใน Internet ก็ใช้ได้) โดยแสกนพร้อมๆกัน คล้ายกับการกราดยิง เพื่อตรวจสอบว่าเครื่องปลายทางได้เปิดอยู่หรือไม่ก็ตาม เช่นคุณมี IP x.y.z.6 ตรง x.y.z อาจเป็นตัวเลขใดๆก็ได้ แต่เลข 6 คือเลขชุดหลังของ ip คุณ เวลาคุณแสกนหาให้เขียนลงไปดังนี้ x.y.z.0/24 จากตรงเลข 6 เปลี่ยนเป็น 0/24 หมายความว่าเป็นการแสกน IP ตั้งแต่ x.y.z.1- x.y.z.255
ยกตัวอย่าง


สมมติคุณกำลังต่อเน็ต หรือกำลังใช้คอมอยู่ในวงแลน ให้คุณเิดหน้าต่างดอสขนึ้มา (หรือ Start > Run พิมพ์ cmd.exe) พอหน้าต่างดอสขนึ้มาให้คุณพิมพ์ ipconfig แล้วกด Enter


172.16.66.1 ถึง 172.16.66.225 ครับผม แต่เวลาแสกนถ้าคุณมากำหนดเป็นตัวเลขอาจต้องพิมพ์แบ่งช่วงเอาเอง แต่ถ้าคุณจะแสกน port ทั้งวงแลน คือ แสกนมันทุกเครื่องในวงแลนเลย เวลาคุณกำหนด IP ก็ต้องใ้คำสั่งกำหนด เป็น 172.16.66.0/24 โดยปรกติ ถ้าคุณใช้คำสั่ง ping ธรรมดา จะมีการส่ง ICMP ECHO (Type 8) ออกไปยังเครื่องปลายทางและรอคอย ICMP ECHO_REPLY (Type 0) ส่งกลับมา ถึงแม้ ping จะมีประโยชน์ในการทดสอบว่าเครื่องปลายทางนั้นเปิดอยู่หรือไม่ก็ตาม แต่มันจะเหมาะกับ Network ขนาดเล็กและขนาดกลางเท่านั้น ซึ่งถ้ามาใช้ในใน Network ขนาดใหญ่อย่าง Internet มักจะใช้ได้ไม่มีประสิทธิภาพ โดยใช้ –sP เป็นการ ping scan (กรณีนี้ผมไ้ด้ เอาโปรแกรม nmap มาแตกใส่ไว้ที่ไดร์ฟ C:)


C:>nmap –sP 172.16.66.0/24

คำสั่งนี้จะใช้ได้เมื่อคุณได้อยู่ในวง Network เดียวกับคุณ หรือ วงอื่น ซึ่งจะแสกนวงเดียวกับคุณ IP 172.16.66.0 – 172.16.66.255 หมายถึง คุณต้องมี IP ที่อยู่ระหว่าง 172.16.66.0 – 172.16.66.255 ถึงจะใช้คำสั่งนี้ได้ เช่นคุณมี IP = 172.16.66.216 สังเกตเลขชุดสุดท้ายที่อยู่หลังจุดให้ดีๆ อาจเป็นเลขอะไรก็ได้ จาก 1-255 ถึงจะใช้ 0/24 แทน หรือ

C:>nmap –sP 172.16.66.11-172.16.66.20

คำสั่งนี้จะแสกนเครื่องที่อยู่ในวง Network ที่มี IP ระหว่าง 172.16.66.11 - 172.16.66.20

C:>nmap –sP 172.16.66.* หรือ C:>nmap –sP 172.16.66.0/24

คำสั่งนี้จะแสกนเครื่องที่อยู่ในวง Network ที่มี IP 172.16.66.1 ถึง 172.16.66.255

โดยปรกติ ถ้าคุณใช้คำสั่ง ping ธรรมดา จะมีการส่ง ICMP ECHO (Type 8) ออกไปยังเครื่องปลายทางและรอคอย ICMP ECHO_REPLY (Type 0) ส่งกลับมา ถึงแม้ ping จะมีประโยชน์ในการทดสอบว่าเครื่องปลายทางนั้นเปิดอยู่หรือไม่ก็ตาม แต่มันจะเหมาะกับ Network ขนาดเล็กและขนาดกลางเท่านั้น ซึ่งถ้ามาใช้ในใน Network ขนาดใหญ่อย่าง Internet มักจะใช้ได้ไม่มีประสิทธิภาพ โดยใช้ –sP เป็นการ ping scan เพื่อเป็นการตรวจสอบว่ามีเครื่องใดกำลัง logon อยู่



nmap –sP 203.118.98.0/24


คำสั่งนี้จะใช้ได้เมื่อคุณได้อยู่ในวง Network เดียวกับคุณ หรือ วงอื่น ซึ่งจะแสกนวงเดียวกับคุณ IP 203.118.98.0 – 203.118.98.255 หมายถึง คุณต้องมี IP ที่อยู่ระหว่าง 203.118.98.0 – 203.118.98.255 ถึงจะใช้คำสั่งนี้ได้ เช่นคุณมี IP = 203.118.98. 10 สังเกตเลขชุดสุดท้ายที่อยู่หลังจุดให้ดีๆ อาจเป็นเลขอะไรก็ได้ จาก 1-255 หรือจะใช้ 0/24 แทน หรือ

nmap –sP 203.118.98.11-203.118.98.20

คำสั่งนี้จะแสกนเครื่องที่อยู่ในวง Network ที่มี IP ระหว่าง 203.118.98.11 - 203.118.98.20

nmap –sP 203.118.98.* หรือ C:>nmap –sP 203.118.98.0/24

คำสั่งนี้จะแสกนเครื่องที่อยู่ในวง Network ที่มี IP 203.118.98.1 ถึง 203.118.98.255

(เครื่องมือ nmap นี้ จะเป็นการหาแบบละเอียด เมื่อเทียบกับโปรแกรมอื่น แต่อาจใช้เวลานานกว่า)



เทคนิคการแสกนหลบ เมื่อเครื่องปลายทาง block ICMP

จะเป็นการ Ping Sweep ขั้นสูงที่เรียกว่า TCP Ping scan โดยการใช้พารามิเตอร์ –PT พร้อมกับระบุหมายเลข port ต่างๆเข้าไป ซึ่งการระบุเลข port นั้นจะต้องทราบว่าเครื่องส่วนใหญ่นั้นจะต้องเปิดเอาไว้เพื่อติดต่อสื่อสารกับเครื่องอื่นๆ เช่น http 80 , SMTP 25 , POP 110 , IMAP 143 และอื่นอีกมาก ซึ่งปรกติจะต้องเปิดไว้คือ http 80 ซึ่งอาจทะลุผ่าน firewall ได้ถ้ามีการกำหนด firewall ได้ไม่ดี

nmap –sP –PT 80 203.118.98.0/24

ตรงเลข 80 ที่ผมได้ทำสีไว้เป็นการแสกนผ่านทาง http 80 ซึ่งอาจเปลี่ยนเป็นเลข port อื่นๆได้ตามที่ได้กล่าวมาด้านบนซึ่ง port ต่างๆที่ได้ใส่ไปก็คือการหา service นั่นเอง SMTP 25 , POP 110 , IMAP 143

nmap –sP –PT 25 203.118.98.0/24 เป็นการหาว่าเครื่องในวงแลนคุณเครื่องไหนเปิด SMTP 25

nmap –sP –PT 110 203.118.98.0/24 เป็นการหาว่าเครื่องในวงแลนคุณเครื่องไหนเปิด POP 110

nmap –sP –PT 143 203.118.98.0/24 เป็นการหาว่าเครื่องในวงแลนคุณเครื่องไหนเปิด IMAP 143



เทคนิคการแสกนแบบ TCP FIN scan

เทคนิคนี้สามารถที่จะทะลุผ่านไฟล์วอลล์ ส่วนใหญ่ และมีการเก็บผลลัพธ์ไว้ในไฟล์ text

nmap –sF 203.118.98.0/24 –oN output.txt

จากบรรทัดบน –sF เป็นการแสกนแบบ Stealth FIN รายละเอียดให้ดูรูปประเภทการแสกนที่อยู่ช่วงแรกๆ และพารามิเตอร์ –o เป็นการบันทึกผลลงเป็นไฟล์ ส่วน N หลัง –o ตรง (-oN) หมายถึงให้บันทึกในรูปแบบที่อ่านเข้าใจได้โดยโปรแกรมจะสร้างไฟล์ output.txt หรือถ้าคุณต้องการบันทึกเพื่อจะนำไปใช้กับโปรแกรมอื่นๆ ให้ระบุเป็น พารามิเตอร์ –oM แทน

ผมเหนื่อยแระ ขี้เกียจทำเป็็นหัวข้อ

________________________________________

คุณอาจใช้ Option + Parameter อื่นๆ ผสมผสานกันได้ โดยประยุกต์จากตัวอย่างต่างๆที่ผมได้ทำเป็นตัวอย่างดังที่เห็นอยู่ ซึ่งจะทำให้การใช้งานเครื่องมือนี้ มีประสิทธิภาพมากขึ้น ในการแสกนหาเครื่องเหยื่อ ในโปรแกรม Nmap ได้อย่างลงตัวกับสถานะการณ์ (แต่ต้องหัดเอาเองบ้างนะ) ซึ่งผลจากการแสกนต่างๆนั้นรับรองได้้เลยว่าโปรแกรมอื่นคงทำไม่ได้อย่างโปรแกรมนี้ แต่มันก็ยากในการใช้งาน เพราะ Option ในตัวโปรแกรมช่างเยอะเหลือเกิน จะถอดใจตอนนี้ก็ยังไม่สายนะ ดูชื่อเว็บที่ผมตั้งสิ กรรมกรไซเบอร์ มันก็ต้องออกแรงกันหน่อย และสำหรับคนที่ยังไม่ถอดใจ ผมก็จะมีตัวอย่าง และ Tip เด็ดๆให้อีกเล็กๆน้อยๆ

Nmap มีความสามารถในการหลอก firewall เครื่องปลายทาง โดยการส่งแพ็คเก็ตปลอมจำนวนมากที่ไม่เกี่ยวข้องกับการแสกนเข้าไปในระบบ ด้วยการใช้พารามิเตอร์ –D และขณะเดียวกันก็ทำการแสกนจริงๆไปด้วย และด้วยการเพิ่มความยากในการตรวจจับ สามารถปลอม IP ADDRESS ของ server อื่นที่มีอยู่จริง แต่ถ้า IP ADDRESS ที่ปลอมนั้นไม่มีอยู่จริงๆ การแสกนของคุณจะเป็นการทำ SYN Flood ซึ่งไปเข้าเงื่อนไขการโจมตีระบบด้วย Denial of Service (การทำให้ Network ล่ม คือทำให้การรับส่งข้อมูลใน Network คับคั่งหรือที่เห็นง่ายๆก็คือ เน็ตจะช้า หรือเครื่องอาจหลุดจาก Internet ได้) วิธีดูจากข้างล่างนี้

nmap –sS 203.118.98.110 –D 203.114.234.5

-sS เป็นการแสกนแบบ TCP SYN scan 192.16.81.110 เป็น IP เครื่องเป้าหมายที่คุณจะแสกน และส่วนที่ตามหลัง Option –D คือ IP 203.114.234.5 เป็น IP Server ของอะไรก็ได้เช่น yahoo , sanook ซึ่งจะหา IP นี้ได้โดยการ เปิด ดอส ขึ้นมาแล้วพิมพ์ c:\ping www.yahoo.com เท่านี้คุณก็จะได้ IP Server จริงๆ ที่จะนำมาใช้ในคำสั่งนี้ แต่ถ้าคุณเอา ไอพีมามั่วๆ จะเป็น เข้าเงื่อนไขการโจมตีระบบด้วย Denial of Service

nmap –O 203.121.148.18

คำสั่งบนนี้ จะเป็นการหาข้อมูลจากเครื่องที่ มี IP 203.121.148.18 ว่ามีการเปิดที่ Port ไหนบ้าง และใช้ระบบปฏิบัติการอะไร แต่การแสกนอาจใช้เวลานาน ถ้าคนที่ใจร้อนอาจหันไปพึ่งโปรแกรมอื่น ผมก็ไม่ว่าอะไรครับ แต่ขอบอก โปรแกรมนี้ แสกนได้แม่นยำกว่าโปรแกรมอื่นอยู่มากทีเดียว

nmap –p80 –O 203.121.148.18

คำสั่งบนนี้ เป็นการใช้ option –p เข้ามาช่วยหา ในกรณีที่เครื่องเหยื่อได้เปิด port 80 เอาไว้



การประยุกต์ใช้งานอื่นๆ

nmap –sS –p 25,80,135-139,455 –n 203.118.98.110

จากคำสั่งบนนี้ เป็นการแสกนไปที่เครื่อง 203.118.98.110 ไปที่ port 25 , port 80 , port 135 , 136 ,137 , 138 ,139 , port 455 ว่าเปิดอยู่หรือไม่

nmap –sS –O 203.118.98.110

จะเห็นว่าคำสั่งนี้ คลอบคลุมกว่า 2 คำสั่งด้านบน ยิ่งถ้าคุณได้เพิ่ม Option –p แล้วใส่ port ที่ต้องการแสกนได้อีกด้วยครับ แต่บางที Option –sS อาจหลบ Firewall ไม่ได้

Option –T 4 เป็นอีก option ที่น่าสนใจเป็นอย่างมาก คุณลองใช้ option ลงไปร่วมกับ option อื่นได้ จะช่วยให้การแสกนนั้นรวดเร็วยิ่งขึ้นครับเช่น

nmap –sS –O –T 4 203.118.98.110

nmap –sP –PT80 –T 4 203.118.98.0/24

การแสกนตรวจประเภท Firewall

nmap –sW 203.118.98.110 และคำสั่ง nmap –sA 203.118.98.110

คำสั่งบนนี้ เป็นการตรวจสอบ Firewall ว่าเป็นประเภทไหน ในเครื่องที่มี IP 203.118.98.110 ทั้ง 2 Option นี้อาจเป็นตัวที่ใช้เจาะเครื่องที่มี firewall ป้องกัน เพื่อที่จะดูว่า จริงๆแล้วเปิด port อะไรบ้าง เพราะเราจะสามารถรู้ ระบบปฏิบัติการในเครื่องที่เราแสกนได้ จาก port ที่ได้เปิด

ในแต่ละเครื่อง ใน Internet คุณไม่สามารถไปดูที่หน้าจอได้ จึงยากต่อการรู้ว่า เครื่องนั้นๆ ใช้วินโดว์หรือ unix หรือ Linux เพราะฉนั้น คุณต้องดู port จากเครื่องเป้าหมาย แต่โปรแกรมแสกนธรรมดา จะไม่สามารถแสกน port ได้จากเครื่องที่ได้ติดตั้ง Firewall (แต่จริงๆ ก็เปิด port อยู่) จึงต้องใช้โปรแกรม nmap แสกน เพราะสามารถหลบ Firewall ได้

Window Port Default ข้างล่างนี้เป็น port มาตรฐาน ที่ Win มักจะเปิด และเราจะรู้ได้ หรือเดาได้ว่าใช้อะไร

Win 98/me 139

Win 2000/xp 139 – 445

Win 2000 Server 53 – 88 - 139 – 445

ส่วน UNIX / LINUX คุณจะเห็นความแตกต่าง port ที่เปิดเองครับ จะไม่เหมือน Window แน่นอนครับ
nmap –I ....IP....

อีก option ที่คุณน่าลองดู ว่าจะเกิดอะไรครับผม

การแฮกเกอร์

การแกะรอย
ในวินโดว์นั้น การแกะรอยต่างๆจากเครื่องอื่นๆในวงแลนหน่วยงานก็ตาม หรือจะเป็นใน Internet ก็ตามทีรวมไปถึง Website ต่างๆ คุณจำเป็นต้องอาศัยเครื่องมือต่างๆ(โปรแกรม) ซึ่งถ้าเก๋าหน่อยคุณสามารถที่จะเปิดดอสมาแล้วพิมพ์ก็ได้แล้ว แต่ถ้าไม่เก๋าจริงๆก็ควรหาโปรแกรมต่างๆมาใช้งาน ซึ่งโปรแกรมสมัยนี้การใช้งานและแสดงผลต่างๆ ดูง่ายต่อความเข้าใจ เรามาเริ่มทำความเข้าใจก่อนเกี่ยวกับพื้นฐานนะครับ


บทนำ

การที่ผู้บุกรุกจะกระทำการใดๆ กับเป้าหมายนั้น ส่วนใหญ่มักจะต้องมีกระบวนการในการสะสมข้อมูลเกี่ยวกับเป้าหมายนั้นๆ ก่อน จากนั้นจึงจะลงมือบุกรุกเข้าไปยังเป้าหมายที่ต้องการ และถ้าทำได้สำเร็จผู้บุกรุกอาจจะติดตั้งซอฟแวร์บางตัวเพื่อซ่อนร่องรอยหรือติดตั้ง backdoor ไว้ในระบบ เพื่อจะได้เข้ามาใช้งานได้ง่ายๆ ในครั้งต่อไป

ในขั้นตอนของการหาข้อมูลของเครื่องเป้าหมายนั้น ผู้บุกรุกจำเป็นต้องทราบว่าเครื่องเป้าหมายนั้น service อะไรอยู่บ้าง และถ้าได้ข้อมูลของ network topology และระบบปฏิบัติการด้วยแล้วก็จะเป็นข้อมูลที่มีประโยชน์มาก มีเครื่องมือหลายตัวและมีหลายวิธีในการตรวจสอบ network topology และ service ของเครื่องเป้าหมาย Firewalk ก็เป็นอีกเครื่องมือหนึ่งที่ David Goldsmith และ Michael Schiffman สร้างขึ้นมา โดยลักษณการทำงานจะคล้ายๆ กับ traceroute เพื่อใช้ตรวจสอบว่ามี service อะไรที่ไฟร์วอลล์เปิดให้ผ่านเข้าไปได้ และใช้ตรวจสอบ access control ได้ด้วย

***โดยส่วนใหญ่แล้วไฟร์วอลล์มักจะถูกคาดหวังจากผู้ใช้งานว่า จะเป็นตัวที่ทำหน้าที่ปกป้องเครือข่ายจากโลกภายนอก แต่ Firewalk ก็ได้แสดงให้เห็นแล้วว่าไม่ได้เป็นเช่นนั้นเสมอไป ผู้บุกรุกยังมีโอกาสในการหาข้อมูลเกี่ยวกับเป้าหมายมากกว่าที่เราคาดการณ์ไว้ และในการที่จะทำความรู้จักกับหลักการทำงานของ Firewalk จะต้องเข้าใจ traceroute เสียก่อน

Traceroute

คำสั่ง tracert (Windows) หรือ traceroute (*NIX) เป็นเครื่องมือช่วยในการตรวจสอบเครือข่าย โดยจะแสดง IP ของ router หรือ gateway ที่ packet วิ่งผ่านจากที่หนึ่งไปยังอีกเครือข่ายหนึ่งทีละ hop โดย traceroute ใช้คุณสมบัติของ IP Time To Live (TTL) ในการทำงาน

TTL ถูกนำไปใช้ในโปรโตคอล IP เพื่อป้องการการเกิดลูปที่ไม่รู้จบจากการวนของ pakcet โดยในแต่ละ device ที่ได้รับ packet จะลดค่าของ TTL ลงทีละ 1 และถ้า TTL มีค่าเป็นศูนย์หรือน้อยกว่า packet นั้นจะถูก drop ไป และ router ก็จะส่งข้อมูล ICMP "TTL Exceed in Transit" กลับมายังเครื่องที่รันคำสั่งนี้

Traceroute ใช้หลักการนี้ในการทำงาน โดยมันจะกำหนดค่า TTL counter ที่ทำให้ router ที่ packet ผ่านไปนั้นต้องสร้าง ICMP message กลับมาเสมอ สำหรับคำสั่ง tracert ใน Windows นั้น จะใช้ ping (ICMP Echo) เป็นตัวส่ง packet ออกไป ในขณะที่ traceroute ใน Unix นั้น จะใช้ UDP datagram เป็นตัวส่งข้อมูลออกไป datagram ที่ถูกส่งออกไปนั้นจะถูกส่งไปยัง port 33434 โดยดีฟอลต์ และ ค่าหมายเลข port นี้จะถูกเพิ่มขึ้นเมื่อได้รับ packet ที่ตอบกลับมาอย่างถูกต้อง โดยปกติแล้ว traceroute มักจะส่ง datagram ออกไปจำนวน 3 datagram เพื่อป้องกันการสูญหายระหว่างทาง

ด้านล่างนี้แสดงตัวอย่างการใช้ tracert.exe ใน Windows



เมื่อไฟร์วอลล์ถูกติดตั้งให้ไม่ตอบสนองต่อ traceroute และ ping จากโลกภายนอก เพื่อป้องกันไม่ให้ผู้บุกรุกเก็บข้อมูลของเครือข่ายภายในได้ ตัวอย่างด้านล่างนี้แสดงถึงผลลัพธ์ที่ได้จาก tracert.exe เมื่อถูกป้องกัน traffic ของ ping โดยไฟร์วอลล์หรือ router


จากตัวอย่างแสดงให้เห็นว่า ไม่สามารถ trace ได้อย่างสมบูรณ์ และจะได้รับ timeout message เมื่อคำสั่ง ping ถูก drop โดยปลายทาง และให้คุณสังเกตุแต่ละ hop (จากตัวอย่างได้ 11 hob) ถ้าคุณใช้คำสั่ง nslookup และตามด้วย IP ของแต่ละ hob คุณก็จะทราบว่า ก่อนที่เครื่องของคุณจะไปถึงเว็บ vanguard.com นั้นต้องผ่านที่ไหน ประเทศไหนบ้าง เราพิมพ์ไอพีแอดเดรสลงไป ในที่นี้เราพิมพ์ 203.94.12.01 (ซึ่งเป็นไอพีที่ผมต้องการหา)


$>nslookup 203.94.12.01

คุณจะเห็นผลลัพธ์ออกมาเป็น: mail2.nol.net.in ในตอนนี้ถ้าคุณดูที่ชื่อ hostname ที่เปลี่ยนมาจากไอพีแอดเดรสอย่างตั้งใจ จะเห็นได้ว่าส่วนหลังสุดจะบอกถึง ประเทศที่ระบบนั้นตั้งอยู่ จากตัวอย่างคุณเห็น '.in' ซึ่งบอกว่าระบบนี้อยู่ในประเทศอินเดีย ทุกประเทศมีรหัสประเทศของตัวเองซึ่งจะเห็นได้บ่อยมากกว่าชื่อท้ายสุดที่ไม่ใช่รหัสประเทศ วิธีนี้สามารถใช้เพื่อค้นหาว่าคน ๆ นั้น อยู่ในประเทศใหนถ้าคุณรู้อีเมลของเขา เช่น ถ้าคนนั้นมีที่อยู่อีเมลลงท้ายด้วย .ph แสดงว่าเขาอาจจะอาศัยอยู่ใน ประเทศฟิลิปปินส์ ประเทศอื่น ๆ ก็ทำนองเดียวกันนี้ รหัสประเทศ โดยทั่ว ๆ ไปเช่น:


ประเทศ รหัสประเทศ


ฟิลิปปินส์ .ph

ออสเตรเลีย .au

อินโดนีเซีย .id

อินเดีย .in

ญี่ปุ่น .jp

อิสราเอล .il

สหราชอาณาจักร .uk

รายการรหัสประเทศที่ครบสมบูรณ์ดูได้ที่: http://www.alldomains.com/ และ http://www.iana.org/domain-names.html

รายการรหัสรัฐต่าง ๆ ของสหรัฐ ฯ ดูที่: http://www.usps.gov/ncsc/lookups/abbr_state.txt

ผู้ที่ใช้วินโดวส์สามารถแปลงไอพีให้เป็น hostname ได้โดยการดาวน์โหลดยูทิลิตี้ที่ชื่อ Samspade จาก http://www.samspade.com/

อีกวิธีการหนึ่งที่ใช้หาที่อยู่ทางภูมิศาสตร์ของระบบคอมพิวเตอร์ที่ตรงจุดจริง ๆ คือการใช้ ฐานข้อมูล WHOIS เป็นฐานข้อมูลหลักที่ประกอบด้วยข้อมูลหลากหลายเช่นข้อมูลสำหรับการติดต่อ ชื่อ ผู้ที่เป็นเจ้าของโดเมนนั้น หาข้อมูลโดยการใส่ hostname ลงไป แล้วบริการนี้จะบอกข้อมูลที่อยู่ในฐานข้อมูลออกมา

วิธีนี้สามารถใช้เพื่อหาข้อมูลที่ถูกต้องเกี่ยวกับไอพี หรือ hostname ที่ต้องการ อย่างไรก็ตามมันอาจจะไม่มี ประโยชน์ถ้าคุณพยายามหาสถานที่ตั้งที่แท้จริงของผู้ใช้ไอพีแบบ dynamic IP แต่อย่างน้อยวิธีนี้สามารถใช้ เพื่อหาเมืองที่ไอเอสพีนั้นอยู่ได้


คุณสามารถใช้บริการ WHOIS ที่ http://www.alldomains.com/ นอกจากนี้คุณสามารถป้อนชื่อ hostname เข้าไปในบราวเซอร์ของคุณเพื่อใช้บริการ WHOIS โดยใช้ URL นี้: http://205.177.25.9/cgi-bin/whois?abc.com โดยเปลี่ยนชื่อ abc.com เป็นชื่อโดเมนที่คุณต้องการถามข้อมูลโดยใช้ WHOIS

วิธีนี้ไม่สามารถใช้เพื่อหาที่อยู่ที่สามารถติดต่อได้ ของบุคคลที่ต้องการค้นหา ถ้าไอพีที่คุณใช้เพื่อหาเขาเป็นของไอเอสพีของเขา ดังนั้นคุณจำเป็นต้องรู้ชื่อโดเมน (ซึ่งลงทะเบียนโดยใช้ชื่อของเขา) หรือไม่ก็รู้ได้เพียงแต่เมือง (และไอเอสพี) ที่ใช้โดยบุคคลนั้น

ถ้าบุคคลนั้นลงทะเบียนชื่อโดเมน และคุณต้องการใช้มันเพื่อค้นหาว่าเขาอยู่ในเมืองไหน สิ่งที่ควรสังเกตในกรณีนี้ คือถ้าบุคคลนั้นลงทะเบียนชื่อโดเมนที่ใช้บริการฟรี เช่น Namezero.com ดังนั้นชื่อโดเมนอาจจะลงทะเบียน โดยใช้ชื่อของบริษัทนั้นและไม่ใช่ชื่อของบุคคลที่เราต้องการค้นหา ฉะนั้นการใช้บริการ WHOIS จะให้ข้อมูล เกี่ยวกับไอเอสพีไม่ใช่บุคคลที่เราต้องการค้นหา

ข้อสังเกต: บริการ WHOIS โดยค่าเริ่มต้นจะรันอยู่ที่พอร์ต 43 ของระบบนั้น ลองใช้บริการโดยการ telnet ไปที่พอร์ต 43 และลองพิมพ์ค้นหา ผมไม่เคยลอง แต่มันต้องสนุกแน่ ๆ

Firewalking

ไฟร์วอลล์จะเป็นตัวหยุดยั้ง traceroute packet และจะไม่ยินยอมให้ traceroute packet ผ่านไปยังเครื่องเป้าหมาย วิธีการทำงานของ firewalking นั้น ใช้พื้นฐานที่ว่า ถ้าไฟร์วอลล์อนุญาตให้ traffic ชนิดใดผ่านไปได้ firewalking ก็จะส่ง packet ชนิดนั้นๆ ผ่านเข้าไป เช่น ถ้าไฟร์วอลล์อนุญาตให้ UDP port 53 (DNS queries) ผ่านเข้าไปยัง DNS server ที่ตั้งอยู่ภายในเครือข่ายนั้นๆ ผู้บุกรุกก็สามารถส่ง UDP port 53 พร้อมกับค่า TTL ของ hop ถัดไป เพื่อให้ผ่านไฟร์วอลล์เข้าไปได้ และได้ข้อมูลกลับออกมา และเนื่องจาก traceoute ถูกออกแบบให้ใช้งานฟิลด์ TTL ซึ่งทำงานบน IP protocol (network layer) ดังนั้นมันจึงสามารถใช้งานได้กับ upper layer protocol อื่นๆ ได้ เช่น UDP, TCP, ICMP ดังนั้นจึงทำให้สามารถตรวจสอบ service ที่เปิดให้บริการหลังไฟร์วอลล์ได้

สรุป

เราสามารถหยุดการใช้งาน Firewalking ได้โดยการบล็อค TTL Exceeded in Transit packet ขาออกที่ไฟร์วอลล์ หรือใช้ NAT (Network Address Translation) เพื่อซ่อน IP address ของโฮสต์ภายในเครือข่าย

สิ่งที่บทความนี้ต้องการจะเน้นย้ำก็คือ การใช้ระบบป้องกันเพียง layer เดียวนั้นไม่เพียงพอแล้วในปัจจุบัน และเราก็ไม่สามารถที่จะไว้วางใจไฟร์วอลล์ได้ว่าจะสามารถปกป้องเครือข่ายจากการหาข้อมูลของบรรดาผู้บุกรุกได้ ดูเหมือน host based detection จะเป็นตัวช่วยที่ดีอีกทางหนึ่งได้เช่นกัน นอกจากนี้ network intrusion detection system (NIDS) ก็ยังสามารถเป็นหูเป็นตาให้ผู้ดูแลระบบได้ด้วย

ดังนั้นการใช้ multiple layers สำหรับการทำ overlapping security นั้นเป็นสิ่งที่จำเป็นอย่างยิ่ง ผู้ที่มีหน้าที่เกี่ยวกับเรื่องนี้ในแต่ละองค์กรควรตระหนัก และหาทางนำเทคโนโลยีที่มีอยู่ในปัจจุบันไปประยุกต์ใช้เพื่อให้เกิดประโยชน์สูงสุด

________________________________________

แบบโปรแกรมที่แสดงผลเป็น Graphic

ให้คุณหาโปรแกรมกันเอาเองนะครับ โปรแกรม VisualRoute ซึ่งจะแสดงผลเป็นรูปภาพ ง่ายต่อการที่จะเข้าใจ แถมมีรูปแผนที่ให้คุณได้ดููอีกด้วยครับ


จากภาพตัวอย่างคุณสามารถเห็นเส้นทางการเดินทางของ packet ในแต่ละ hop ได้โดยง่าย คืออย่าคุณจะเข้าไปดูที่เว็บไหนสักแห่งหนึ่งนั้น เครื่องคุณต้องไปผ่านประเทศไหนบ้าง เมืองอะไร คือคุณไม่ต้องอาศัยเทคนิคหรือความเข้าใจในคำสั่ง tracert ,whois , nslookup มากเท่าไหร่ คุณก็ได้ข้อมูลที่สมบูรณ์มาแล้วด้วยโปรแกรมนี้

วันจันทร์ที่ 30 สิงหาคม พ.ศ. 2553

Firewall

Firewall เป็น เครื่องมือ รักษาความปลอดภัยให้กับเครือ ข่ายภายใน (Intranet) โดยป้องกันผู้บุกรุก


(Intrusion) ที่มาจากเครือ ข่ายภายนอก (Internet) ถ้าผู้บุกรุกมาจากจากเครอื ข่ายภายในระบบนี้จะป้องกันไม่ได้

สิ่งที่ป้องกัน เช่น ไวรัสคอมพิวเตอร์ (Virus), หนอนคอมพิวเตอร์ (Worm), การโจมตีแบบ DoS (Denial of

Service), ม้าโทรจัน (Trojan House), ip spoofing ฯลฯ โดยมีลักษณะการบุกรุก ดังนี้

– Virus จะแย่งใช้หรอื ทำาลายทรัพยากรของคอมพิวเตอร์ เช่น ไฟล์ข้อมูล, แรม ฯ

– Worm จะแย่งใช้ทรัพยากรของคอมพิวเตอร์ เช่น เขียนไฟล์ขยะลงบนฮาร์ดดีสก์ จนทำาให้

ฮาร์ดดีสก์เต็ม ฯ

– DoS จะส่ง Request หรอื เรียกใช้ Service ต่างๆ ไปที่เซิร์ฟเวอร์ จนทำาให้เซิร์ฟเวอร์ล่ม

– Trojan House จะแอบอยู่ในเคร่อื งไคลเอนด์หรอื เซิร์ฟเวอร์ เม่อื ถึงเวลามันจะทำาการเปิดพอร์ตของ

เคร่อื งนั้นให้กับผู้บุกรุก เช่น แฮกเกอร์สามารถรีโหมดเข้ามาควบคุมการทำางานของเคร่อื งนั้น

– ip spoofing การปลอมหมายเลขไอพีต้นฉบับเพ่อื ลักลอบเข้ามาในเครอื ข่าย

Firewall มีทั้งฮาร์ดแวร์และซอฟท์แวร์ ที่เปน็ ฮาร์ดแวร์ เช่น Router ที่ฟังก์ชั่น Screening Device,

Layer 3 Switch ฯ ที่เปน็ ซอฟท์แวร์ เช่น ipchains, iptables

ในการอบรมครั้งนี้จะใช้เคร่อื งคอมพิวเตอร์มีการ์ดเน็ตเวิร์ด 2 แผ่น ที่ติดตั้งลินุกซ์ทะเล 7.0 และใช้

โปรแกรม iptables การ์ดหนึ่งติดต่อกับเครอื ข่ายภายนอกใช้ Public IP ทำาหน้าที่เปน็ Firewall อีกการ์ดหนึ่งติด

ต่อกับเครอื ข่ายภายในใช้ Private IP

Firewall แบ่งออกได้ 3 ประเภท

1. Packet Filtering เปน็ Firewall ระดับพ้นื ฐานมีหน้าที่ตรวจสอบ IP Address และ Port ที่อยู่ต้นทาง

และปลายทาง รวมทั้งกรองแพ็กเกตข้อมูล สามารถแยกแยะประเภทของแพ็กเกตที่เปน็ TCP, UDP ได้

2. Circuit-Level Firewall เปน็ Firewall ประเภท Proxy Server ที่เปน็ ตัวคั่นกลางระหว่างเครอื ข่าย

ภายในกับเครอื ข่ายภายนอก การทำางานจะใช้เทคนิคที่เรียกว่า SPI (Stateful Packet Inspection) หลัก

การทำางานเปน็ แบบเดียวกันกับ Packet Filtering และได้เพิ่มการกำาหนดกฎในการเข้าถึง (Access

Rules) เพ่อื ใช้ในการควบคุมทราฟิก

3. Application Level Firewall เปน็ Firewall ประเภท Proxy Server ที่ทำางานระดับแอพพลิเคชั่น มี

หน้าที่ป้องกันเครอื ข่ายภายในกับเครอื ข่ายภายนอกไม่ให้ติดต่อกันโดยตรง การส่งการร้องขอ

(Request) และการตอบกับ (Response) ต้องผ่าน Proxy Server
Proxy Server จะทำาหน้าที่คั่นกลางระหว่างเครอื ข่ายภายในกับเครอื ข่ายภายนอก โดยมีหลัการทำางานดัง


นี้ เคร่อื งไคลเอ็นด์ต้องการติดต่อกับอินเตอร์เน็ต ก็จะส่งการร้องขอไปที่ Proxy Server จากนั้นตัว Proxy Server

จะแปลง IP Address ของเคร่อื งไคลเอนด์เปน็ IP Address ของ Proxy Server แล้วส่งการรร้องขอนี้ออกไปสู่

อินเตอร์เน็ต และเม่อื มีการตอบกลับจากอินเตอร์เน็ต จะกลับมาที่ Proxy Server จะมีการตรวจสอบว่าข้อมูลที่

ตอบกลับมีสิ่งผิดปกติหร่อื ไม่ ถ้าไม่มีก็จะส่งข้อมูลตอบกลับไปยังเคร่อื งไคลเอนด์ที่ร้องขอมา

รูปแบบการติดตั้ง Firewall

การติดตั้ง Firewall จะต้องติดตั้งให้เหมาะสมถึงจะเปน็ ประโยชน์ เพราะฉะนั้นจำานวนจุดที่ติดตั้งจะขึ้นอยู่

กับการออกแบบเน็ตเวิร์ค (Network Design) ถ้าการออกแบบเน็ตเวิร์คไม่มี DMZ (Demilitarize Zone) ให้

ติดตั้ง Firewall 1 จุด เคร่อื ง Proxy Server จะมีการ์ดเน็ตเวิร์ด 2 แผ่น แต่ถ้าการออกแบบเน็ตเวิร์คมี DMZ ให้

ติดตั้ง Firewall 2 จุด เคร่อื ง Proxy Server จะมีการ์ดเน็ตเวิร์ด 3 แผ่น

โปรแกรมท่หี น้าท่เีป็น Firewall ท่มี าพร้อมกับลินุกซ์ทะเล 7.0 คอื

1. lokkit เหมาะสำาหรับมอื ใหม่

2. iptables เหมาะสำาหรับมอื อาชีพ
เลือกเปิดใช้ไฟร์วอลล์ แสดงว่าลินุกซ์ละเลจะปฏิเสธการใช้บริการทั้งหมดจากเคร่อื งไคลเอนด์ การเปิดการ


ให้บริการ(การอนุญาต) ให้เลอื กรายการที่ต้องการให้มีเคร่อื งหมาย x หน้ารายการที่ต้องการ

ถ้าต้องการให้เคร่อื งไคลเอนด์สามารถใช้บริการโปรแกรมอ่นื ๆ เช่น MySQL และ PostgreSQL ให้เปิด

หน้าจอ Security Level Configuration (เมนู > ปรับแต่งระบบ > Security Level)

วันจันทร์ที่ 14 มิถุนายน พ.ศ. 2553

เทคนิค การออกแบบ Web Site ที่ดี

      ที่มา: www.NetDesign.ac.th

     ก่อนอื่นต้องขอทำความเข้าใจให้ตรงกันก่อนว่า การออกแบบ Web Site นั้นไม่ได้หมายถึงลักษณะน่า

ตาของ Web Site เพียงอย่างเดียว แต่เกี่ยวข้องกับการเริ่มต้นกำหนดเป้าหมายของ Web Site , ระบุกลุ่มผู้ใช้ ,การจัดระบบข้อมูล , การสร้างระบบ Navigation , การออกแบบหน้าWeb , รวมไปถึงการใช้ Graphic , การเลือกใช้สี การจัดรูปแบบตัวอักษร นอกจากนั้นยังต้องคำนึงถึงความแตกต่างของสื่อกลางในการแสดงผล Web Site นั้นด้วย สิ่งเหล่านี้ได้แก่ ชนิดและรุ่นของ Browser ขนาดของหน้าจอมอนิเตอร์ ความละเอียดของสี รวมไป ถึง Plug-in ชนิดต่าง ๆ ที่ผู้ใช้มีอยู่ เพื่อให้ผู้ใช้เกิดความสะดวกและความพอใจที่จะท่องไปใน Web Site นั้น  ดังนั้นทุกสิ่งทุกอย่างใน Web Site ที่มองเห็นและมองไม่เห็นล้วนเป็นผลมาจากกระบวนการออกแบบ Web Site ทั้งสิ้นWeb Site ที่ดูสวยงามหรือมีลูกเล่นมากมายนั้น อาจจะไม่นับเป็นการออกแบบที่ดีก็ได้ ถ้าความสวยงามและลูกเล่นเหล่านั้นไม่เหมาะสมกับลักษณะของ Web Site ด้วยเหตุนี้จึงเป็นเรื่องยากที่จะระบุว่าการออกแบบ Web Site ที่ดีนั้นควรเป็นอย่างไร เนื่องจากไม่มีหลักเกณฑ์ที่แน่นอนที่จะใช้ได้กับทุก Web Site แนวทางการออกแบบบางอย่างที่เหมาะสมกับ Web Site หนึ่งอาจไม่เหมาะกับอีก Web Site หนึ่งก็ได้ ทำให้แนวทางในการออกแบบของแต่ละ Web Site นั้นแตกต่างกันไปตามเป้าหมายและลักษณะของ Web Site นั้น Web Siteบางแห่งอาจต้องการความสนุกสนาน บันเทิง ขณะที่ Web อื่นกลับต้องการความถูกต้อง ความน่าเชื่อถือเป็นหลัก ดังนั้นอาจสรุปได้ว่าการออกแบบที่ดีคือ การออกแบบให้เหมาะสมกับเป้าหมายและลักษณะของ Web Siteโดยคำนึงถึงความสะดวกในการใช้งานของผู้ใช้เป็นหลัก

องค์ประกอบของการออกแบบ Web Site อย่างมีประสิทธิภาพ
ความเรียบง่าย (Simplicity)
ถ้าลองสำรวจ Web Site ของบริษัทใหญ่ ๆ เช่น Adobe , Apple , IBM จะพบว่าWebของบริษัท

เหล่านั้นมีรูปแบบที่เรียบง่าย ไม่ซับซ้อน และใช้งานได้อย่างสะดวก แม้ว่าจะมีข้อมูลใน Web Site นั้นอยู่
มากมาย แต่แทบไม่มีโอกาสเห็น Graphic หรือตัวอักษรที่เคลื่อนไหวอยู่ตลอดเวลา ซึ่งจะรบกวนสายตาและ


สร้างความรำคาญให้แก่ผู้ใช้ ( การใช้ภาพเคลื่อนไหว (Animation ) จะดูหวือหวาและน่าในใจในตอนแรก แต่เมื่อดูบ่อยเข้าและ ตลอดเวลาผู้ใช้จะเริ่มรู้สึกรำคาญได้ ) นอกจากนั้นยังใช้ชนิดและสีของตัวอักษรไม่มากจนเกินไปจนเกิดความสับสน ในส่วนตัวเนื้อหาก็จะใช้ตัวอักษรสีดำบนพื้นสีขาวตามปกติ และไม่มีการเปลี่ยนสีของ Linkให้ลับสนแต่อย่างใด สรูปว่าหลักสำคัญของความเรียบง่ายก็คือ การสื่อเนื้อหาถึงผู้ใช้โดยจำกัดองค์ประกอบเสริมที่เกี่ยวข้องกับการนำเสนอให้เหลือเฉพาะสิ่งที่จำเป็นเท่านั้น

ความสม่ำเสมอ (Consistency)
สามารถสร้างความสม่ำเสมอให้กับ Web Site นั้นได้ โดยใช้รูปแบบเดียวกันตลอดทั้ง Web Site
เนื่องจากผู้ใช้จะรู้สึกเหมือนกับว่า Web Site นั้นเหมือนสถานที่จริง ถ้าลักษณะของแต่ละหน้าใน Web เดียวกันนั้นแตกต่างกันมาก ผู้ใช้จะเกิดความสับสนและไม่แน่ใจว่ากำลังอยู่ใน Web เดิมหรือไม่ ดังนั้นรูปแบบของหน้าระบบ Navigation และโทนสีที่ใช้ควรมีความคล้ายคลึงกันตลอดทั้ง Web Site

ความเป็นเอกลักษณ์ (Identity)
การออกแบบต้องคำนึงถึงลักษณะขององค์กร เนื่องจากรูปแบบของ Web Site สามารถสะท้อนถึงเอกลักษณ์ และลักษณะขององค์กรนั้นได้ Web Site ของธนาคารจึงไม่ควรดูเหมือนกับสวนสนุก การใช้ชุดสี ชนิดตัวอักษรรูปภาพ Graphic จะมีผลต่อรูปแบบของ Web Site อย่างมาก ผู้ออกแบบจึงต้องเลือกใช้องค์ประกอบเหล่านี้อย่างเหมาะสม

เนื้อหาที่มีประโยชน์ (Useful Content)


เนื้อหาถือเป็นสิ่งที่สำคัญที่สุดใน Web Site ดังนั้นใน Web Site ควรจัดเตรียมเนื้อหาและข้อมูลที่ผู้ใช้
ต้องการให้ถูกต้องและสมบูรณ์ โดยมีการปรับปรุงและเพิ่มเติมให้ทันต่อเหตุการณ์อยู่เสมอ เนื้อหาที่สำคัญที่สุดคือ เนื้อหาที่สร้างขึ้นมาเองและไม่ซ้ำกับ Web อื่น ๆ เพราะจะเป็นสิ่งที่ดึงดูดผู้ใช้ให้เข้ามาใน Web Site อยู่เสมอต่างจากที่ Link ไป Web Site อื่น ซึ่งเมื่อผู้ใช้รู้ถึงแหล่งข้อมูลจริง ๆ แล้วก็ไม่จำเป็นต้องกลับมาที่ Link เหล่านั้นอีกระบบ Navigationที่ใช้งานง่าย (User-Friendly-Navigation)
ระบบ Navigation เป็นองค์ประกอบที่สำคัญมากของ Web Site จะออกแบบให้ผู้ใช้เข้าใจได้ง่ายและ
ใช้งานสะดวก โดยใช้ Graphic ที่สื่อความหมายร่วมกับคำอธิบายที่ชัดเจน รวมทั้งมีรูปแบบและลำดับของรายการที่สม่ำเสมอ เช่นวางไว้ในตำแหน่งเดียวกันของทุก ๆ หน้า นอกจากนั้นถ้าใช้ระบบ Navigation แบบGraphic ในส่วนของหน้าแล้ว อาจเพิ่มระบบ Navigation ที่เป็นตัวอักษรไว้ตอนท้ายของหน้า เพื่อช่วยอำนวยความสะดวกกับผู้ที่สั่งBrowserไม่ให้แสดงผลรูป Graphic เพื่อความสะดวกรวดเร็วในการดู

มีลักษณะที่น่าสนใจ (Visual Appeal)

เป็นเรื่องที่ยากที่จะตัดสินใจว่า ลักษณะหน้าตาของ Web Site แห่งใดแห่งหนึ่งนั้นน่าสนใจหรือไม่
เพราะเกี่ยวข้องกับความชอบของแต่ละบุคคล อย่างไรก็ดีหน้าตามของ Web Site จะมีความสัมพันธ์กับคุณภาพขององค์ประกอบต่าง ๆ เช่น คุณภาพของ Graphic ที่จะต้องสมบูรณ์ ไม่มีร่องรอยความเสียหายเป็นจุดด่างหรือมีขอบเป็นบันไดให้เห็น การใช้ชนิดตัวอักษรที่อ่านง่าย สบายตา และการใช้โทนสีที่เข้ากันได้อย่างสวยงาม เป็นต้น

การใช้งานได้อย่างไม่จำกัด (Compatible)
ในการออกแบบ Web Site นั้น จะต้องออกแบบให้คนส่วนใหญ่เข้าถึงได้มากที่สุด โดยไม่มีการบังคับ
ให้ผู้ใช้ต้องติดตั้งโปรแกรมใด ๆ เพิ่มเติม หรือต้องเลือกใช้ Browser ชนิดใดชนิดหนึ่งจึงจะสามารถเข้าถึงเนื้อหาได้ สามารถแสดงผลได้ในทุกระบบปฏิบัติการและที่ความละเอียดหน้าจอต่าง ๆ กันได้อย่างไม่มีปัญหา สิ่งเหล่านี้จะมีความสำคัญมากขึ้น สำหรับ Webที่มีผู้ใช้บริการจำนวนมาก หรือมีกลุ่มเป้าหมายที่หลากหลาย

คุณภาพการออกแบบ (Design Stability)
ถ้าอยากให้ผู้ใช้รู้สึกว่า Web ของมีคุณภาพถูกต้อง และเชื่อถือได้ ก็ควรให้ความสำคัญกับการออกแบบ
Web Site เป็นอย่างมาก เช่นเดียวกันกับสื่อประเภทอื่น ๆ ที่ต้องออกแบบและเรียบเรียงเนื้อหาอย่างรอบคอบ
Web ที่ทำขึ้นมาอย่างลวก ๆ ไม่ได้มาตรฐานการออกแบบและการจัดระบบข้อมูลนั้น เมื่อมีข้อมูลเพิ่มมากขึ้น


เรื่อย ๆ ก็จะเกิดปัญหาและไม่สามารถสร้างความน่าเชื่อถือได้

ระบบการใช้งานที่ถูกต้อง (Functional Stability)

ระบบการทำงานต่าง ๆ ใน Web Site จะต้องมีความแน่นอนและทำหน้าที่ได้อย่างถูกต้อง ตัวอย่างเช่น
ถ้ามีแบบฟอร์มให้ผู้ใช้กรอกข้อมูล ก็ต้องแน่ใจว่าฟอร์มนั้นสามารถใช้งานได้จริง หรืออย่างง่ายที่สุดก็คือ Linkต่างๆ ที่มีอยู่นั้นต้องเชื่อมโยงไปยังหน้าที่มีปรากฏอยู่จริงและถูกต้องด้วย ความรับผิดชอบแรกของคือการทำให้ระบบเหล่านั้นใช้งานได้จริงตั้งแต่หน้าแรกและยังคงต้องคอยตรวจเช็คอยู่เสมอเพื่อให้แน่ใจว่าสิ่งเหล่านั้นยังทำงานได้ดีโดยเฉพาะหน้าที่ Link เชื่อมไปยัง Web อื่นที่อาจมีการเปลี่ยนแปลงได้ตลอดเวลา โดยที่ไม่รู้เรื่อง

วันเสาร์ที่ 12 มิถุนายน พ.ศ. 2553

การแก้ปัญหา configuration.php เขียนลงไฟล์ไม่ได้

       ใครที่ใช้ CMS พวก joomla มักพบกับปัญหา configuration.php เขียนลงไฟล์ไม่ได้ เมื่อติดตั้ง ลงบนโฮสต์จริง พอถึงเวลาจะติดตั้ง ก็จะมีการแจ้งเตือนว่า
configuration.php เขียนลงไฟล์ไม่ได้  คุณ สามารถดำเนินการติดตั้งต่อไปได้ครับ เมื่อเสร็จสิ้นกระบวนการระบบจะแสดงผลค่าตัวแปรต่าง ๆ ที่ควรตั้งค่า ให้คุณเพียง copy แล้วนำไปวางไว้ใน text editor ทำการบันทึกจากนั้นก็อัพโหลดขึ้นเซิร์ฟเวอร์   วิธีแก้ไข้ก็ไม่ยากครับ ทำตามที่เค้าบอก โดยการเขียนไฟล์ configuration .php นำไปวางไว้ที่ root ของ joomla 
      แต่ที่ง่ายกว่านั้นเพียงแค่เปิด ftpของท่าน ยกตัวอย่างที่ผมใช่เป็น  Filezilla  คลิ๊กขวา หน้าต่างทางด้านขวามือ บนโปรแกรม Filezilla ของเรา เลือกที่ file permission จะมีหน้าต่างๆอีกมาใหม่ แก้ไข  permission ของไฟล์ให้เขียนได้ ดังรูป


โปรแกรม อัพเดทผลบอล พร้อมเวลาแข่งบอลโลก

แจกโปรแกรมอัพเดทผลบอลพร้อมตารางแข่งขันบอลโลก พร้อมจัดอันดับให้ด้วย   ลองเอาไปใช้ดูนะครับ สนุกกับบอลโลก  โหลดที่นี้

โปรแกรมสร้าง template joomla artsteer 2.4.0.24559

แจกโปรแกรมสร้าง template ง่ายๆเพียงแค่ห้านาที สามารถสร้างได้หลาย CMS  ทั้ง joomla  wordpress และอื่นๆอีก คุณสมบัติครบเลย ลองเอาไปใช้ดูเจ้าโปรแกรมนี้มีชื่อว่า artsteer  โหลดไปลองใช้งานกันเลย  Artisteer 2.4.0.24559 Multilingual
ลองเอาไปใช้ดูนะครับ สำหรับใครที่อยากมี template เป็นของตัวเอง

วันพฤหัสบดีที่ 10 มิถุนายน พ.ศ. 2553

การสร้างเว็บอัพโหลดไฟล์




      การอัพโหลดไฟล์ ก็คือ การส่งไฟล์จากเครื่องคอมพิวเตอร์ Client ไปยังเครื่องคอมพิวเตอร์ Server สำหรับภาษา PHP นั้น สามารถเขียนโค้ดอัพโหลดได้เลย โดยเราไม่ต้องไปติดตั้งโมดูลใดๆ เพิ่มเติม เราสามารถสร้างเว็บเพจสำหรับการอัพโหลดไฟล์ได้อย่างง่ายดาย
การสร้างเว็บเพจเพื่ออัพโหลดไฟล์ แบ่งการทำงานได้เป็นขั้นตอนดังต่อไปนี้


• การสร้างฟอร์มสำหรับอัพโหลดไฟล์
• การเขียนสคริปต์ PHP สำหรับการอัพโหลดไฟล์
• การทดสอบระบบดาวน์โหลด

การสร้างฟอร์มสำหรับอัพโหลดไฟล์
การสร้างระบบอัพโหลดนั้น Dreamweaver MX จะช่วยได้ในการสร้างฟอร์มสำหรับอัพโหลด ส่วนโค้ดสำหรับจัดการไฟล์ จำเป็นจะต้องสวิทช์ไปที่โหมดโค้ด (Code View) เพื่อเขียนโค้ดเอง

ในขั้นตอนแรกจะเป็นการใช้ Dreamweaver MX แทรกฟอร์มลงในเว็บเพจ สำหรับให้ผู้ใช้สามารถคลิกปุ่ม Browse… เลือกไฟล์ที่ต้องการอัพโหลด นอกจากนั้นก็ยังมีการแทรกปุ่ม Upload สำหรับคลิกเพื่อเริ่มต้นการอัพโหลดไฟล์

ขั้นตอนการสร้างฟอร์มสำหรับอัพโหลดไฟล์:

1. เปิดโปรแกรม Dreamweaver MX คลิกเมนู File > New จะปรากฏไดอะล็อก New Document ขึ้นมา ให้คลิกแท็บ General เลือก Dynamic Page > PHP หลังจากนั้นคลิกปุ่ม Create บันทึกเป็นไฟล์ fileupload.php
2. แทรกฟอร์มลงในเว็บเพจ โดยคลิกที่เมนู Insert > Form



3. กำหนดคุณสมบัติของฟอร์ม โดยการคลิกเม้าส์วางเคอร์เซอร์ให้อยู่ภายฟอร์ม ซึ่งแสดงขอบเขตด้วยเส้นประสีแดง หลังจากนั้นคลิกเลือกแท็ก
ที่ Tag Selector บริเวณขอบล่างซ้ายของหน้าจอ คลิกที่เมนู Window > Properties เมื่อปรากฏไดอะล็อก Properties ขึ้นมา ให้กำหนดคุณสมบัติของฟอร์มดังต่อไปนี้


หลังจากการแทรกฟอร์มและกำหนดค่าต่างๆ เสร็จแล้ว ให้คลิกที่ปุ่ม Show Code View ลองสังเกตดูโค้ดที่ Dreamweaver MX สร้างขึ้นมา จะเห็นว่าในแท็ก
จะปรากฏค่า attribute enctype="multipart/form-data" ซึ่งจะต้องใช้เสมอในฟอร์มที่มีการเรียกใช้ Form Object ชนิด File Field


4. แทรก Form Objects ชนิด File Field ลงภายในฟอร์ม หลังจากนั้นให้กำหนดคุณสมบัติของ File Field โดยการคลิกที่เมนู Window > Properties เมื่อปรากฏไดอะล็อก Properties ขึ้นมา ให้กำหนดชื่อในช่อง FileField Name เป็น "File" ดังรายละเอียดด้านล่างนี้





5. แทรก Form Objects ชนิด Button ลงภายในฟอร์ม หลังจากนั้นให้กำหนดคุณสมบัติของ Button โดยการคลิกที่เมนู Window > Properties เมื่อปรากฏไดอะล็อก Properties ขึ้นมา ให้กำหนดคุณสมบัติของ Button ดังต่อไปนี้






6. คลิกที่ปุ่ม Show Code View แล้วลองสังเกตดูโค้ดที่ Dreamweaver MX สร้างขึ้นมา จะเห็นว่ามีโค้ดการแทรก Form Object ชนิด File Field และ Button ลงในฟอร์ม ดังรูปด้านล่าง

7. บันทึกไฟล์ fileupload.php

ขั้นตอนต่อไปนี้ จะเป็นการเขียนโค้ด PHP สำหรับจัดการไฟล์ที่ถูกอัพโหลดขึ้นมาบนเซิร์ฟเวอร์ เข้าไว้ในไดเร็คทอรี่หรือโฟลเดอร์ที่กำหนดไว้

ขั้นตอนการเขียนสคริปต์ PHP สำหรับการอัพโหลดไฟล์:


1. สร้างโฟลเดอร์สำหรับจัดเก็บไฟล์ โดยการคลิกที่เมนู Site > Site Files จะปรากฏแถบ Files ที่ด้านขวาของหน้าจอ หลังจากนั้นชี้เม้าส์ที่ตำแหน่งบรรทัดแรกของแถบ Files คลิกเม้าส์ปุ่มขวา จะปรากฏเมนูให้คลิกเลือก New Folder และกำหนดชื่อโฟลเดอร์เป็น "uploadfiles"
 

2. เปิดโปรแกรม Dreamweaver MX คลิกเมนู File > New จะปรากฏไดอะล็อก New Document ขึ้นมา ให้คลิกแท็บ General เลือก Dynamic Page > PHP หลังจากนั้นคลิกปุ่ม Create บันทึกเป็นไฟล์ upload.php

3. คลิกที่ปุ่ม Show Code View หลังจากนั้นให้พิมพ์โค้ดต่อไปนี้ลงไปในเว็บเพจ








4. บันทึกไฟล์ upload.php

• ทดสอบโดยการเปิดเว็บเบราเซอร์ไปที่ URL http://localhost/phpweb/fileupload.php และเลือกไฟล์เพื่ออัพโหลด หลังจากนั้นคลิกปุ่ม Upload เพื่อเริ่มต้นการอัพโหลดไฟล์

• สังเกตผลลัพธ์จากหน้าจอเว็บเบราเซอร์ และตรวจสอบว่ามีไฟล์ที่อัพโหลดในโฟลเดอร์ "uploadfiles" หรือไม่

วันพุธที่ 9 มิถุนายน พ.ศ. 2553

รวม เทคนิคการใช้ Photoshop (2)

การแก้ไขรูปสีเพี้ยน


ดูจากรูปจะเห็นได้ว่าสีรูปมันยังเพี้ยนๆอยู่

อย่างในรูปนี้ก็มีสีเหลืองมากจนเกินไป ,, มาดูวิธีแก้กัน !!



เปิดรูปขึ้นมาแล้วไปที่ Image > Adjustment > Color Balance



จะมีแถบอยู่ 3 อันให้เลื่อน ปรับค่าความสมดุลของสีรูป

ปลายแต่ละด้านของแถบก็จะมีชื่อสีกำกับเอาไว้
จากรูปเราที่มีสีเหลืองมากจนเกินไป ก็ให้เลื่อนแถบอันล่างสุด
ซึ่งปลายทั้งสองข้างกำกับไว้ว่า Yellow กับ Blue
จากที่แถบอยู่กึ่งกลางก็ให้เลื่อนมาทาง Blue สุดๆไปเลย
ระหว่างเลื่อนจะสังเกตรูปไปด้วยก็ดีนะ



ส...เสร็จแล้วจ้า !!! ผลงานเสร็จออกมารวดเร็วมากมาย


สามารถเห็นความแตกต่างอย่างชัดเจน

วิธีนี้สามารถนำไปประยุกต์ใช้กับเวลาทำผิวขาวได้นะ มีประโยชน์มาๆเลยล่ะ ^^

ผิวขาวจั๊วะ
แนะนำ
ขอแนะนำการเลื่อนแถบเพื่อปรับค่าความสมดุลของสีสำหรับคนที่ยังมองไม่ออกทีนะ
ยกตัวอย่างเช่น รูปของเราเพื้ยนที่สีเหลือง คือมีสีเหลืองมากเกินไป
เราเลื่อนแถบก็ให้หาแถบที่ด้านใดด้านหนึ่งกำกับไว้ว่า Yellow
เลื่อนแถบนั้นจากกึ่งกลางไปยังทิศทางตรงกันข้ามกับสีที่เพื้ยน

การทำแก้วคริสตัล
 
• สร้างไฟล์ขนาดที่ต้องการ

• สร้างเลเยอร์ใหม่ เติมสีที่ต้องการ หรือสร้าง BG ด้วยลักษณะที่ต้องการ
• สร้างเลเยอร์ใหม่ สร้างกรอบสี่เหลี่ยม เติมสี Gray 50% ไม่ต้องเลือก Preserve Transparency


• Selection จะต้อง Active อยู่ ให้เลือกคำสั่ง Filter, Render, Lens Flare กำหนดค่าดังตัวอย่าง
 

• จากนั้นต่อด้วย Filter, Distort, Polar Coordinates โดยเลือกตัวเลือก Polar to Rectangular

• แล้วต่อด้วย Edit, Transform, Flip Vertical และ Filter, Distort, Polar Coordinates โดยเลือกตัวเลือก Rectangular to Polar
• ใช้คำสั่ง Free Transform ปรับให้มีขนาดและรูปทรงที่ต้องการ

• ใช้เครื่องมือวงกลม วาด Selection ให้มีขนาดพอเหมาะกับรูป Crystal ที่สร้างไว้ เลือกคำสั่ง Edit, Copy แล้วต่อด้วย Edit, Paste

• ซ่อนเลเยอร์ภาพต้นฉบับ จะพบแต่รูป Crystal ทรงกลม


• เปลี่ยน Layer Mode เป็น Hard Light


การเชื่อมรอยต่อระหว่างรูปให้กลมกลืนกัน



1.เปิดรูปที่ต้องทั้งหมดขึ้นมา เลือกเครื่องมือลูกศร Move Tool (คีย์ลัด : ตัว m)

คลิกที่รูปแล้วลากมาไว้ในเลเยอร์เดียวกัน (การลากก็เหมือนการคลิกแล้วนำไปวางน่ะแหละ)
จนได้รูปทั้งหมดที่ต้องการในเลเยอร์เดียวกันแล้ว . . .

2.เลือกเครื่องมือยางลบ
 
 
3.ดูแถบเมนูด้านบน ปรับขนาดหัวแปรงให้พอเหมาะ(ดูขนาดรูปแล้วลองกะเอานะ)

หัวแปรงฟุ้งๆหน่อยเน้อ


4.คลิกเลือกเลเยอร์ที่ต้องลบออก

ค่อยๆลบส่วนขอบเกินมาเพื่อให้รูปดูกลมกลืนกัน

เสร็จแล้ว


การทำตัวอักษรแบบก้อนน้ำแข็ง

• เปิดไฟล์ภาพใหม่ กำหนดขนาดต้องการ โดยกำหนดโหมดภาพเป็น Grayscale


• พิมพ์ข้อความด้วย Text Tool ควรเลือกฟอนต์และขนาดให้เป็นตัวอักษรอ้วนๆ โตๆ แล้วสร้าง Selection ให้กับตัวอักษรโดยกดปุ่ม แล้วคลิกที่แถบชื่อเลเยอร์ของข้อความ

• บันทึก Selection ด้วยคำสั่ง Select > Save Selection


• ต่อด้วยคำสั่ง Select, Inverse เพื่อเลือกขอบเขตรอบนอกตัวอักษร จากนั้นรวมเลเยอร์ด้วยคำสั่ง Layer > Merge Down

• ระวังไม่ให้ Selection หายจากนั้นต่อด้วยคำสั่ง Filter > Pixellate > Crystalize กำหนดค่าตามต้องการ
• ต่อด้วยคำสั่ง Select > Inverse และ FIlter > Noise > Add noise กำหนดค่าตามต้องการ ตามด้วยคำสั่ง Filter > Blur > Gaussian blur
• ปรับค่าความเข้มของข้อความด้วยคำสั่ง Image > Adjustment> Curve


• ยกเลิก Selection ด้วยคำสั่ง Select > Deselect แล้วคลิกภาพด้วยคำสั่ง Image, Rotate & Canvas, 90CW

• ตามด้วยคำสั่ง Filter > Stylize > Wind กำหนดค่า Method : Wind, Direction : From left แล้วพลิกภาพกลับด้วยคำสั่ง Image, Rotate & Canvas, 90CCW
• เปลี่ยนโหมดภาพเป็น RGB ด้วยคำสั่ง Image > Mode > RGB Color
• เปลี่ยนสีให้ตัวอักษรด้วยคำสั่ง Image, Adjustments, Hue & Saturation โดยคลิกเลือกรายการ Colorize แล้วปรับค่าตามต้องการ



• จะได้ตัวอักษรแบบแช่แข็งตามตัวอย่างข้างต้น

การทำตัวอักษรแสงกระจาย ( Explosion )
ขั้นตอนการทำ


1.สร้างแผ่นงาน กว้าง*สูง=500*500 pixels
2.กด อักษร d เพื่อเซตสีให้เป็นขาว-ดำ
3.กด alt+Backspace เพื่อเทสีดำลงไป
4.กด Ctrl+A และ Ctrl+T เพื่อหาจุดศูนย์กลางแผ่นงาน




 
5.กด Ctrl+R เพื่อโชว์ ไม้บรรทัดแล้วให้คุณลากเส้นไกด์มาวางทับจุดนี้
 


 
 
6.ใช้พู่กันป้ายสีขาวที่จุดแกนกลาง
 
 
 
 
 
 
 
7.พิมพ์ข้อความลงไปแล้วจัดวางให้อยู่ตรงกลางมากที่สุด คลิกขวาที่เลเยอร์ตัวอักษรเลือกคำสั่ง Rasterize
 
 

8.Copy layer โดยการกด Ctrl+J อีก 5 ครั้ง


9.Layer ที่ 1ของ Explosion ใส่ Filter / blur/radial blur/ เลือก Amount=100 / Zoom / Best


10.คลิกเลเยอร์ที่ 2 ของ Explosion แล้วกด Ctrl+F
11.คลิกเลเยอร์ที่ 3 ของ Explosion แล้วกด Ctrl+F
12.คลิกเลเยอร์ที่ 3และ 4 ของExplosionแล้วกด Ctrl+F
13.ที่เลเยอร์4 เลือก Filter/ blur / gauss.. = 4.8

14.เลือก Blending Mode=Dissolve
จะได้ดังนี้



วันอังคารที่ 8 มิถุนายน พ.ศ. 2553

วิธีสมัครโดเมนเนม ฟรี จาก .co.cc

      วันนี้อยากลองหาโดนเมนเนมแปลกๆฟรีๆเอามาใช้ดูบ้างก็ไปเจอของฟรีอย่างที่ใจปรารถนาเข้า เลยนำมาเล่าสู่กันฟังสำหรับใครที่ชอบของฟรี และไม่อยากเสียตังค์  โดนเมนที่ว่านี้ลงท้ายด้วย .co.cc ฟรีครับ ไม่มีค่าใช้จ่ายใดๆทั้งสิ้น
ก่อนอื่น ต้องสมัครเป็นสมาชิกเค้าก่อน  คลิ๊กที่นี้เลย
เมื่อสมัครเป็นสมาชิกเรียบร้อยกันแล้ว จะมีช่องให้กรอกชื่อโดเมน  เพื่อนๆก็ลองกรอกชื่อโดนเมนที่อยากได้ลงไป แล้วกด ปุ่ม ตรวจสอบความพร้อมการใช้งาน  หากโดเมนไหนมีการใช้งาน ระบบก็จะบอกเราว่า โดเมนนี้มีการลงทะเบียนแล้ว เราก็ลองหาชื่อใหม่ที่ยังว่าง  หากชื่อโดเมนไหนยังไม่มีคนลงทะเบียนระบบก็จะขึ้นว่า  

http://www.xxxxx.co.cc/ สามารถใช้ได้

การลงทะเบียนโดเมนหนึ่งปีราคา $0
การควบคุม DNS และการจัดการโดเมนแบบเต็ม
 ก็คลิกที่ปุ่ม เข้าสู่การลงทะเบียน

จัดการป้อนข้อมูลเสร็จสรรพ ก็จะมีข้อความขึ้นว่า Please set up the domain in 48 hours.If not, we will cancel the registration.

 แล้วให้เราตั้งค่า เมื่อได้โดเมนมาแล้วก็นำโดเมนนี้ ไป add on ที่โฮสต์ของเพื่อนๆเพื่อใช้งานได้เลย

การใส่เพลงลงในเว็บไซต์ของเรา

การใส่เพลงลงในเว็บ
    หลายคนมีเว็บไซต์แล้วก็อยากให้มีเสียงดนตรีประกอบไปด้วยสร้างความน่าสนใจไปอีกแบบให้กับเว็บไซต์ของเรา ก็เป็นวิธีที่ไม่ยากเลย เพื่อนๆเปิดไฟล์ index.html เว็บไซต์ของเพื่อนๆขึ้นมา จากนั้นนำโค๊ข้างล่างนี้ไปใส่ ระหว่าง < body>......< / body>



ข้อแนะนำ จากโค๊ดด้านบน เพื่อนๆควรสร้างโฟลเดอร์มาหนึ่งโฟล์เดอร์เพื่อไว้ใช้เก็บเพลง แล้วนำเพลงไปเก็บไว้ เมื่อมีการเรียกใช้ เพลงจะอยู่ในโฟลเดอร์ชื่อ song แล้วตามด้วยชื่อเพลง.wmaของเพื่อนๆ ข้อแนะนำอีกอย่างนึงหากไฟล์เพลงเป็นเพลง mp3 ก็ควรเปลี่ยนเป็น wma เพื่อให้ขนาดไฟล์นั้นมีขนาดที่เล็กลง เพราะหากเราใส่ไฟล์เพลงที่มีขนาดใหญ่เข้าไป กว่าเพลงจะเล่นได้ก็คงปิดเว็บไซต์เราไปแล้ว จริงมั้ย อดโชว์ของดีกันพอดี 

วันอาทิตย์ที่ 6 มิถุนายน พ.ศ. 2553

เรื่องของ Session และ Cookie

เรื่องของ session
     Session เป็นคุณสมบัติของ PHP ตั้งแต่เวอร์ชั่น 4.0 ขึ้นไปที่ช่วยในการติดตามและตรวจสอบสถานะต่างๆ ของผู้ใช้ โดยเราจะต้องสร้างตัวแปร session เพื่อเก็บค่าต่าง ๆ ที่ต้องการไว้ ซึ่งความคงอยู่ของตัวแปร session นี้จะขึ้นกับวินโดว์ของเว็บบราวเซอร์ ไม่ขึ้นกับไฟล์ PHP ที่สร้างตัวแปรนั้น กล่าวคือ หลังจากตัวแปร session ถูกสร้างขึ้นมาโดยไฟล์ PHP ไฟล์หนึ่งแล้ว เราจะสามารถอ้างอิงถึงตัวแปรนั้นได้จากไฟล์ PHP อื่นๆ ด้วย ตราบใดที่ผู้ใช้ยังคงเข้าถึงไฟล์ PHP ในเว็บไซท์ของเราโดยใช้วินโดว์เดิมอยู่

ฟังก์ชั่นเกี่ยวกับ session

ฟังก์ชั่น session _ start( )


session _ start( ) เป็นฟังก์ชั่นที่สั่งให้เริ่มต้นใช้งาน (initialize) session
 
รูปแบบ: session _ start( )
ฟังก์ชั่น session _ register( )


session _ register( ) เป็นฟังก์ชั่นที่ใช้ลงทะเบียนตัวแปรไว้ใน session ปัจจุบัน (ทำให้ตัวแปรนั้นกลายเป็นตัวแปร session) โดยสามารถลงทะเบียนได้มากกว่า 1 ตัวแปรพร้อมกัน การลงทะเบียนตัวแปรใดๆ ให้กลายเป็นตัวแปร session นั้น ก็เพื่อกำหนดให้ PHP เก็บรักษาค่าของตัวแปรนั้นไว้ ภายหลังจากที่ไฟล์ PHP นั้นสิ้นสุดการทำงานในเพจใดเพจหนึ่งไปแล้ว

ขณะที่เรียกฟังก์ชั่น session _ register( ) นี้ ถ้าหาก session ยังไม่เริ่มต้น (เราไม่ได้เรียกฟังก์ชั่น session _ start( ) ก่อน) PHP ก็จะเริ่มต้น session ให้เองโดยปริยาย
 
รูปแบบ: session _ register(ชื่อตัวแปร [, ชื่อตัวแปร ... ])
 
สำหรับตัวอย่างต่อไปนี้เราจะใช้ไฟล์ session _ register1.php สร้างตัวแปรชื่อ $myname ขึ้นมา ก่อนที่จะลงทะเบียนให้เป็นตัวแปร session จากนั้นในไฟล์ session _ register2.php เราจะสั่งให้แสดงค่าของตัวแปร $myname ออกมา
 
session _ register1.php

< ? php
session _ start(); //เรียกฟังก์ชั่น session_start() เพื่อเริ่มใช้งาน session$myname = "สุวิช สกิดตลิ่ง";
session _ register(" myname ");
?
>
นี่คือไฟล์ session _ register1.php
< br >< br >
< a href =" session _ register2.php">คลิกตรงนี้เพื่อเปิดไฟล์ session _ register2.php< /a >
session _ register2.php

< ? php
session _ start( ); //เรียกฟังก์ชั่น session _ start() เพื่อเริ่มใช้งาน session
?
>
นี่คือไฟล์ session _ register2.php< b r>< b r>
< ? php echo "ค่าของตัวแปร SESSION ของ myname คือ " . $ _ SESSION['myname'];  ? >

ฟังก์ชั่น session_unregister()


session_unregister() เป็นฟังก์ชั่นที่ใช้ยกเลิกการลงทะเบียนตัวแปร session หรือกล่าวอีกนัยหนึ่งคือ บอกให้ PHP ลืมตัวแปรนั้นไปเสีย

รูปแบบ: session_unregister(ชื่อตัวแปร)

ฟังก์ชั่น session_destroy()


session_destroy() เป็นฟังก์ชั่นที่ใช้ทำลายข้อมูลทั้งหมดของ session ปัจจุบัน

รูปแบบ: session_destroy()
 
ตัวอย่างการใช้งานตัวแปร Session


ตัวอย่างต่อไปนี้จะคล้ายคลึงกับตัวอย่างก่อนหน้านี้ แต่เราจะไฟล์ทั้งสิ้นจำนวน 3 ไฟล์ คือ

• ไฟล์ session_file1.php เป็นแบบฟอร์มให้กรอกชื่อผู้ใช้ โดยมีช่องรับข้อความชื่อ username เป็นตัวรับค่า
• ไฟล์ session_file2.php ทำหน้าที่ลงทะเบียนตัวแปร $username ไว้ใน session ปัจจุบัน พร้อมทั้งแสดงค่าของตัวแปรออกมา ตัวแปร $username นี้เป็นตัวแปรแบบโกลบอล (global variable) ที่ PHP สร้างขึ้นมาให้ โดย PHP จะนำค่าที่ได้รับจากช่องรับข้อความชื่อ username ในไฟล์ session_file1.php มากำหนดให้กับตัวแปรนี้ (เป็นการทำงานร่วมกันระหว่าง PHP กับแท็ก < form > ของ HTML ไม่เกี่ยวกับ session)
• ไฟล์ session_file3.php จะแสดงค่าของตัวแปร $username ออกมา เพื่อเป็นการยืนยันว่าตัวแปร $username ยังคงมีตัวตนอยู่และเก็บรักษาค่าเดิมไว้ได้

session_file1.php


< ? php
session_start(); //เรียกฟังก์ชั่น session_start() เพื่อเริ่มใช้งาน session
session_unregister("username");
? >
< form action ="session_file2.php">
กรุณาป้อนชื่อผู้ใช้ (username) แล้วคลิกปุ่มoK < br >
<  input  type="text" name="username" >
<  input  type="submit" value=" OK " >
< / form>

session_file2.php

< ? php
session_start(); //เรียกฟังก์ชั่น session_start() เพื่อเริ่มใช้งาน session
$username = $_POST['usernae'];
msession_register("username");
? >
ชื่อผู้ใชี่คุณป้อนมาให้คือ
< ? php
echo $_SESSION['username'] ;
? >
< br >< a href="session_file3.php">คลิกตรงนี้เพื่อไปยังไฟล์ session_file3.php
session_file3.php
< ? php
session_start(); //เรียกฟังก์ชั่น session_start() เพื่อเริ่มใช้งาน session
echo "ชื่อผู้ใช้ของคุณยังคงเป็น " . $_SESSION['username'] ;
? >
< br >< a href="session_file1.php">คลิกตรงนี้เพื่อไปยังไฟล์ session_file1.php< / a>

การติดตามและตรวจสอบผู้ใช้ด้วย Cookie


Cookie หมายถึง ข้อมูลที่เราส่งไปเก็บไว้ในเครื่องของผู้ใช้ เพื่อประโยชน์ในการตรวจสอบและติดตามผู้ใช้แต่ละคน โดยหลังจากที่เราส่ง cookie ไปยังเครื่องของผู้ใช้แล้วถ้าหาก cookie ยังไม่หมดอายุ (expire) เมื่อผู้ใช้เรียกดูไฟล์ PHP อื่น ๆ ในไดเร็คทอรีเดียวกับไฟล์ PHP ที่สร้าง cookie ขึ้นมา บราวเซอร์ก็จะส่ง cookie นั้นมายังเซิร์ฟเวอร์ ซึ่ง PHP จะนำ cookie มากำหนดเป็นตัวแปรให้เราสามารถตรวจสอบค่าได้ต่อไป
 
ฟังก์ชั่นที่ใช้ส่ง cookie ไปเก็บไว้ในเครื่องของผู้ใช้ทิ้งไป ให้เรียกฟังก์ชั่น setcookie() โดยระบุชื่อ cookie นั้น แต่ไม่ต้องระบุค่าและเวลาหมดอายุ เช่น ถ้าต้องการลบ cookie ชื่อ TestCookie ก็ให้ใช้บรรทัดคำสั่งต่อไปนี้
setcookie (“ TestCookie ”) ;
cookie_create.php


< ? php

//กำหนดให้ cookie หมดอาุหลังจากถูกสร้างแล้วเป็นเวลา 60 วินาที (1 นาที)
$c_name = "TestCookie";
$c_val = "123";
setcookie( $c_name, $c_val, time() + 60 );
echo "cookie ชื่อ $c_name ที่มีค่า $c_val ได้ถูกส่งไปยังเว็บบราวเซอร์แล้ว";
? >

< a href = "cookie_test.php">ตรวจสอบค่าของ cookie< /a >< br >

เมื่อเรียกใช้ไฟล์ cookie_create.php และคลิกที่ลิงค์ “ตรวจสอบค่าของ cookie” แล้ว cookie ชื่อ TestCookie ที่เราส่งไปยังบราวเซอร์ก็จะถูกแสดงค่าออกมา

ให้รีเฟรชเว็บเพจเป็นระยะๆ โดยการกดคีย์ F5 หลังจากนั้นประมาณ 1 นาทีก็จะปรากฏข้อความดังรูปขึ้นมาแทน ซึ่งบอกให้รู้ว่าขณะนี้ cookie ชื่อ TestCookie ได้หมดอายุแล้ว


เนื่องจาก cookie ที่เว็บเซิร์ฟเวอร์กับเว็บบราวเซอร์รับส่งกันนั้น เป็นข้อมูลในส่วนเฮดเดอร์ของโปรโตคอล HTTP ดังนั้นถ้าเราเรียกใช้ฟังก์ชั่น setcookie() ตามหลังฟังก์ชั่นอื่น ๆ ของ PHP ที่ใช้ส่งข้อมูลไปยังบราวเซอร์ ก็จะเกิดความผิดพลาดขึ้น ดังตัวอย่าง

cookie_error.php
< ? php
echo "ทดสอบ";
setcookie( " Test", "456", time() + 60);
? >

ซึ่งบางครั้งเราไม่สามารถหลีกเลี่ยงการเขียนโค้ดในลักษณะนี้ได้ ด้วยเหตุนี้ PHP จึงจัดเตรียมฟังก์ชั่นที่ใช้ทำ output buffering ไว้ เพื่อให้เรานำข้อมูลไปพักไว้ในหน่วยความจำชั่วคราว หรือบัฟเฟอร์ (buffer) ก่อน แล้วค่อยส่งข้อมูลเหล่านั้นไปยังบราวเซอร์ที่เดียวในตอนท้าย

ฟังก์ชั่นเกี่ยวกับ Output Buffering


ฟังก์ชั่นสำคัญๆ ที่เกี่ยวกับการทำ output buffering มีดังนี้
 
ฟังก์ชั่น ob_start()


เป็นฟังก์ชั่นที่เปิดการใช้งาน output buffering และสั่งให้มีการจองบัฟเฟอร์ไว้ โดยปกติเราจะเรียกฟังก์ชั่นนี้ที่บรรทัดแรกของไฟล์
 
ฟังก์ชั่น ob_end_flush()


เป็นฟังก์ชั่นที่ใช้ส่งข้อมูลจากบัฟเฟอร์ไปยังบราวเซอร์ และปิดการใช้งาน output buffering โดยปกติเราเรียกฟังก์ชั่นนี้ที่

บรรทัดสุดท้ายของไฟล์
ob_test.php


< ? php
ob_start();
echo "ทดสอบ
"; //ลองใช้คำสั่ง echo ก่อนเรียก setcookie()
setcookie("Test", "456", time() + 60);
echo "ส่ง cookieชื่อ Test ไปยังเว็บบราวเซอร์แล้ว";
ob_end_flush();
? >