design and development of a file-transfer control system ... · design and development of a...

Post on 07-Jul-2020

0 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

การออกแบบและพฒนาระบบควบคมตรวจสอบและปองกนการถายโอนไฟล ไปยงยเอสบไดรฟ

Design and Development of A File-transfer Control System over USB Drive

อนชต เกตงาม Anuchit Ketngam

สารนพนธฉบบนเปนสวนหนงของการศกษา ตามหลกสตรวทยาศาสตรมหาบณฑต สาขาวชาวศวกรรมเครอขาย

คณะวทยาการและเทคโนโลยสารสนเทศ มหาวทยาลยเทคโนโลยมหานคร

ปการศกษา 2556

I

หวขอสารนพนธ ระบบควบคมตรวจสอบและปองกนการใชงานยเอสบไดรฟ นกศกษา นายอนชต เกตงาม รหสนกศกษา 5517550035 ปรญญา วทยาศาสตรมหาบณฑต สาขาวชา วศวกรรมเครอขาย ปการศกษา พ.ศ. 2556 อาจารยควบคมโครงงาน ผศ.ดร. ศภกร กงพศดาร

บทคดยอ

ปจจบนการใชงานอปกรณเกบขอมลแบบพกพามขนาดเลกแตมพนทเกบขอมลมากขน ท าใหพกพาไดสะดวกและเปนทนยมในอยางแพรหลาย ท าใหการคดลอกไฟลหรอยายไฟลจากทท างานนนท าไดงายมาก เพอปองกนทรพยสนขององคกรจงไดคดโครงงานนขนมา โครงงานนจะมงเนนในดานของความมงคงปลอดภยในการใชงานอปกรณยเอสบไดรฟ เมอมการเสยบใชงานยเอสบไดรฟจะตองท าการพสจนตวตนกอนเพอเขาใชงาน ถาไมท าการพสจนตวตนกอนเขาใชงานจะไมสามารถใชงานยเอสบได หลงจากพสจนตวตนกอนเขาใชงานยเอสบส าเรจแลว ถามการถายโอนไฟลจะมการตรวจสอบไฟลทถกถายโอนกอนวามความส าคญตอองคกรมากแคไหน ถาไฟลนนมความส าคญตอองคกรมากจะไมอนญาตใหถายโอนไฟลนนได ระบบยงมการเกบรายละเอยดการเขาใชงาน การถายโอนไฟล เพอสามารถตรวจสอบการใชงานของผใชได ผลทคาดวาจะไดรบจากโครงงานคอสามารถปองกนการเขาใชงานยเอสบไดรฟได โดยผใชงานตองท าการพสจนตวตนเพอเขาใชงานกอน และสามารถตรวจสอบการถายโอนไฟลไปยงยเอสบไดรฟได

II

กตตกรรมประกาศ

สารนพนธนไดพฒนาจนส าเรจดวยด เพราะความกรณา ความชวยเหลอ และก าลงใจ จากหลายๆคน ขาพเจาขอขอบพระคณมา ณ ทน ขอขอบพระคณ ครอบครวของขาพเจาทคอยใหก าลงใจและสนบสนนมาโดยตลอด

ขอขอบพระคณ ผศ.ดร. ศภกร กงพศดาร อาจารยทปรกษาโครงงานทคอยใหค าแนะน าตางๆ เกยวกบโครงงานและคอยตรวจสอบโครงงาน

ขอขอบพระคณอาจารยทกทานทชวยประสทธประสาทวชาแกขาพเจาตงแตขาพเจาเขามาศกษาในทแหงน ขอบคณก าลงใจจากอาจารยทกทานทท าใหขาพเจาพฒนาโครงงานนใหส าเรจ ขอขอบคณ เพอนๆ ทคอยใหค าปรกษาเมอเวลาตดปญหาในเรองตางๆ และคอยใหก าลงใจมาโดยตลอด

อนชต เกตงาม มนาคม 2557

III

สารบญ หนา

บทคดยอ I กตตกรรมประกาศ II สารบญ III สารบญตาราง V สารบญรป VI บทท 1 บทน า 1 1.1 กลาวน า 1 1.2 ปญหาและแรงจงใจ 1 1.3 ความมงหมายและวตถประสงค 2 1.4 โครงสรางโครงงาน 2 1.5 ขอบเขตการด าเนนงาน 3 บทท 2 ทฤษฎพนฐานทใชในการท าโครงงาน 4 2.1 อปกรณยเอสบ (USB Drive) 4 2.1.1 ความเปนมาของยเอสบ (USB) 4 2.1.2 ลกษณะการท างานของยเอสบ 4 2.1.3 ความเรวการแลกเปลยนขอมลตามมาตรยเอสบเวอรชนตางๆ 5 2.1.4 ลกษณะชองทางการเชอมตอ 6 2.1.5 อปกรณเกบขอมลแฟลชไดรฟยเอสบ 6 2.1.6 รหสชนของยเอสบ (USB Class Code) 7 2.2 ระบบปฏบตการลนกซเซนตโอเอส (Linux CentOS) 8 2.3 เวปเซรฟเวอร (Web Server) 9 2.4 ระบบฐานขอมล Mysql 9 2.4.1 คณสมบตของระบบฐานขอมล Mysql 9 2.4.2 สถาปตยกรรมของ Mysql 10 2.5 วนโดวสเมสเซจของระบบปฏบตการไมโครซอฟตวนโดวส 10

2.6 คลปบอรด (Clipboard) 11 2.7 ภาษาพเอชพ (PHP) 11 2.8 ฟงกชนแฮช (Hash) 11

2.9 สรปทายบท 12 บทท 3 การออกแบบและพฒนา 13 3.1 การออกแบบโครงสรางและองคประกอบโครงงาน 13

IV

สารบญ (ตอ) หนา

3.2 แผนผงการท างานทงหมด 14 3.3 แผนผงการท างานการตรวจสอบการเขาใชงานยเอสบไดรฟ 15

3.4 แผนผงการท างานการตรวจสอบการถายโอนไฟลขอมล 16 3.5 แผนผงการท างานการเพมไฟลขอมลทมความส าคญ 17

3.6 แผนผงการท างานการเพมหมายเลขไอพแอดเดรสในระบบ 18 3.7 แผนผงการท างานการเพมยสเซอรเนม พาสเวรด และแผนกในระบบ 19 3.8 ออกแบบตารางฐานขอมล 20 3.9 ออกแบบหนาจอโปรแกรมฝ งเครองไคลเอนต 22 บทท 4 การทดลองและผลการทดลอง 23

4.1 สภาพแวดลอมทใชในการทดลอง 23 4.2 การใชงานอปกรณยเอสบ 23 4.2.1 การทดลองใชงานอปกรณเกบขอมลแบบยเอสบ 23 4.3 ทดลองการเกดวนโดวสเมสเซจ 24 4.3.1 การทดลองวนโดวสเมสเซจเมอใชงานอปกรณเกบขอมลแบบยเอสบ 24 4.4 การทดลองโปรแกรม 25 4.4.1 การตรวจสอบการพสจนตวตนกอนเขาใชงานยเอสบไดรฟ 25 4.4.2 ฐานขอมลของระบบ 27

4.4.3 ขนการทดลองโปรแกรม 31 4.4.4 การทดลองสวนของผดแลระบบ 34 4.4.5 การทดลองดกจบขอมลของโปรแกรม 37

บทท 5 สรปผลการด าเนนโครงงาน 41 5.1 สรปผลการด าเนนโครงงาน 41 5.2 ปญหาและอปสรรค 41 5.3 แนวทางการแกไขปญหา 41 บรรณานกรม 42 ภาคผนวก ก. การตดตงฐานขอมล MySQL 43 ภาคผนวก ข. รายละเอยดวนโดวสเมสเซจ 48

V

สารบญตาราง หนา

ตารางท 2.1 รหสชนของยเอสบ 7 ตารางท 2.2 แสดงรายละเอยดของวนโดวสเมสเซจ 10 ตารางท 3.1 รายละเอยดของตาราง Users 20 ตารางท 3.2 รายละเอยดของตาราง Log_authen 20 ตารางท 3.3 รายละเอยดของตาราง Role 20 ตารางท 3.4 รายละเอยดของตาราง Permission_access 21 ตารางท 3.5 รายละเอยดของตาราง Log_file 21 ตารางท 3.6 รายละเอยดของตาราง List_file 21 ตารางท ข.1 วนโดวสเมสเซจ WM_DEVICECHANGE ขอมลในพารามเตอร LPARAM 49 ตารางท ข.2 วนโดวสเมสเซจทใชสารบการเขยนโปรแกรม (WM Constants) 50 ตารางท ข.2 วนโดวสเมสเซจทใชสารบการเขยนโปรแกรม (WM Constants) (ตอ) 51 ตารางท ข.2 วนโดวสเมสเซจทใชสารบการเขยนโปรแกรม (WM Constants) (ตอ) 52 ตารางท ข.2 วนโดวสเมสเซจทใชสารบการเขยนโปรแกรม (WM Constants) (ตอ) 53 ตารางท ข.2 วนโดวสเมสเซจทใชสารบการเขยนโปรแกรม (WM Constants) (ตอ) 54 ตารางท ข.2 วนโดวสเมสเซจทใชสารบการเขยนโปรแกรม (WM Constants) (ตอ) 55

VI

สารบญรป หนา

รปท 1.1 โครงสรางของโครงงาน 2 รปท 2.1 สญลกษณของยเอสบ 4 รปท 2.2 ยเอสบ 2.0 และยเอสบ 3.0 6 รปท 2.3 ลกษณะชองทางการเชอมตอของยเอสบ 6 รปท 2.4 โครงสรางภายในของอปกรณเกบขอมลแฟลชไดรฟยเอสบ 7 รปท 3.1 โครงสรางและองคประกอบโครงงาน 13 รปท 3.2 แผนผงการท างานทงหมด 14 รปท 3.3 แผนผงการท างานการตรวจสอบการเขาใชงานยเอสบไดรฟ 15 รปท 3.4 แผนผงการท างานการตรวจสอบการถายโอนไฟลขอมล 16 รปท 3.5 แผนผงการท างานการเพมไฟลขอมลทมความส าคญ 17 รปท 3.6 แผนผงการท างานการเพมหมายเลขไอพแอดเดรสในระบบ 18 รปท 3.7 แผนผงการท างานการเพมยสเซอรเนม พาสเวรด และแผนกในระบบ 19รปท 3.8 ตารางฐานขอมล 20 รปท 3.9 โปรแกรมฝ งเครองไคลเอนต 22 รปท 4.1 ดไวซของอปกรณเกบขอมลแบบยเอสบ 24 รปท 4.2 วนโดวสเมสเซจเมอเสยบใชงานอปกรณเกบขอมลแบบยเอสบ 25 รปท 4.3 วนโดวสเมสเซจเมอยกเลกใชงานอปกรณเกบขอมลแบบยเอสบ 25 รปท 4.4 หนาจอแสดงโปรแกรมใหผใชท าการลอกอน 26 รปท 4.5 สามารถใชงานยเอสบไดรฟได 26 รปท 4.6 แสดงขอความแจงเตอนกรณไอพแอดเดรสยงไมลงทะบยนในระบบ 26 รปท 4.7 แสดงขอความแจงเตอนกรณไอพแอดเดรสและยสเซอรเนมอยคนละแผนก 27 รปท 4.8 แสดงขอความแจงเตอนวายสเซอรเนมและพาสเวรดผดพลาด 27 รปท 4.9 ขอมลในตาราง Users 27รปท 4.10 ขอมลในตาราง Role 28 รปท 4.11 ขอมลในตาราง Permission_access 28รปท 4.12 ขอมลในตาราง List_file 29 รปท 4.13 ขอมลในตาราง Log_authen 29รปท 4.14 ขอมลในตาราง Log_file 30 รปท 4.15 การใชโปรแกรมดาวนโหลดไฟลจากเซรฟเวอร 31 รปท 4.16 ไฟลทดาวนมาจากเซรฟเวอร 31 รปท 4.17 ไฟลทดาวนมาจากเซรฟเวอร 32

VII

สารบญรป (ตอ) หนา

รปท 4.18 ขอความแจงเตอนไมอนญาตใหถายโอนไฟลขอมล 32 รปท 4.19 แสดงขอมลใหเหนวาไมสามารถวางทระบบไมอนญาตได 33 รปท 4.20 หนาจอลอกอนเขาระบบของผดแลระบบ 34 รปท 4.21 หนาจอแสดงการถายโอนไฟลของผใชงาน 34 รปท 4.22 หนาจอแสดงการลอกอนเพอเขาใชงานในระบบของผใชงาน 35 รปท 4.23 หนาจอแสดงเพมหมายเลขไอพแอดเดรส 35 รปท 4.24 หนาจอแสดงเพมยสเซอรเนมและพาสเวรด 36 รปท 4.25 หนาจอแสดงเพมยสเซอรเนมและพาสเวรด 36 รปท 4.26 หนาจอแสดงเพมไฟลทไมอนญาตใหถายโอนไฟลขอมล 37 รปท 4.27 การดกจบขอมลการตรวจสอบหมายเลขไอพแอดเดรส 37 รปท 4.28 การดกจบขอมลการตรวจสอบยสเซอรเนมและแผนก 38 รปท 4.29 การดกจบขอมลการตรวจสอบยสเซอรเนมและพาสเวรด 38 รปท 4.30 การดกจบขอมลการเพมขอมลลอกอนลงฐานขอมล 39 รปท 4.31 การดกจบขอมลการตรวจสอบไฟลทตองการถายโอน 39 รปท 4.32 การดกจบขอมลการเพมขอมลการถายโอนไฟลลงฐานขอมล 40 รปท ก.1หนาจอแสดงการใชค าสง yum install 44 รปท ก.2 หนาจอแสดงขอมลเวอรของ MySQL 44 รปท ก.3 หนาจอแสดงการดาวนโหลด MySQL มายงเครองเซรฟเวอร 45 รปท ก.4 หนาจอแสดงการดาวนโหลด MySQL มายงเครองเซรฟเวอรเสรจสน 45 รปท ก.5 หนาจอแสดงการตรวจสอบสถานะการท างานของเซอรวสและเรมท างานเซอรวส 46 รปท ก.6 หนาจอแสดงขอมลเมอเซอรวสเรมท างาน 46 รปท ก.7 หนาจอแสดงเขาใชงานระบบฐานขอมล MySQL 47 รปท ก.8 หนาจอแสดงรายละของฐานขอมลทงหมดทอยใน MySQL 47

1

บทท 1 บทน ำ

1.1 กลำวน ำ ในปจจบนอปกรณเกบขอมลแบบพกพา (Removable Devices) ประเภททเปนยเอสบไดรฟ (USB Drives) อาทเชนแฟลชไดรฟ (Flash Drives) ฮารดดสกแบบพกพา (External Harddisk) ตวอานหนวยความจ า (Card Reader) เปนอปกรณทไดรบความนยม และมการใชงานกนอยางแพรหลาย โดยเทคโนโลยการผลตอปกรณอเลกทรอนกสในปจจบน ท าใหขนานของตวอปกรณเลกลงแตมพนทในการจดเกบขอมลมากขน และมประสทธภาพเพมขนซงอ านวยความสะดวกในการจดการขอมล ไมวาจะเปนการโอนยายไฟลเพอส ารองขอมล โดยอปกรณทใชในการเกบขอมลทไดรบความนยมไดแกแฟลชไดรฟ ซงมการใชงานทหลากหลายในแตละสายงานอาทเชน กลมของพนกงานบรษททตองมการเกบขอมลทเกยวกบการท างาน ขอมลเอกสาร ตางๆ ซงถาดจากการใชงานจะเหนไดวาอปกรณทใชในการเกบขอมลเปน อปกรณทมความส าคญตอการท างาน และกจกรรมตางๆ ดงทไดดงกลาวไปขางตน 1.2 ปญหำและแรงจงใจ เนองจากเทคโนโลยของอปกรณเกบขอมลแบบพกพา มการใชงานอยางแพรหลาย ดวยเหตผลทวาอปกรณนนมขนาดเลกลงท าใหพกพาไดสะดวก นอกจากความสะดวกในการพกพาแลว อปกรณเกบขอมลยงมขนาดของหนวยความจ าเพมขนอยตลอด จงท าใหคนสวนใหญนยมใชอปกรณเกบขอมลแบบพกพามากขน ซงนกเปนขอดของอปกรณแบบพกพา แตปญหาทเกดจากการใชงานอปกรณเกบขอมลแบบพกพาแบบยเอสบไดรฟนน คอการควบคมและการปองกนการใชงานอปกรณเกบขอมลแบบพกพาเมอน าไปใชภายในองคกร ถาไมมการควบคมหรอปองกนการใชงานอปกรณเกบขอมลแบบพกพาภายในองคกร จะท าใหพนกงานสามารถทจะถายโอนขอมลไฟลตางๆ ทเกยวกบองคกรหรอบรษทได ซงถาไฟลขอมลนนตกไปถงมอของผไมประสงคดกจะท าใหองคกรหรอบรษทไดรบผลกระทบและเสยผลประโยชนขององคกรหรอบรษทได ดงนนถามการควบคมและการปองกนการใชงานอปกรณเกบขอมลแบบพกพา จะท าใหลดความเสยงในการถายโอนไฟลขอมลทมส าคญๆ ได

2

1.3 ควำมมงหมำยและวตถประสงค โครงงานนจดท าขนเพอควบคมตรวจสอบและปองกนการถายโอนไฟลขอมลไปยงยเอสบไดรฟ ภายในองคกร 1.3.1 เพอเพมระบบความปลอดภยในการใชงานอปกรณเกบขอมลแบบพกพา ภายในองคกร 1.3.2 เพอตรวจสอบการถายโอนไฟลขอมลตางๆ ทเกดขนภายในองคกร 1.3.3 เพอปองกนการถายโอนไฟลขอมลทส าคญๆ ทเกดขนภายในองคกร 1.3.4 เพอก าหนดสทธการเขาใชงานของพนกงานทอยคนละแผนกสามารถน ายเอสบไดรฟมาใชงานในแผนกอนๆ ได 1.3.5 เพอรกษาผลประโยชนขององคกร 1.4 โครงสรำงโครงงำน 1.4.1 เครองเซรฟเวอร (Server) จะท าการตดตงฐานขอมลและการใชบรการเวปเซรฟเวอร ซงผทเปนผดแลระบบสามารถก าหนดสทธการใชงานยเอสบไดรฟ รวมถงตรวจดขอมลการถายโอนไฟลขอมลของพนงงาน ไดโดยผานทางเวปแอพพลเคชน 1.4.2 เครองไคลเอนต (Client) จะท าการตดตงโปรแกรมขนาดเลก (Agent) เมอมการใชงานยเอสบไดรฟโปรแกรมจะท างานโดยใหผใชระบ Username และ Password เพอใชงานยเอสบไดรฟ พรอมกบตรวจสอบสทธการใชงานของผใช

รปท 1.1 โครงสรางของโครงงาน

3

1.5 ขอบเขตกำรด ำเนนงำน ขอบเขตกำรด ำเนนงำนของโครงงำน 1 1.5.1 ศกษาทฤษฎของโครงงาน ฯ 1.5.2 ศกษากระบวนการท างานยเอสบไดรฟ 1.5.3 ศกษาไลบรารของการเขยนโปรแกรมตดตอยเอสบไดรฟ 1.5.4 ตดตงระบบปฏบตการลนกซ CentOS บนเซรฟเวอร 1.5.5 ตดตงบรการฐานขอมลของ Mysql บนเซรฟเวอร 1.5.6 ออกแบบโปรแกรมตดตอยเอสบไดรฟ 1.5.7 สามารถตรวจสอบการพสจนตวตนกอนเขาใชงานยเอสบไดรฟ โดยการกรอกขอมล Username และ Password ขอบเขตกำรด ำเนนงำนของโครงงำน 2 1.5.8 สามารถบนทกการถายโอนไฟลขอมลจากคอมพวเตอรไปยงยเอสบไดรฟได โดยการบนทกลงฐานขอมล 1.5.9 สามารถแสดงขอมลการถายโอนไฟลทบนทกได ผานทางเวปแอพพลเคชนได 1.5.10 สามารถก าหนดสทธใหกบผใช ในใชงานยเอสบไดรฟ โดยการแยกแผนก 1.5.11 สามารถปองกนไฟลขอมลทส าคญๆ โดยการตรวจสอบจากแฮช (Hash) ของไฟล ถาตรงกบทมอยในระบบ ระบบจะไมอนญาตใหถายโอนไฟลขอมล 1.5.12 โปรแกรมขนาดเลก (Agent) จะท างานบนระบบปฏบตการไมโครซอฟตวนโดวส

4

บทท 2 ทฤษฎพนฐำนทใชในกำรท ำโครงงำน

2.1 อปกรณยเอสบ (USB) 2.1.1 ความเปนมาของยเอสบ (USB) ยเอสบ (USB) ยอมาจากค าวา Universal Serial Bus เปนขอก าหนดมาตรฐานของบส (Bus) การสอสารแบบอนกรมเพอใชในการเชอมตออปกรณ ซงโดยทวไปจะใชกบคอมพวเตอร แตสามารถใชไดกบอปกรณอน เชน เซตทอปบอกซ (Set-top-box), เครองเลนเกม และพดเอ (PDAs) เปนตน จะเหนไดวาในปจจบนอปกรณอเลกทรอนกส (Electronic) เกอบทกชนดใชพอรต (Port) การเชอมตอแบบยเอสบทงสน มาตรฐานแรกของยเอสบปรากฏเปนครงแรก เมอวนท 11 พฤศจกายน พ.ศ. 2537 ดวยรเวอรชน 0.7 (Reversion 0.7) และไดปรบปรงแกไขเรอยมา วนท 15 มกราคม พ.ศ. 2539 ออกมาเปนรเวอรชน 1.0 ยเอสบ 1.0 ไดส าเรจและยงไดปรบปรงแกไขปญหาตางๆ วนท 23 กนยายน พ.ศ. 2541 ไดเปนรเวอรชน 1.1 ยเอสบ 1.1 นนเอง เนองจากการแลกเปลยนขอมลในปจจบนจะมขนาดทใหญขนเรอยๆ ท าใหความเรวทท าไดของพอรตยเอสบตองมการพฒนาขนตาม ดงนนทางกลมพฒนา USB-IF (USB Implement Forum, Inc.) จงไดสรางมาตรฐานยเอสบรนใหม และไดขอสรปเปนมาตรฐานทแนนอน คอ ยเอสบ 2.0 ในเดอนเมษายน พ.ศ. 2543 และในปจจบนกมพอรตมาตรฐานยเอสบลาสดออกมาแลวซงกคอ ยเอสบ 3.0 เมอวนท 6 พฤศจกายน 2551 โดยมอตราการรบสงขอมลสงสดมากกวายเอสบ 2.0 ถง 10 เทาเลยทเดยว จงท าใหถกเรยกวา ซปเปอรสปดยเอสบ (Superspeed USB) ซงสามารถครอบคลมการใชงานของมาตรฐานกอนหนาเกอบทงหมด

รปท 2.1 สญลกษณของยเอสบ

2.1.2 ลกษณะการท างานของยเอสบ เมอเปดเครองคอมพวเตอร ระบบจะท าการตรวจสอบอปกรณตอพวงทาง พอรตยเอสบ และจะก าหนดแอดเดรส (Address) ใหแตละอปกรณ เรยกวา อนมมเรชน (Enumetation) เมอท าการเชอมตออปกรณเขากบพอรตยเอสบ ระบบจะท าการตรวจสอบดวยกระบวนการอนม

5

มเรชนทนท เพอตรวจสอบชนดของอปกรณทจะรบหรอสงใหกบอปกรณทตอพวงเขามา ซงสามารถแบงชนดขอมลไดเปน 3 แบบ คอ 1. อนเทอรรพ (Interrupt) เปนการสงขอมลทละนอยๆ เชน อปกรณจ าพวกเมาร (Mouse), คบอรด (Keyboard) เปนตน ท าการสงขอมลใหกบเครองคอมพวเตอรคราวละเลกนอยเทานน และสงแบบไมตอเนอง ตามแตลกษณะการใชงาน 2. บลค (Bulk) การสงขอมลคราวละมากๆ เชน การพมพงาน ซงเครองคอมพวเตอรจะสงขอมลใหกบเครองพมพคราวละมากๆ เปนตน ซงระบบจะท าการตรวจสอบขอมลความถกตอง และครบถวน 3. ไอโซโครนส (Isochronous) การสงขอมลแบบตอเนองเปนสตรม (Stream) เชน สปกเกอร (Speaker), เวปแคม (Webcam) จะท าการสงขอมลอยางตอเนองแบบเรยวไทม (Real-Time) ระหวางเครองคอมพวเตอรกบอปกรณตอพวงซงในโหมด (Mode) นจะไมมการตรวจสอบความถกตองของขอมล วาไดรบครบถวนถกตองหรอไม เครองคอมพวเตอรจะสงค าสง ควร (Query) ไปยงอปกรณผานทาง คอลโทรลแพตเกต (Control Packet) โดยเครองคอมพวเตอรท าการจองพนท 90% ของ แบรนวดท (Bandwidth) ทงหมด (ยเอสบ 1.1 ท 12 Mbps และยเอสบ 2.0 ท 480 Mbps) ส าหรบใชงานการสงขอมลแบบไอโซโครนส หากมการใชงานถง 90% เมอไร ระบบจะท าการปฏเสธการรองขอในแบบอนเทอรรพ และไอโซโครนส ทเขามาใหมทนท โดย 10% ทกนไวนน จะไวใชส าหรบการสงขอมลแบบบลค และส าหรบคอลโทรลแพตเกต ของเครองนน 2.1.3 ความเรวการแลกเปลยนขอมลตามมาตรยเอสบเวอรชนตางๆ ความเรวการแลกเปลยนขอมลตามมาตรยเอสบเวอรชนตางๆ แยกไดดงน 1. ยเอสบ 1.0, 1.1 ความเรวในการแลกเปลยนขอมล 12 Mbps 2. ยเอสบ 2.0 ความเรวในการแลกเปลยนขอมล 480 Mbps 3. ยเอสบ 3.0 ความเรวในการแลกเปลยนขอมล 4.8 Gbps ในสวนของยเอสบ 2.0 นนจะแบงประเภทไดอกเปน 2 แบบ คอ ฟลสปด (Full Speed) และ ไฮสปด (Hi-Speed) ซงทงสองแบบมความแตกตางกนในเรองของความเรว โดยยเอสบ 2.0 ฟลสปด จะมความเรวเพยง 12 Mbps ตอวนาท สวนยเอสบ 2.0 แบบไฮสปดจะมความเรวท 480 Mbps ตอวนาท ดงนนการเลอกซอจงไมใชเพยงแคดจากค าวายเอสบ 2.0 เทานน ตองดดวยวาไฮสปดหรอไม ทงนการทจะสามารถใชความเรวสงสด ยเอสบ 2.0 ไฮสปด ไดนน คอมพวเตอรตองรองรบดวย

6

รปท 2.2 ยเอสบ 2.0 และยเอสบ 3.0

2.1.4 ลกษณะชองทางการเชอมตอ ในการเชอมตอของยเอสบนนจะสายสญญาณทงหมด 4 เสน ดงรปท 2.3

รปท 2.3 ลกษณะชองทางการเชอมตอของยเอสบ

สายสญญาณการรบสงขอมลของระบบยเอสบม 2 สายสญญาณ ไดแกสญญาณ D+ และ D- ในการสงสญญาณ จะถกสงในลกษณะความตางคอ กรณการสงขอมล "0" สญญาณ D- จะมระดบแรงดนทสงกวา D+ กรณในการสงขอมล "1" สญญาณ D- จะมระดบแรงดนทต ากวา D+ การจายก าลงไฟฟาสามารถจายใหไดสงสด 5 โวลต และต าสด 4.75 โวลต จายกระแสไดสงสด 5 แอมป

2.1.5 อปกรณเกบขอมลแฟลชไดรฟยเอสบ (USB Flash Memory Drives) เปนอปกรณเกบขอมลแบบพกพาทมขนาดเลก แตสามารถเกบขอมลไดมาก และเปนทนยมใชงานกนอยางแพรหลายเนองจากอปกรณมขนาดเลกพกพาสะดวก อปกรณเกบขอมลแฟลชไดรฟยเอสบ นนไดมการพฒนาอยางตอเนอง โดยสวนใหญจะเนนเรองของการเกบขอมลเปนหลก

7

อปกรณเกบขอมลแฟลชไดรฟยเอสบ แบงออกเปน 4 สวน หลก ดงน 1. สวนเกบขอมล (Memory) เปนสวนทเรยกวา Flash Memory Chip เปนสวนทใชเกบขอมลทงหมด โดยการเกบขอมลนนไมจ าเปนตองใชไฟเขาไปเลยงตลอดเวลา 2. สวนควบคมการท างาน (Controller) เปนสวนทรวม CPU, เฟรมแวรและ controller มาอยใน Chip ตวนเพยงตวเดยว ท าใหเมอตอพวงกบ Port ทเปน USB สามารถเหนไดคลายกบ Removable Storage ทวไป ซงใชส าหรบ Windows ME/XP/2000 สวน Linux เมอท าการ mount จะเหนเหมอน Drive 1 drive 3. สวนควบคมความถ (Crystal) ท าหนาทควบคมความถ 12 MHz ซงเปนความถเดยวกนกบทใชใน Mainboard โดยกลไก Timing นเอาไวดแลและควบคมขอมลเขาออกจาก Cell memory 4. สวนเชอมตอ (Connector) เปนสวนทตอเขากบ USB Post ของเครองไคลเอนต

รปท 2.4 โครงสรางภายในของอปกรณเกบขอมลแฟลชไดรฟยเอสบ

2.1.6 รหสชนของยเอสบ (USB Class Code) อปกรณยเอสบจะถกก าหนดรหสชน เพอใชในการตดตอสอสารกบระบบปฏบตการ โดยเปนตวระบการท างานของอปกรณ และใชในการโหลดไดรเวอรของตวอปกรณ ซงจะมรหสชน(Class Code) เปนเลขฐานสบหก ใชในการก าหนดวาเปนลกณะอปกรณประเภทใด และมดสคลปเตอรยสเสจ (Descriptor Usage) เปนตวบอกการท างานวาเปนดไวซ (Device) หรออนเทอรเฟซ (Interface) หรอโบท (Both) เพอบอกลกษณะการท างานของอปกรณนน ดงตารางท 2.1 [2,3] ตำรำงท 2.1 รหสชนของยเอสบ รหสชน การท างาน รายละเอยด อปกรณ 00h Device Unspecified - 01h Interface Audio ล าโพง,ไมโครโฟน,ซาวนดการด 02h Both Communications and

CDC Control อเทอรเนตอะแดปเตอร, โมเดมซเรยลพอรตอะแดปเตอร

03h Interface Human Interface Device คยบอรด, เมาส, จอยสตก

8

(HID) 05h Interface Physical Interface

Device (PID) จอยสตกแบบใหแรงสน

06h Interface Image เวบแคม, สแกนเนอร 07h Interface Printer เลเซอรปรนเตอร, องคเจทปรนเตอร

,เครองซเอนซ 08h Interface Mass Storage กลองดจตอล ,แฟลชไดรฟ

เมมโมรการดรดเดอร, เอกซเทอรนอล ฮารดไดรฟ, เครองเลนเพลงดจตอล

09h Device USB hub อปกรณตอพวง 0Ah Interface CDC-Data อปกรณเกยวกบการสอสาร 0Bh Interface Smart Card ยเอสบสมารการดรดเดอร 0Dh Interface Content Security - 0Eh Interface Video เวบแคม 0Fh Interface Personal Healthcare อปกรณการแพทย DCh Both Diagnostic Device อปกรณทใชในการตรวจสอบ E0h Interface Wireless Controller ไวไฟอะแดปเตอร, บลทธอะแดป

เตอร EFh Both Miscellaneous อปกรณเบดเตลด FEh Interface Application Specific อปกรณเอนฟาเรท,

อยในกลมอปกรณเบดเตลด FFh Both Vendor Specific ส าหรบผผลตอปกรณ 2.2 ระบบปฏบตกำรลนกซเซนตโอเอส (Linux CentOS) เซนตโอเอสเปนลนกซในระดบธรกจขนาดเลกหรอขนาดกลาง (Enterprise) ทมเปาหมายหลกในเรองของความเสถยรภาพ (Stable) เพอใหใชงานในระดบองคกร เซนตโอเอสแตกตางจาก ลนกซตวอนๆ ทคอนขางจะมการเปลยนแปลงบอยและมกจะใสคณสมบตใหมๆ (Feature) ทยงไมเสถยรภาพลงไป ดงนนการทเซนตโอเอสมงเนนในเรองของความเสถยรภาพ ถงท าใหผใชงานมงความสนใจลงไปในเรองของแอพพลเคชน (Application) โดยลดความกงวลในสวนของระบบปฏบตการ (Operation System) ลงไป เซนตโอเอสถกพฒนาตอมาจากซอสโคดทไดรบการเปดเผยโดยทมผเชยวชาญเจาหนงในอเมรกาเหนอ สวนหลกของทมพฒนาประกอบขนดวยผเชยวชาญ และสนบสนนจากกลมตางๆ ทงดาน ผดแลระบบ (System

9

admin), ผดแลระบบเนตเวรก (Network Admin), ผใชงานในองคกร (Enterprise User), ผจดการ (Manager), ผใหขอมลหลกของลนกซ (Core Linux Contributors) เซนตโอเอสเปนการเอาซอสโคด (Source Code) ของเรดแฮต (Redhat) มาคอมไพล (Compile) ใหม และเพมเตมบางอยางลงไป ถงแมสวนใหญจะเปนซอสโคดตวเดยวกน แตกมบางอยางไมไดเปนของตนฉบบบ ซงอาจท าใหเกดความผดพลาดได หากซอฟตแวร (Software) จากทางเรดแฮตไดท าการแกไขบค (Bug) หรอออกอพเดท (Update) กไมสามารถรบประกนไดวาทางเซนตโอเอสจะออกอพเดทมาไดทนเวลา [5] 2.3 เวปเซรฟเวอร (Web Server) เวปเซรฟเวอรเปนเครองคอมพวเตอรทท าหนาทเปนเครองบรการเวบเพจแกผรองขอ เปนเครองทเปดบรการพอรต 80 ซงเปนพอรตของโปโตคอล HTTP (Hyper Text Transfer Protocol) เปนโปโตคอลในการสงขอมลในรปของขอความ ภาพ เสยง หรอสอผสม ขอมลทอยในเวปเซรฟเวอรจะเปนประเภทเวบเพจทประกอบดวยขอความ ภาพนง ภาพเคลอนไหว เสยงและอนๆ ในปจจบนมซอฟตแวรทท าหนาทเปนเวปเซรฟเวอรอยางมากมายหนงในนนคอ Apache ซงเปนซอฟตแวรประเภทเวปเซรฟเวอรทไดรบความนยมมากทสด สามารถดาวนโหลดมาใชไดโดยไมเสยคาใชจาย มการปรบปรงคณสมบตทท าไดงาย รองรบการใชภาษา PHP [5] 2.4 ระบบฐำนขอมล Mysql 2.4.1 คณสมบตของระบบฐานขอมล Mysql ระบบฐานขอมล Mysql จดเปนระบบฐานขอมลเชงสมพนธ (RDBMS : Relational Database Management System) ซงเปนทนยมใชกนมากในปจจบน เนองจาก - Mysql เปนฟรแวรดานฐานขอมลทมประสทธภาพสง - นกพฒนาฐานขอมลทเคยใช Mysql ตางยอมรบในความรวดเรว การรองรบจ านวนผใช และขนาดของขอมลจ านวนมหาศาล - สนบสนนการใชงานบนระบบปฏบตการมากมาย เชน UNIX, MAC, Windows - สามารถใชงานรวมกบ Web Development Platform เชน C, C++, JAVA, Perl, PHP, Python, TCL, ASP เปนตน - ไดรบความนยมอยางมากในปจจบน และมแนวโนมสงขนเรอยๆ ในอนาคต Mysql จดเปนซอฟตแวรประเภท open source สามารถดาวนโหลดซอรสโคดไดจากอนเตอรเนตโดยไมเสยคาใชจายใดๆ การแกไขสามารถท าไดโดยตามความตองการ

10

2.4.2 สถาปตยกรรมของ Mysql โครงสรางการท างานของ Mysql เปนลกษณะการท างานแบบ Client/Server ซง

ประกอบดวยสวนหลกๆ คอ สวนของผใหบรการ (Server) และสวนของผใชบรการ (Client) โดยในแตละสวนกจะมโปรแกรมส าหรบการท างานตามหนาทของตน - สวนของผใหบรการ (Server) เปนสวนทท าหนาทบรหารจดการระบบฐานขอมล กคอ Mysql Server และเปนทจดเกบขอมลทงหมด - สวนของผใชบรการ (Client) คอ ผใช โปรแกรมใชงานสวนนไดแต Mysql client, Access, Web development platform ตางๆ เชน JAVA, Perl, PHP, ASP 2.5 วนโดวสเมสเซจ (Windows Message) ของระบบปฏบตกำรไมโครซอฟตวนโดวส ในการท างานของระบบปฏบตการไมโครซอฟตวนโดวส จะมการสงขอความทเรยกวา วนโดวสเมสเซจ เกดขนอยตลอดเวลาภายในระบบปฏบตการ เพอใชในการแจงการท างานหรอแจงเหตการณตางๆ ทเกดขนภายในระบบปฏบตการ ตวอยางของ วนโดวสเมสเซจ WM_DEVICECHANGE จะเกดขนเมอมเหตการณทเกยวกบอปกรณฮารดแวร เชน การเปลยนแปลง, การใชงาน หรอการยกเลกใชงานอปกรณฮารดแวร ทงนรวมถงการใชงานยเอสบไดรฟ และอปกรณเกบขอมลแบบพกพา โดยมฟงกชนทรบเมสเซจจากระบบปฏบตการวนโดวสมา จดการ คอ Window Function ชอวา WindowProc() ซงม 4 พารามเตอรโดยมรปแบบดงน LRESULT CALLBACK WindowProc( HWND hwnd, UINT uMsg, WPARAM WParam, LPARAM LParam ); 1) hWnd เปนเครองมอของวนโดวสเมสเซจ 2) uMsg ขอมลของเมสเซจ 3) WParam ขอมลเพมเตมของเมสเซจ รายละเอยดการเปลยนแปลงอปกรณ 4) LParam ขอมลเพมเตมของเมสเซจ รายละเอยดของเหตการณ ตำรำงท 2.2 แสดงรายละเอยดของวนโดวสเมสเซจ [2,3]

วนโดวสเมสเซจ ค าอธบาย DBT_DEVICEARRIVAL 0x8000 เกดขนเมอมการเสยบใชงานยเอสบไดรฟ DBT_DEVICEQUERYREMOVE 0x8001

เกดขนเมอระบบขออนญาตสทธใหรมฟยเอสบไดรฟ (ถามโปรแกรมก าลงใชงานอย ระบบ

11

สามารถปฎเสธ การยกเลกการใชงานได) DBT_DEVICEQUERYREMOVEFAILED 0x8002

เกดขนในกรณทไมสามารถรมฟยเอสบไดรฟ ออกได

DBT_DEVICEREMOVECOMPLETE 0x8004

จะเกดขนหลงจากอปกรณยเอสบไดรฟถกถอดออก

DBT_DEVICETYPESPECIFIC 0x8005 เหตการณทเกดขนเฉพาะกบอปกรณ DBT_CUSTOMEVENT 0x8006 กรณทมการก าหนดเหตการณ DBT_DEVNODES_CHANGED 0x0007 มการเปลยนแปลงเพม หรอลบอปกรณจากระบบ

2.6 คลปบอรด (Clipboard) เปนพนททใชจดเกบขอมลชวคราว เชน ขอความ รปภาพ ไฟลตางๆ เปนตน เมอมการใชค าสง Copy หรอ Cut ขอมลดงกลาวจะถกเขาไปอยในสวนทเรยกวา คลปบอรด กอนทจะมการ Paste ลงไปยงพนททตองการ ซงในโครงงานนจะมการน าคลปบอรดมาใชในการตรวจสอบไฟลกอนทจะถกถายโอนไปยงยเอสบไดรฟ โดยจะท าการตรวจสอบแฮชของไฟลทงหมดอยในคลปบอรดถามแฮชของไฟลตรงกบทอยในระบบขอมลทอยในคลปบอรดจะถกเคลยรทงทนท ซงจะท าใหไมสามารถถายโอนไฟลขอมลดงกลาวได [1] 2.7 ภำษำพเอชพ (PHP) เปนภาษาทใชส าหรบจดท าเวปไซด และแสดงผลออกมาในรปแบบของ HTML (Hypertext Markup Language) ซงมโครงสรางของค าสงมาจากภาษาซ จาวา และเพรล ภาษาพเอชพนนงายตอการเรยนร ภาษาพเอชพนนจะอยในสวนของเวปเบส (Web Base) คอโปรแกรมทท างานบนเวบเซรฟเวอรโดยรนผานโปรแกรมเวบบราวเซอรทวไป เชน Internet Explorer, Mozilla Firefox, Google Chrome, Opera, Safari เปนตน ไมตองตดตงโปรแกรมหรอสครปตทพฒนาขนในแตละเครอง เพราะจะเรยกใชงานผานเซรฟเวอรดวยเวบเบราเซอรตางๆ เหมาะส าหรบระบบจดการขอมล และรายงานตางๆ [4] 2.8 ฟงกชนแฮช (Hash) วธการแฮช โดยสวนใหญจะเปนฟงกชนทางคณตศาสตร โดยฟงกชนแฮชทด จะมคณสมบตการกระจายทด คอ ขอความเดยวกนเมอผานแฮชฟงกชน จะไดผลลพธเหมอนเดมเสมอ และหากขอความทตางกนเพยงเลกนอยผานแฮชฟงกขน ควรจะตองไดผลลพธทตางกนมาก และทส าคญกคอ ไมควรมขอความใดๆ ตงแต 2 ขอความขนไป ทผานแฮชฟงกชนแลว จะไดผลลพธทเหมอนกน นอกจากนนแลวฟงกชนแฮชทดควรมคณสมบตดงตอไปน

1.) ฟงกชนแฮชควรสามารถใชงานกบขอมลทมความยาวใดๆ ได

12

2.) ฟงกชนแฮชจะตองสามารถสรางผลลพธทมความยาวเพยงคาเดยว (คอผลลพธยาวเทากนหมด)

3.) ฟงกชนแฮชควรเปนฟงกชนทไมซบซอน สามารถสรางโดยฮารดแวรและซอฟตแวรไดงาย

4.) ฟงกชนแฮชไมควรเปนฟงกชนทยอนกลบได คอ เมอทราบผลลพธแลวไมมทางทราบขอมลเลย

ฟงกชนแฮชนนอนทจรงแลวสามารถสรางไดงาย เชน การน าเอาขอความมาบวกกนทงหมด แลวกลายเปนคาแฮชกได แตฟงกชนแฮชในลกษณะดงกลาวมขอเสยคอ จะเกดการซ ากนของผลลพธไดงาย ดงนนจงมผคนคดฟงกชนแฮชเอาไวมากมาย แตฟงกชนแฮชทใชในการท าลายเซนดจทลซกเนเจอร (Digital Signature) ทยอมรบกนวาเปนมาตรฐานนน มอย 2 ฟงกชน ฟงกชนแรกมชอวา SHA โดย SHA ไดรบการพฒนาโดย NIST (National Institute of Standard and Technology) ซงเปนหนวยงานทท าหนาทก าหนดมาตรฐานทางเทคโนโลยของสหรฐอเมรกา โดยไดรบการประกาศเปนมาตรฐานท FIPS PUB 180 ในป 1993 โดยหลงจากนนมการปรบปรงเปน SHA-1 ในป 1995 โดยประกาศเปนมาตรฐานท FIPS PUB 180-1 โดยผลลพธทไดจาก SHA-1 จะเปนตวเลขทมความยาว 160 บต ส าหรบฟงกชนอกฟงกชนหนงทนยมไมแพ SHA-1 และอาจเปนทนยมมากกวาดวย คอ MD5 (Message Digest 5) ซงออกแบบโดย Ron Rivest โดยไดประกาศเปนมาตรฐานใน RFC 1321 โดยผลลพธของ MD5 จะไดตวเลขความยาว 128 บต [2,3] 2.9 สรปทำยบท จากการศกษาเกยวกบทฤษฎพนฐานทใชในการท าโครงงาน ท าใหทราบวาอปกรณยเอสบไดรฟมการท างานอยางไร ภายในของตวยเอสบไดรฟประกอบดวยอะไรบาง การถายโอนขอมลมความเรวในการถายโอนขอมลทแตกตางกนขนอยทเวอรชนของยเอสบ รหสชนของยเอสบมการตดตอกบระบบปฏบตการอยางไร คารหสชนตางๆ หมายถงอะไร การเกดวนโดวสเมสเซจของระบบปฏบตการเมอมการเสยบใชงานหรอยกเลกใชงานจะมคาของวนโดวสเมสเซจทแตกตางกน ท าใหการพฒนาโปรแกรมจงตองค านงถงคาของวนโดวสเมสเซจเปนหลก เพราะโปรแกรมตองใชคาของวนโดวสเมสเซจไปตรวจสอบวาระบบปฏบตการมเหตการณอะไรเกดกบการใชงานยเอสบไดรฟ

13

บทท 3 กำรออกแบบและพฒนำ

3.1 กำรออกแบบโครงสรำงและองคประกอบโครงงำน

รปท 3.1 โครงสรางและองคประกอบโครงงาน

จากรปท 3.1 เปนโครงสรางทแสดงใหเหนถงภาพรวมของระบบ จะเหนไดวาโครงสรางการท างานจะแบงออกเปน 2 สวน คอ สวนทเปนเซรฟเวอร (Server) และสวนทเปนไคลเอนต (Client) 1. สวนทเปนเซรฟเวอร ท าหนาทเปนระบบฐานขอมล เกบขอมล Username, Password, ประวตการใชงาน และการก าหนดสทธการเขาใชงานของผใช โดยการก าหนดสทธ การเขาใชงานของผใชนน ผดแลระบบจะเปนคนก าหนดสทธการใชงาน นอกจากท าหนาทเปนระบบฐานขอมลแลว ยงท าหนาทเปน Web Server เพอใหผดแลระบบสามารถตรวจสอบการใชงานและก าหนดสทธการใชงานของผใชได 2. สวนทเปนไคเอนต เครองไคลเอนตจะถกตดตงโปรแกรมขนาดเลกหรอเอเจนต (Agent) ลงในเครอง จะท าหนาทเปนระบบพสจนตวตนเพอทจะยนยนการใชงานยเอสบ ถาไมท าการระบตวตนการใชงานจะไมสามารถใชงานยเอสบได โปรแกรมทตดตงบนเครองไคลเอนตขนาดเลกจะท าการสงประวตขอมลการใชงานยเอสบของผใช เชน การถายโอนขอมล สามารถตรวจสอบไดวาขอมลทผใชไดถายโอนไปเปนขอมลทส าคญตอองคกรหรอไม

14

3.2 แผนผงกำรท ำงำนทงหมด

(Clent) (Server)

Username,Password

IPAddress

IPAddress Username

Username Password

IPAddress

Username IPAddress

Username Password

Login Success

Login

รปท 3.2 แผนผงการท างานทงหมด

15

3.3 แผนผงกำรท ำงำนกำรตรวจสอบกำรเขำใชงำนยเอสบไดรฟ

(Clent) (Server)

Username,Password

IPAddress

IPAddress Username

Username Password

IPAddress

Username IPAddress

Username Password

Login Success

Login

Storage

รปท 3.3 แผนผงการท างานการตรวจสอบการเขาใชงานยเอสบไดรฟ

จากรปท 3.3 อธบายการท างานไดดงน เมอผใชตองการใชงานยเอสบไดรฟ โดยท าการเสยบเขากบพอรตยเอสบ โปรแกรมจะท าการตรวจสอบยเอสบไดรฟทเขามา ถาเปนยเอสบไดรฟทเปนแบบสตอเรจ (Storage) จะแสดงหนาจอโปรแกรมจะแสดงหนาจอเพอใหผใชระบ Username และ Password เพอระบตวตนในการใชงานยเอสบ แตถาไมใชทเปนยเอสบแบบสตอเรจโปรแกรมจะไมแสดงหนาจอใหกรอก Username และ Password เมอกรอกขอมล Username และ Password แลว โปรแกรมทอยฝ งไคลเอนตจะสงขอมลใหกบเซรฟเวอรเพอตรวจสอบสทธการเขาใชงาน ถาไดรบอนญาตจะสามารถใชงานยเอสบไดรฟได ถาไมไดรบอนญาตยเอสบไดรฟจะไมสามารถใชงานได

16

3.4 แผนผงกำรท ำงำนกำรตรวจสอบกำรถำยโอนไฟลขอมล

(Clent) (Server)

รปท 3.4 แผนผงการท างานการตรวจสอบการถายโอนไฟลขอมล

จากรปท 3.4 อธบายการท างานไดดงน เมอผใชท าการพสจนตนเพอใชงานยเอสบไดรฟผานแลว ถาผใชงานมการถายโอนไฟลไปยงยเอสบไดรฟ โปรแกรมทอยบนเครองไคลเอนตจะสงขอมลมาตรวจสอบทเซรฟเวอร โดยจะตรวจสอบวาไฟลนนสามารถถายโอนไฟลไดหรอไม ถาไดรบอนญาตใหสามารถถายโอนไฟล เซรฟเวอรจะท าการบนทกขอมลการถายโอนไฟลลงฐานขอมล เพอใชในการตรวจสอบ และไฟลขอมลจะสามารถถกถายโอนไปยงยเอสบไดรฟได แตถาไฟลทตองถายโอนนนตรงกบทอยในระบบ ระบบจะมขอความแจงเตอนวาไฟลดงกลาวไมอนญาตใหถายโอนไฟลได

17

3.5 แผนผงกำรท ำงำนกำรเพมไฟลขอมลทมควำมส ำคญ

(Web Application) (Server)

Filename,Desciption File, MD5 File

รปท 3.5 แผนผงการท างานการเพมไฟลขอมลทมความส าคญ

จากรปท 3.5 อธบายการท างานไดดงน เปนการเพมไฟลขอมลเพอปองกนไมใหผใชงานสามารถถายโอนไฟลไปยงยเอสบไดรฟได โดยผดแลระบบจะท าการกรอกขอมลผานเวปแอพลเคชนโดยตองระบขอมลดงน Filename : ชอของไฟลทตองการเพม Description File : รายละเอยดของไฟลทตองการเพม MD5 File : เปนรหส MD5 ของไฟลทตองการเพม เมอระบขอมลเรยบรอยแลวเวปแอพลเคชนจะท าการสงขอมลดงกลาวไปยงเซรฟเวอรเพอท าการเพมเขาสระบบ ถาในระบบมขอมลอยแลวจะไมสามารถเพมขอมลได จะมขอความแจงเตอนมายงเวปแอพพลเคชน แตถาไมมอยในระบบขอมลดงกลาวจะสามารถเพมได

18

3.6 แผนผงกำรท ำงำนกำรเพมหมำยเลขไอพแอดเดรสในระบบ

(Web Application) (Server)

IPAddress , Department

รปท 3.6 แผนผงการท างานการเพมหมายเลขไอพแอดเดรสในระบบ จากรปท 3.6 อธบายการท างานไดดงน เปนการเพมขอมลของหมายเลขไอพแอดเดรสในระบบเพอใหเครองคอมพวเตอรเครองนนสามารถใชงานยเอสบไดรฟได โดยตองระบขอมลดงน IPAddress : เปนหมายเลขไอพแอดเดรสของเครองคอมพวเตอร Department : เปนแผนกทเครองคอมพวเตอรใชงานอย เมอระบขอมลเรยบรอยแลวเวปแอพลเคชนจะท าการสงขอมลดงกลาวไปยงเซรฟเวอรเพอท าการเพมเขาสระบบ ถาในระบบมขอมลอยแลวจะไมสามารถเพมขอมลได จะมขอความแจงเตอนมายงเวปแอพพลเคชน แตถาไมมอยในระบบขอมลดงกลาวจะสามารถเพมได

19

3.7 แผนผงกำรท ำงำนกำรเพมยสเซอรเนม พำสเวรด และแผนกในระบบ

(Web Application) (Server)

Username, Password ,Department

รปท 3.7 แผนผงการท างานการเพมยสเซอรเนม พาสเวรด และแผนกในระบบ

จากรปท 3.7 อธบายการท างานไดดงน เปนการเพมขอมลของหมายเลขยสเซอรเนม พาสเวรด และแผนกในระบบ เพอใหยสเซอรเนมนนสามารถใชงานยเอสบไดรฟได โดยตองระบขอมลดงน Username : เปนยสเซอรเนมของผใชงาน Password : เปนพาสเวรดของผใชงาน จะเกบ SHA1 ในระบบฐานขอมล Department : เปนแผนกของยสเซอรเนมทผใชงานใชงานอย โดยจะสมพนธกบหมายเลขไอพแอดเดรส เมอระบขอมลเรยบรอยแลวเวปแอพลเคชนจะท าการสงขอมลดงกลาวไปยงเซรฟเวอรเพอท าการเพมเขาสระบบ ถาในระบบมขอมลอยแลวจะไมสามารถเพมขอมลได จะมขอความแจงเตอนมายงเวปแอพพลเคชน แตถาไมมอยในระบบขอมลดงกลาวจะสามารถเพมได

20

3.8 ออกแบบตำรำงฐำนขอมล

รปท 3.8 ตารางฐานขอมล

ตำรำงท 3.1 รายละเอยดของตาราง Users ATTRIBUTES DATA TYPE LENGTH DESCRIPTION KEY

Id INTEGER - เลขล าดบของฐานขอมล PK Role_id INTEGER - รหสของแผนก FK Username VARCHAR 20 ชอ username ของผใชงาน Password VARCHAR 255 รหสผานของผใชงาน (SHA1) ตำรำงท 3.2 รายละเอยดของตาราง Log_authen ATTRIBUTES DATA TYPE LENGTH DESCRIPTION KEY

Id INTEGER - เลขล าดบของฐานขอมล PK Username VARCHAR 20 ชอ username ของผใชงาน IPAddress VARCHAR 255 IPAddress ของเครองทใชงาน Date_time DATETIME - วนเวลาทเขาใชงาน ตำรำงท 3.3 รายละเอยดของตาราง Role ATTRIBUTES DATA TYPE LENGTH DESCRIPTION KEY

Id INTEGER - เลขล าดบของฐานขอมล PK Role_id INTEGER - รหสของชอแผนก FK Role_name VARCHAR 45 ชอแผนก

21

ตำรำงท 3.4 รายละเอยดของตาราง Permission_access ATTRIBUTES DATA TYPE LENGTH DESCRIPTION KEY

Id INTEGER - เลขล าดบของฐานขอมล PK Role_id INTEGER - รหสของชอแผนก FK IPAddress VARCHAR 255 IPAddress ของเครองทใชงาน ตำรำงท 3.5 รายละเอยดของตาราง Log_file ATTRIBUTES DATA TYPE LENGTH DESCRIPTION KEY

Id INTEGER - เลขล าดบของฐานขอมล PK Role_id INTEGER - รหสของชอแผนก FK Username VARCHAR 20 ชอ username ของผใชงาน Details_log VARCHAR 255 รายละเอยดของ Log Filename VARCHAR 255 Path ไฟลทถายโอนขอมล Date_time DATETIME - วนเวลาทถายโอนไฟลขอมล IPAddress VARCHAR 255 IPAddress ของเครองทใชงาน Hash_file VARCHAR 255 Hash ของไฟลทมการถายโอน ตำรำงท 3.6 รายละเอยดของตาราง List_file ATTRIBUTES DATA TYPE LENGTH DESCRIPTION KEY

Id INTEGER - เลขล าดบของฐานขอมล PK File_name VARCHAR 255 ชอไฟล File_hash_md5 VARCHAR 255 Hash ของไฟล File_description VARCHAR 255 รายละเอยดของไฟล Date_time DATETIME - วนเวลาทเพมไฟล จากรปท 3.8 เปนการออกตารางฐานขอมลทใชในโครงงานน ซงจะมตารางฐานขอมลทงหมด 4 ตาราง โดยมรายละเอยด ดงน 1.) ตาราง Users ใชเกบขอมล username และ password ของผใช ซงตารางนจะเปนตารางทใชตรวจสอบเมอผใชท าการลอกอนผานโปรแกรมทพฒนาขน ตาราง Users จะมความสมพนธกบตาราง Role และ Log_authen เนองจากระบบมการก าหนดสทธการเขาใชงาน 2.) ตาราง Log_authen ใชเกบขอมลทผใชงานท าการลอกอนเพอใชงานยเอสบไดรฟ จะมการบนทกวนเวลา บนทกหมายเลขไอพแอดเดรสของเครองคอมพวเตอรทผใชงานท าการลอกอนเขา โดยผดแลระบบสามารถตรวจสอบขอมลทผใชงานผานทางเวปแอพพลเคชนได

22

3.) ตาราง Role เปนตารางทใชเกบขอมลของแผนกซงจะมความสมพนธกบตาราง Users และตาราง Permission_access

4.) ตาราง Permission_access เปนตารางทใชเกบขอมลหมายเลขไอพแอดเดรสของแตละแผนก อางองจากไอพแอดเดรสของเครองคอมพวเตอร โดยดวาไอพแอดเดรสของเครองคอมพวเตอรอยทแผนกไหน 5.) ตาราง Log_file เปนตารางทใชเกบขอมลเมอผใชมการถายโอนไฟล เพอใชตรวจสอบวาผใชงานไดมถายโอนอะไรออกไปบาง ขององคกรหรอไม 6.) ตาราง List_file เปนตารางทใชเกบชอของไฟลทส าคญๆ ขององคกร ถาผใชงานมการถายโอนหรอยายไฟลทมขอมลอยในตารางน ผใชจะไมสามารถถายโอนหรอยายไฟลนนออกไปได 3.9 ออกแบบหนำจอโปรแกรมฝงเครองไคลเอนต

รปท 3.9 โปรแกรมฝ งเครองไคลเอนต

เปนโปรแกรมทตดตงทฝ งเครองไคลเอนต เมอมการเสยบใชงานยเอสบไดรฟโปรแกรมจะแสดงหนาตางโปรแกรม ดงรปท 3.9 เพอใหผใชไดท าการระบตวตนในการใชงานกอน โดยโปรแกรมนจะเชอมตอกบเซรฟเวอร เมอผใชระบขอมล Username และ Password แลว กดปมลอกอน โปรแกรมจะสงขอมลของ Username และ Password เพอตรวจสอบกบขอมลทอยในฐานขอมล

23

บทท 4 กำรทดลองและผลกำรทดลอง

4.1 สภำพแวดลอมทใชในกำรทดลอง - เครองเซรฟเวอร (Server)

ตดตงระบบปฏบตการลนกซเซนตโอเอส (Linux CentOS) ตดตตงฐานขอมล MySQL ตตตงเวปเซรฟเวอร (Web Server) ตดตง PHP

- เครองไคลเอนต (Client) ตดตงระบบปฏบตการไมโครซอรฟวนโดวเซเวน (Microsoft Windows 7) ตดตงโปรแกรม .Net Framwork 4.0 ขนไป ตดตงโปรแกรมทพฒนาขน (Program Agent)

4.2 กำรใชงำนอปกรณยเอสบ การทดลองน าอปกรณยเอสบไดรฟชนดตางๆ มาทดลองเพอใหทราบถงรายละเอยดของการเรยกใชงานอปกรณยเอสบ วามความแตกตางกนอยางไร บนระบบปฏบตการไมโครซอรฟวนโดว 4.2.1 การทดลองใชงานอปกรณเกบขอมลแบบยเอสบ การทดลองใชอปกรณเกบขอมลแบบยเอสบ เชน แฟลชไดรฟ หรอเอกซเทอรนอลฮารดไดรฟ เมอเสยบอปกรณเกบขอมลแบบยเอสบเขากบพอรตยเอสบของคอมพวเตอร พบวาในดไวซเมเนเจอร (Device Manager) จะแสดงขอมลเปนอปกรณเกบขอมลแบบยเอสบ (USB Mess Storage Device) ดงในรปท 4.1

24

รปท 4.1 ดไวซของอปกรณเกบขอมลแบบยเอสบ

4.3 ทดลองกำรเกดวนโดวสเมสเซจ 4.3.1 การทดลองวนโดวสเมสเซจเมอใชงานอปกรณเกบขอมลแบบยเอสบ เปนการทดลองเพอใหเหนคาของวนโดวเมสเซจ เมอใชงานอปกรณเกบขอมลแบบยเอสบ โดยใชการเขยนโปรแกรมตดตอกบพอรตยเอสบ เมอมการเสยบใชงานยเอสบหรอยกเลกใชงานยเอสบ โปรแกรมจะสงคาพารามเตอรของ WindowsProc ซงภายในจะมพารามเตอรทใชบอกคาตางๆ ของเหตการณทเกดขน เชน msg, hwnd, wparam, lparam, result เปนตน ในการเสยบใชงานอปกรณเกบขอมลแบบยเอสบ คาในพารามเตอรจะมคา msg เปน WM_DEVICECHANG และคาใน wparam จะมคาเปน 0x8000 ซงเปนการบอกใหทราบวามการเสยบใชงานอปกรณเกบขอมลแบบยเอสบ ดงรปท 4.2

25

รปท 4.2 วนโดวสเมสเซจเมอเสยบใชงานอปกรณเกบขอมลแบบยเอสบ

ในการยกเลกใชงานอปกรณเกบขอมลแบบยเอสบ คาในพารามเตอรจะมคา msg เปน WM_DEVICECHANG และคาใน wparam จะมคาเปน 0x8004 ซงเปนการบอกใหทราบวามการยกเลกใชงานอปกรณเกบขอมลแบบยเอสบ ดงรปท 4.3

รปท 4.3 วนโดวสเมสเซจเมอยกเลกใชงานอปกรณเกบขอมลแบบยเอสบ

4.4 กำรทดลองโปรแกรม 4.4.1 การตรวจสอบการพสจนตวตนกอนเขาใชงานยเอสบไดรฟ เมอมการเชอมตอยเอสบเขากบพอรตของเครองคอมพวเตอรโปรแกรมจะแสดงหนาจอของโปรแกรมใหผใชงานท าการลอกอนเขาระบบ ถาผใชงานมขอมล Username และ Password อยในระบบ ผใชสามารถลอกอนได และสามารถใชงานยเอสบไดรฟได แตถาผใชงานไมม Username และ Password อยในระบบ ผใชงานจะไมสามารถใชงานยเอสบไดรฟได

26

รปท 4.4 หนาจอแสดงโปรแกรมใหผใชท าการลอกอน

รปท 4.5 สามารถใชงานยเอสบไดรฟได

จากรปท 4.5 เมอผใชงานสามารถลอกอนเขาใชงานส าเรจ โปรแกรมจะแสดงหนาจอแจงเตอนใหทราบวาสามารถใชงานยเอสบไดรฟได หลงจากทผใชงานกดปมตกลงโปรแกรมจะหายไปแตยงคงท างานอย จะเปนการท างานแบบขางหลง (Background Process)

รปท 4.6 แสดงขอความแจงเตอนกรณไอพแอดเดรสยงไมลงทะบยนในระบบ

จากรปท 4.6 เมอผใชงานลอกอนเขาใชงาน ระบบจะท าการตรวจสอบหมายเลขของไอ

พแอดเดรสของเครองกอน ถาหมายเลขไอพแอดเดรสไมมในระบบ ระบบจะแสดงขอมลแจงวาหมายเลขไอพแอดเดรสดงกลาวยงไมท าการลงทะเบยนในระบบ

27

รปท 4.7 แสดงขอความแจงเตอนกรณไอพแอดเดรสและยสเซอรเนมอยคนละแผนก

จากรปท 4.7 เมอผใชงานลอกอนเขาใชงาน ระบบจะท าการตรวจสอบหมายเลขของไอ

พแอดเดรสของเครองกอน ถาไอพแอดเดรสของเครองสามารถเขาใชงนได ระบบจะท าการตรวจสอบยสเซอรเนมของผใชวายสเซอรเนมกบหมายเลขไอพแอดเดรสอยในแผนกเดยวกนหรอไม ถาหมายเลขไอพแอดเดรสและยสเซอรเนมไมอยในแผนกเดยวกน ระบบจะแสดงขอมลแจงวายสเซอรเนมไมสามารถเขาใชงานกบหมายเลขไอพแอดเดรสนได

รปท 4.8 แสดงขอความแจงเตอนวายสเซอรเนมและพาสเวรดผดพลาด

จากรปท 4.8 เมอผใชงานลอกอนเขาใชงาน ระบบจะท าการตรวจสอบยสเซอรเนมและพาสเวรด ถายสเซอรเนมและพาสเวรดไมมในระบบ ระบบจะแสดงขอความแจงเตอนวายสเซอรเนมและพาสเวรดผดพลาด กรณา Login ใหม 4.4.2 ฐานขอมลของระบบ

รปท 4.9 ขอมลในตาราง Users

28

จากรปท 4.9 เปนขอมลของตาราง users ทใชเกบขอมลของ username และ password ของผใช โดยมรายละเอยดของขอมลในตารางดงน id : ใชเกบจ านวนของขอมลทอยในตาราง โดยคาจะไมซ า username : ใชเกบขอมล username ของผใช password : ใชเกบขอมล password ของผใช จะเขารหสขอมลโดยใช SHA1 role_id ใชเกบขอมลสทธการเขาใชงาน

รปท 4.10 ขอมลในตาราง Role

จากรปท 4.10 เปนขอมลของตาราง Role ทใชเกบขอมลของแผนก โดยมรายละเอยด

ของขอมลในตารางดงน id : ใชเกบจ านวนของขอมลทอยในตาราง โดยคาจะไมซ า role_id : ใชเกบรหสของแตละแผนก role_name : ใชเกบขอมลชอแผนก

รปท 4.11 ขอมลในตาราง Permission_access

29

จากรปท 4.11 เปนขอมลของตาราง Permission_access ทใชเกบขอมลของไอพแอดเดรสและรหสแผนก โดยมรายละเอยดของขอมลในตารางดงน id : ใชเกบจ านวนของขอมลทอยในตาราง โดยคาจะไมซ า role_id : ใชเกบรหสของแตละแผนก ipaddress : หมายเลขไอพแอดเดรสเครองคอมพวเตอรในแตละแผนก

รปท 4.12 ขอมลในตาราง List_file

จากรปท 4.12 เปนขอมลของตาราง List_file ทใชเกบขอมลของไฟลทมความส าคญๆ

โดยมรายละเอยดของขอมลในตารางดงน id : ใชเกบจ านวนของขอมลทอยในตาราง โดยคาจะไมซ า file_name : ใชเกบขอมลชอของไฟล file_hash_md5 : ใชเกบหมายเลขแฮช MD5 (Hash MD5) ของไฟล file_description : ใชเกบรายละเอยดของไฟล date_time : ใชเกบขอมล Date/time ของการเพมไฟลดงกลาว

รปท 4.13 ขอมลในตาราง Log_authen

จากรปท 4.13 เปนขอมลของตาราง Log_authen ทใชเกบขอมลของยสเซอรเนมท

ลอกอนเขามาในระบบ โดยมรายละเอยดของขอมลในตารางดงน id : ใชเกบจ านวนของขอมลทอยในตาราง โดยคาจะไมซ า username : ใชเกบขอมลยสเซอรเนมทลอกอนเขามาในระบบ

30

ipaddress : ใชเกบหมายเลขไอพแอดเดรสเครองคอมพวเตอรทลอกอน เขามาในระบบ

date_time : ใชเกบขอมล Date/time ของยสเซอรเนมทลอกอนเขามาใน ระบบ

รปท 4.14 ขอมลในตาราง Log_file

จากรปท 4.14 เปนขอมลของตาราง Log_file ทใชเกบขอมลของการถายโอนไฟลไปยง

ยเอสบไดรฟในระบบ โดยมรายละเอยดของขอมลในตารางดงน id : ใชเกบจ านวนของขอมลทอยในตาราง โดยคาจะไมซ า rold_id : ใชเกบรหสของแตละแผนก username : ใชเกบขอมลยสเซอรเนมทถายโอนไฟล

details_log : ใชเกบรายละเอยดของการถายโอนไฟล filename : ใชเกบ Path ไฟลของไฟลทท าการถายโอน date_time : ใชเกบขอมล Date/time ของการถายโอนไฟล ipaddress : ใชเกบหมายเลขไอพแอดเดรสเครองคอมพวเตอรทถายโอน

ไฟล hash_file : ใชเกบหมายเลขแฮช MD5 (Hash MD5) ของไฟล

31

4.4.3 ขนการทดลองโปรแกรม

รปท 4.15 การใชโปรแกรมดาวนโหลดไฟลจากเซรฟเวอร

จากรปท 4.15 ผใชงานท าการดาวโหลดไฟลทตองการมายงเครองของตนเอง

รปท 4.16 ไฟลทดาวนมาจากเซรฟเวอร

จากรปท 4.16 โฟลเดอรของไฟลในเครองของผใชงานทผใชงานท าการดาวนโหลดมา

32

รปท 4.17 ไฟลทดาวนมาจากเซรฟเวอร

จากรปท 4.17 เมอผใชงานตองการถายโอนไฟลไปยงยเอสบไดรฟ ผใชงานท าการ

เสยบยเอสบไดรฟ หลงจากนนโปรแกรมจะแสดงหนาจอใหผใชงานท าการพสจนตวตนกอนเขาระบบ เมอท าการพสจนตวตนเรยบรอยแลว หนาจอของโปรแกรมจะหายไปหลงจากนนผใชจะสามารถถายโอนไฟลได

รปท 4.18 ขอความแจงเตอนไมอนญาตใหถายโอนไฟลขอมล

33

จากรปท 4.18 เมอผใชงานตองการถายโอนไฟลไปยงยเอสบไดรฟ ถาไฟลทผใชงานถายโอนไปนน ระบบไมอนญาตใหถายโอนไฟลจะแสดงขอความดงรปท 4.18 แตถาไฟลทผใชงานถายโอนนน ระบบอนญาตใหถายโอนไฟลได ระบบจะท าการบนทกขอมลวาผใชงานมการถายโอนไฟลอะไรออกไป

รปท 4.19 แสดงขอมลใหเหนวาไมสามารถวางทระบบไมอนญาตได

จากรปท 4.19 แสดงใหเหนวาเมอผใชงานตองการถายโอนไฟลทระบบไมอนญาต กจะ

ไมสามารถวางไฟลดงกลาวลงในยเอสบไดรฟได

34

4.4.4 การทดลองสวนของผดแลระบบ

รปท 4.20 หนาจอลอกอนเขาระบบของผดแลระบบ

จากรปท 4.20 เปนหนาจอของผดแลระบบ หนาจอลอกอนเขาระบบเพอไปจดการขอมล

ทอยในระบบและสามารถตรวจสอบขอมลทผใชงานยเอสบไดรฟมการถายโอนไฟลได

รปท 4.21 หนาจอแสดงการถายโอนไฟลของผใชงาน

จากรปท 4.21 เปนหนาจอของผดแลระบบ หนาจอตรวจสอบการถายโดนไฟลของ

ผใชงานไปยงยเอสบไดรฟ ซงระบบจะมการบนทกขอมลลงฐานขอมลเมอผใชงานท าการถาย

35

โอนไฟลขอมล หนาจอนสามารถท าการฟลเตอรระบบได โดยเลอกจากวนหรอยสเซอรเนมของผใชงานได

รปท 4.22 หนาจอแสดงการลอกอนเพอเขาใชงานในระบบของผใชงาน

จากรปท 4.22 เปนหนาจอของผดแลระบบ หนาจอตรวจสอบการลอกอนเพอเขาใชงาน

ยเอสบไดรฟของผใชงาน ซงระบบจะมการบนทกขอมลลงฐานขอมลเมอผใชงานท าลอกอนเพอเขาใชงานยเอสบไดรฟ หนาจอนสามารถท าการฟลเตอรระบบได โดยเลอกจากไอพแอดเดรสหรอยสเซอรเนมของผใชงานได

รปท 4.23 หนาจอแสดงเพมหมายเลขไอพแอดเดรส

36

จากรปท 4.23 เปนหนาจอของผดแลระบบ หนาจอเพมขอมลหมายเลขไอพแอดเดรสทผดและระบบตองการเพมหมายเลขไอพแอดเดรสของเครองคอมพวเตอรใหกบผใชงาน ซงถาเครองคอมพวเตอรเครองไหนไมท าการเพมหมายเลขไอพแอดเดรสเครองๆ นนจะไมสามารถใชงานยเอสบไดรฟได

รปท 4.24 หนาจอแสดงเพมยสเซอรเนมและพาสเวรด

จากรปท 4.24 เปนหนาจอของผดแลระบบ หนาจอเพมยสเซอรเนมและพาสเวรดทผด

และระบบตองการเพมยสเซอรเนมและพาสเวรดใหกบผใชงาน ซงยสเซอรเนมและพาสเวรดของผใชงานจะตองระบแผนกทผใชงานท างานอย เพราะถาไมใชแผนกทตนท างานอยยสเซอรเนมและพาสเวรดจะไมสามารถใชงานกบแผนกอนได

รปท 4.25 หนาจอแสดงเพมยสเซอรเนมและพาสเวรด

37

จากรปท 4.25 เปนหนาจอของผดแลระบบ หนาจอเพมยสเซอรเนมและพาสเวรดทผดและระบบตองการเพมยสเซอรเนมและพาสเวรดใหกบผใชงาน ซงยสเซอรเนมและพาสเวรดของผใชงานจะตองระบแผนกทผใชงานท างานอย เพราะถาไมใชแผนกทตนท างานอยยสเซอรเนมและพาสเวรดจะไมสามารถใชงานกบแผนกอนได

รปท 4.26 หนาจอแสดงเพมไฟลทไมอนญาตใหถายโอนไฟลขอมล

จากรปท 4.26 เปนหนาจอของผดแลระบบ หนาจอเพมไฟลขอมลทไมอนญาตใหถาย

โอนไฟลไปยงยเอสบไดรฟ

4.4.5 การทดลองดกจบขอมลของโปรแกรม

รปท 4.27 การดกจบขอมลการตรวจสอบหมายเลขไอพแอดเดรส

38

จากรปท 4.27 เปนการดกจบขอมลเมอผใชงานท าการ Login เขามาในระบบ โดยระบบจะท าการตรวจสอบหมายเลขไอพแอดเดรสของเครองกอนเปนอนดบแรก

รปท 4.28 การดกจบขอมลการตรวจสอบยสเซอรเนมและแผนก

จากรปท 4.28 เปนการดกจบขอมลเมอผใชงานท าการ Login เขามาในระบบ โดยระบบจะท าการตรวจสอบยสเซอรเนมและแผนก หลงจากตรวจสอบหมายเลขไอพแอดเดรสเรยบรอยแลว การตรวจสอบยสเซอรเนมและแผนกนนจะมความสมพนธกบหมายเลขไอพแอดเดรส ถายสเซอรเนมและหมายเลขไอพแอดเดรสไมอยในแผนกเดยวกนระบบจะไมอนญาตใหเขาใชงาน

รปท 4.29 การดกจบขอมลการตรวจสอบยสเซอรเนมและพาสเวรด

39

จากรปท 4.29 เปนการดกจบขอมลเมอผใชงานท าการ Login เขามาในระบบ โดยระบบจะท าการตรวจสอบยสเซอรเนมและพาสเวรด หลงจากตรวจสอบยสเซอรเนมและแผนกเรยบรอยแลว พาสเวรดทสงไปยงระบบจะเปนในรปของขอมลแฮช SHA1 ซงจะน าไปตรวจสอบในตารางฐานขอมล

รปท 4.30 การดกจบขอมลการเพมขอมลลอกอนลงฐานขอมล

จากรปท 4.30 เปนการดกจบขอมลเมอผใชงานท าการ Login เขามาในระบบ โดยระบบท าการตรวจสอบเรยบรอยแลววายสเซอรเนมและหมายเลขไอพแอดเดรสสามารถเขาใชงานได ระบบจะท าการบนทกการเขาใชงานของยเซอรเนมนนลงฐานขอมล

รปท 4.31 การดกจบขอมลการตรวจสอบไฟลทตองการถายโอน

40

จากรปท 4.31 เปนการดกจบขอมลเมอผใชงานตองการถายโอนไฟลไปยงยเอสบไดรฟ ระบบจะน าแฮชของไฟลทผใชงานตองการไปตรวจสอบกบขอมลทอยในระบบ ถาไฟลทผใชงานตองการไมมอยในระบบ ระบบจะอนญาตใหถายโอนไฟลทผใชงานตองการได แตถาไฟลทผใชงานตองการมอยในระบบ ระบบจะไมอนญาตใหถายโอนไฟล

รปท 4.32 การดกจบขอมลการเพมขอมลการถายโอนไฟลลงฐานขอมล

จากรปท 4.32 เปนการดกจบขอมลเมอผใชงานตองการถายโอนไฟลไปยงยเอสบไดรฟ เมอระบบท าการตรวจสอบแฮชของไฟลเรยบรอยแลว และตรวจสอบพบวาอนญาตใหถายโอนไฟลดงกลาวได เมอผใชงานท าการถายโอนไฟลไปยงยเอสบไดรฟ ระบบจะท าการบนทกขอมลของไฟลทผใชงานไดท าการถายโอนไป

41

บทท 5

สรปผลกำรด ำเนนโครงงำน

5.1 สรปผลกำรด ำเนนโครงงำน จากการทดลองพบวาโปรแกรมสามารถท าการตรวจสอบ username และ password ได ซงการท างานของโปรแกรมนนจะเรมจาก การเสยบยเอสบไดรฟเขากบเครองคอมพวเตอร เมอโปรแกรมตรวจสอบเจอวามการเสยบยเอสบไดรฟเขามา โปรแกรมจะแสดงหนาจอเพอใหผใชไดท างานลอกอนเพอเขาใชงาน เมอท าการลอกอนแลวโปรแกรมสามารถตรวจสอบไดวา username และ password อนญาตใหใชงานไดหรอไม 5.2 ปญหำและอปสรรค วนโดวสเมสเซจ เปนเหตการณทเกดขนบนระบบฏบตการไมโครซอตฟวนโดวสหลงจากทมการเสยบใชงานหรอยกเลกใชงานอปกรณ จะเกดขนเพยงครงเดยว ถาโปแกรมท างานหลงจากเกดเหตการณของวนโดวสเมสเซจ จะไมสามารถตรวจสอบวนโดวสเมสเซจได 5.3 แนวทำงกำรแกไขปญหำ เนองจากวนโดวสเมสเซจมเหตการณทเกดขนเพยงครงเดยวหลงจากมการเสยบใชงานหรอยกเลกใชงานอปกรณ จงใชวธใหโปรแกรมท างานเปน Background Process ตลอดเพอใหโปรแกรมสามารถตรวจสอบวนโดวสเมสเซจทจะเกดขนไดทน

42

บรรณำนกรม

[1] http://www.codeproject.com/Articles/18062/Detecting-USB-Drive- Removal-in-a-C-Program [2] http://mmsdn.microsoft.com [3] ms-elp://MS.MSDNQTR.v80.en/MS.MSDN.v80/MS.WIN32COM.v10.en/ devio/base/dev_broadcast_hdr_str.htm [4] http://www.thaicreate.com [5] http://spalinux.com/category

43

ภำคผนวก ก. กำรตดตงฐำนขอมล MySQL

44

ขนตอนกำรตดตง MySQL Server

1. ท าการตดตงโปรแกรม Mysql Server บนระบบปฏบตการลนกซเซนโอเอส ดวยค าสง yum install mysql mysql-server

รปท ก.1หนาจอแสดงการใชค าสง yum install

2. ระบบจะถามวาตองการตดตงระบบตามเวอรชนทใหดงกลาวหรอไม ในทนใหตอบ y คอ ตกลงใหตดตงเวอรชนดงกลาว

รปท ก.2 หนาจอแสดงขอมลเวอรของ MySQL

45

3. ระบบท าการดาวนโหลด MySQL มายงเครองเซรฟเวอร

รปท ก.3 หนาจอแสดงการดาวนโหลด MySQL มายงเครองเซรฟเวอร

4. ระบบท าการดาวนโหลด MySQL มายงเครองเซรฟเวอรเสรจสน

รปท ก.4 หนาจอแสดงการดาวนโหลด MySQL มายงเครองเซรฟเวอรเสรจสน

46

5. ท าการตรวจสอบดวยค าสง /etc/init.d/mysqld status เพอตรวจวาเซอรวส MySQL มสถานะเปนอยางไร ท างานอยหรอไมท างาน และค าสง /etc/init.d/mysqld start เพอใหเซอรวสเรมท างาน

รปท ก.5 หนาจอแสดงการตรวจสอบสถานะการท างานของเซอรวสและเรมท างานเซอรวส

6. เมอใชค าสง /etc/init.d/mysqld start เพอเรมท างานเซอรวสแลว ระบบจะแสดง

รายละเอยดขอมลดงรปดานลาง

รปท ก.6 หนาจอแสดงขอมลเมอเซอรวสเรมท างาน

47

7. สามารถเขาใชงานระบบฐานขอมล MySQL ไดดวยค าสง mysql –u root –p หลงจากนนระบบจะใหระบพาสเวรดเพอเขาใช

รปท ก.7 หนาจอแสดงเขาใชงานระบบฐานขอมล MySQL

8. แสดงรายละของฐานขอมลทงหมดทอยใน MySQL

รปท ก.8 หนาจอแสดงรายละของฐานขอมลทงหมดทอยใน MySQL

48

ภำคผนวก ข. รำยละเอยดวนโดวสเมสเซจ

49

ตำรำงท ข.1 วนโดวสเมสเซจ WM_DEVICECHANGE ขอมลในพารามเตอร LPARAM Value Meaning

DBT_CONFIGCHANGECANCELED 0x0019

A request to change the current configuration (dock or undock) has been canceled.

DBT_CONFIGCHANGED 0x0018

The current configuration has changed, due to a dock or undock.

DBT_CUSTOMEVENT 0x8006

A custom event has occurred.

DBT_DEVICEARRIVAL 0x8000

A device or piece of media has been inserted and is now available.

DBT_DEVICEQUERYREMOVE 0x8001

Permission is requested to remove a device or piece of media. Any application can deny this request and cancel the removal.

DBT_DEVICEQUERYREMOVEFAILED 0x8002

A request to remove a device or piece of media has been canceled.

DBT_DEVICEREMOVECOMPLETE 0x8004

A device or piece of media has been removed.

DBT_DEVICEREMOVEPENDING 0x8003

A device or piece of media is about to be removed. Cannot be denied.

DBT_DEVICETYPESPECIFIC 0x8005

A device-specific event has occurred.

DBT_DEVNODES_CHANGED 0x0007

A device has been added to or removed from the system.

DBT_QUERYCHANGECONFIG 0x0017

Permission is requested to change the current configuration (dock or undock).

DBT_USERDEFINED 0xFFFF

The meaning of this message is user-defined.

50

ตำรำงท ข.2 วนโดวสเมสเซจทใชส ารบการเขยนโปรแกรม (WM Constants) WM_ACTIVATE &H6 The WM_ACTIVATE message is sent when

a window is being activated or deactivated. This message is sent first to the window procedure of the top-level window being deactivated; it is then sent to the window procedure of the top-level window being activated.

WM_ACTIVATEAPP &H1C The WM_ACTIVATEAPP message is sent when a window belonging to a different application than the active window is about to be activated. The message is sent to the application whose window is being activated and to the application whose window is being deactivated.

WM_CANCELMODE &H1F The WM_CANCELMODE message is sent to cancel certain modes, such as mouse capture. For example, the system sends this message to the active window when a dialog box or message box is displayed. Certain functions also send this message explicitly to the specified window regardless of whether it is the active window. For example, the EnableWindow function sends this message when disabling the specified window.

WM_CHANGEUISTATE &H127 An application sends the WM_CHANGEUISTATE message to indicate that the user interface (UI) state should be changed.

WM_CHARTOITEM &H2F Sent by a list box with the LBS_WANTKEYBOARDINPUT style to its owner in response to a WM_CHAR message.

51

ตำรำงท ข.2 วนโดวสเมสเซจทใชส ารบการเขยนโปรแกรม (WM Constants) (ตอ) WM_CHILDACTIVATE &H22 The WM_CHILDACTIVATE message is sent

to a child window when the user clicks the window's title bar or when the window is activated, moved, or sized.

WM_CLEAR &H303 An application sends a WM_CLEAR message to an edit control or combo box to delete (clear) the current selection, if any, from the edit control.

WM_CLOSE &H10 The WM_CLOSE message is sent as a signal that a window or an application should terminate.

WM_COMMAND &H111 The WM_COMMAND message is sent when the user selects a command item from a menu, when a control sends a notification message to its parent window, or when an accelerator keystroke is translated.

WM_COMPACTING &H41 The WM_COMPACTING message is sent to all top-level windows when the system detects more than 12.5 percent of system time over a 30- to 60-second interval is being spent compacting memory. This indicates that system memory is low.

WM_COMPAREITEM &H39 The system sends the WM_COMPAREITEM message to determine the relative position of a new item in the sorted list of an ownerdrawn combo box or list box. Whenever the application adds a new item, the system sends this message to the owner of a combo box or list box created with the CBS_SORT or LBS_SORT style.

WM_CONTEXTMENU &H7B The WM_CONTEXTMENU message notifies a window that the user clicked the right mouse button (right-clicked) in the window.

52

ตำรำงท ข.2 วนโดวสเมสเซจทใชส ารบการเขยนโปรแกรม (WM Constants) (ตอ) WM_COPY &H301 An application sends the WM_COPY

message to an edit control or combo box to copy the current selection to the clipboard in CF_TEXT format.

WM_COPYDATA &H4A An application sends the WM_COPYDATA message to pass data to another application.

WM_CUT &H300 An application sends a WM_CUT message to an edit control or combo box to delete (cut) the current selection, if any, in the edit control and copy the deleted text to the clipboard in CF_TEXT format.

WM_DELETEITEM &H2D Sent to the owner of a list box or combo box when the list box or combo box is destroyed or when items are removed by the LB_DELETESTRING, LB_RESETCONTENT, CB_DELETESTRING, or CB_RESETCONTENT message. The system sends a WM_DELETEITEM message for each deleted item. The system sends the WM_DELETEITEM message for any deleted list box or combo box item with nonzero item data.

WM_DEVICECHANGE &H219 Notifies an application of a change to the hardware configuration of a device or the computer.

WM_DEVMODECHANGE &H1B The WM_DEVMODECHANGE message is sent to all top-level windows whenever the user changes device-mode settings.

WM_DISPLAYCHANGE &H7E The WM_DISPLAYCHANGE message is sent to all windows when the display resolution has changed.

53

ตำรำงท ข.2 วนโดวสเมสเซจทใชส ารบการเขยนโปรแกรม (WM Constants) (ตอ) WM_DRAWITEM &H2B The WM_DRAWITEM message is sent to the

parent window of an owner-drawn button, combo box, list box, or menu when a visual aspect of the button, combo box, list box, or menu has changed.

WM_ENABLE &HA The WM_ENABLE message is sent when an application changes the enabled state of a window. It is sent to the window whose enabled state is changing. This message is sent before the EnableWindow function returns, but after the enabled state (WS_DISABLED style bit) of the window has changed.

WM_ENDSESSION &H16 The WM_ENDSESSION message is sent to an application after the system processes the results of the WM_QUERYENDSESSION message. The WM_ENDSESSION message informs the application whether the session is ending.

WM_ENTERIDLE &H121 The WM_ENTERIDLE message is sent to the owner window of a modal dialog box or menu that is entering an idle state. A modal dialog box or menu enters an idle state when no messages are waiting in its queue after it has processed one or more previous messages.

WM_ENTERMENULOOP &H211 The WM_ENTERMENULOOP message informs an application's main window procedure that a menu modal loop has been entered.

54

ตำรำงท ข.2 วนโดวสเมสเซจทใชส ารบการเขยนโปรแกรม (WM Constants) (ตอ) WM_ENTERSIZEMOVE &H231 The WM_ENTERSIZEMOVE message is

sent one time to a window after it enters the moving or sizing modal loop. The window enters the moving or sizing modal loop when the user clicks the window's title bar or sizing border, or when the window passes the WM_SYSCOMMAND message to the DefWindowProc function and the wParam parameter of the message specifies the SC_MOVE or SC_SIZE value. The operation is complete when DefWindowProc returns.

WM_ERASEBKGND &H14 The WM_ERASEBKGND message is sent when the window background must be erased (for example, when a window is resized). The message is sent to prepare an invalidated portion of a window for painting.

WM_EXITSIZEMOVE &H232 The WM_EXITSIZEMOVE message is sent one time to a window, after it has exited the moving or sizing modal loop. The window enters the moving or sizing modal loop when the user clicks the window's title bar or sizing border, or when the window passes the WM_SYSCOMMAND message to the DefWindowProc function and the wParam parameter of the message specifies the SC_MOVE or SC_SIZE value. The operation is complete when DefWindowProc returns.

WM_FONTCHANGE &H1D An application sends the WM_FONTCHANGE message to all top-level windows in the system after changing the pool of font resources.

55

ตำรำงท ข.2 วนโดวสเมสเซจทใชส ารบการเขยนโปรแกรม (WM Constants) (ตอ) WM_GETDLGCODE &H87 The WM_GETDLGCODE message is sent to

the window procedure associated with a control. By default, the system handles all keyboard input to the control; the system interprets certain types of keyboard input as dialog box navigation keys. To override this default behavior, the control can respond to the WM_GETDLGCODE message to indicate the types of input it wants to process itself.

WM_GETFONT &H31 An application sends a WM_GETFONT message to a control to retrieve the font with which the control is currently drawing its text.

WM_GETHOTKEY &H33 An application sends a WM_GETHOTKEY message to determine the hot key associated with a window.

WM_GETICON &H7F The WM_GETICON message is sent to a window to retrieve a handle to the large or small icon associated with a window. The system displays the large icon in the ALT+TAB dialog, and the small icon in the window caption.

WM_GETMINMAXINFO &H24 The WM_GETMINMAXINFO message is sent to a window when the size or position of the window is about to change. An application can use this message to override the window's default maximized size and position, or its default minimum or maximum tracking size.

top related