วันจันทร์ที่ 1 กรกฎาคม พ.ศ. 2556

ใบงานที่3 ความรู้ทั่วไปเกี่ยวกับ web application


1.      ความหมายของ web application

   ความหมายของ web application

เว็บแอปพลิเคชั่น  หมายถึง แอปพลิเคชั่นที่สามารถเข้าใช้งานผ่านเว็บบราวเซอร์ หรือ HTTP (s) agent
(พอร์ต 80 หรือ 443) องค์ประกอบของเว็บแอปพลิเคชั่นนั้นประกอบด้วย

Web Application เป็นซอฟต์แวร์หลักที่ให้ผลลัพธ์เป็นข้อมูลและการทำงานต่างๆ ทำงานอยู่ใน
 Application Server

Web Server เป็นเซิร์ฟเวอร์ที่ให้บริการคือการตอบสนองต่อการร้องขอการทำงานต่างๆ ผ่านเว็บ
 Application Server เป็นเซิร์ฟเวอร์ที่ Web Application ทำงานDatabase Server เป็นเซิร์ฟเวอร์ฐานข้อมูลที่เก็บข้อมูลต่างๆ ของ Web Application

 




นอกจากองค์ประกอบหลักของระบบแล้วอาจมีส่วนเสริมให้ระบบทำงานอย่างมีประสิทธิภาพมากขึ้น โดยเพิ่มเติม Firewall, Load Balancer, Reverse Proxy Server, Cache System และองค์ประกอบอื่นๆ ปัญหาที่ อาจจะเกิดขึ้นในแต่ละส่วนของเว็บแอปพลิเคชั่นสามารถเกิดขึ้นได้ทุกๆ ส่วนในการทำงานตั้งแต่ web client ไป จนถึง database sever ดังสรุปในตาราง

 

 


Layer

ปัญหาในระบบ

 

 
    HTTP Client / User

การโจมตีแบบ Cross-Site Scripting

ถูกโจมตีโดยการปลอมแปลงหน้าเพจ หรือผู้ใช้งาน (Spoofing)

การใช้ Javascript Injection เพื่อเปลี่ยนแปลงข้อมูลใน Browser

 

Transport Layer HTTP(s)

การดักจับข้อมูล (Passive Monitoring)

การโจมตีจากคนกลาง (Man-in-the-Middle Attack)

การขโมย Session (Session Hijack)

Firewall

การโจมตีระบบผ่าน SSL Session

 

Web Server

การทำ Buffer Overflow และ Format String

การทำ Directory Traversal

การตั้งค่า Default Accounts

การตั้งค่า Default ใน Applications

 

Web Applications

การป้อนค่า Metacharacters

การป้อนค่า Null Characters

การทำ Buffer Overflow

Firewall

การโจมตีจาก Internal Network ซึ่งสามารถผ่าน Firewall ได้

 

Database

การทำ Direct SQL Commands หรือ SQL Injection

การเข้าไป Query ใน Restricted Database

การทำ Database Exploit


 
2.  ลักษณะการทำงานของ web application
 มีหลักการทำงานอย่างไร
 การทำงานของ Web Application นั้นโปรแกรมส่วนหนึ่งจะวางตัวอยู่บน Rendering   Engine  
 ซึ่งตัว Rendering Engine จะทำหน้าที่หลักๆ คือนำเอาชุดคำสั่งหรือรูปแบบโครงสร้างข้อมูลที่ใช้ในการแสดงผล  นำมาแสดงผลบนพื้นที่ส่วนหนึ่งในจอภาพ    โปรแกรมส่วนที่วางตัวอยู่บน Rendering Engine จะทำหน้าที่หลักๆ คือการเปลี่ยนแปลงแก้ไขสิ่งที่แสดงผล   จัดการตรวจสอบข้อมูลที่รับเข้ามาเบื้องต้น   และการประมวลบางส่วน   แต่ส่วนการทำงานหลักๆ จะวางตัวอยู่บนเซอร์เวอร์  ในลักษณะ Web Application แบบเบื้องต้น   ฝั่งเซอร์เวอร์จะประกอบไปด้วยเว็บเซอร์เวอร์  ซึ่งทำหน้าที่เชื่อมต่อกับไคลเอนต์ตามโปรโตคอล  HTTP/HTTPS  โดยนอกจากเว็บเซอร์เวอร์จะทำหน้าที่ส่งไฟล์ที่เกี่ยวเนื่องกับการแสดงผลตามมาตรฐาน HTTP ตามปกติทั่วไปแล้ว   เว็บเซอร์เวอร์จะมีส่วนประมวลผลซึ่งอาจจะเป็นตัวแปลภาษา เช่น Script Engine ของภาษา PHP  หรืออาจจะมีการติดตั้ง .NET Framework ซึ่งมีส่วนแปลภาษา CLR (Common Language Runtime) ที่ใช้แปลภาษา intermediate จากโค้ดที่เขียนด้วย VB.NET หรือ C#.NET  หรืออาจจะเป็น J2EE  ที่มีส่วนแปลไบต์โค้ดของคลาสที่ได้จากโปรแกรมภาษาจาวา เป็นต้น  
 
 
สามารถสร้างโดยใช้ภาษาใดได้บ้างและภาษาไหนเหมาะที่จะนำมาสร้าง web application มากที่สุด
    ภาษาที่สามารถนำมาสร้าง web application ได้แก่
     -HTML(Hypertext Markup Language), XHTML (Extended HTML)
    -XML(Extendsible Markup Language) 
    -JavaScript/Jscript  
    -ASP.NET    
    -PHP 
   ภาษาที่เหมาะจ่ะนำมาสร้าง web application มากที่สุด คือ
   Html, PHP, JAVA  เพราะภาษาเหล่านี้สามารถเรียนรู้ได้ง่าย สามารถหาแหล่งข้อมูลของการใช้งานได้ง่าย และในปัจจุบันภาษาเหล่านี้ยังเป็นที่นิยมในการนำมา สร้าง web application ด้วย
 


3. ความแตกต่างระหว่าง web application กับ web services

webservice
webservice กับ web application ต่างกันอย่างไร

ต่างกัน อันเนื่องจากจุดกำเนิด และ จุดประสงค์ของทั้งสองอย่างนั้น ต่างกัน Web Services นั้นเกิดมาจากการที่ Web Application ถูกพัฒนาได้จากหลาย ภาษา เช่น asp jsp php perl .... ทำให้การที่จะนำมารวมเพื่อร่วมทำงานด้วยกันนั้นเป็นเรื่องที่ยากลำบาก (เหมือนคุยกันคนละภาษา) Web Services จึงเหมือนกับภาษาสากล ที่ทำให้แต่ละ Web Application ทำงานร่วมกันได้ โดยผ่าน SOAP ที่มี รูปแบบเป็น XML ซึ่งเป็นเหมือนภาษาอังกฤษ เครื่องมือที่ใช้ในการสร้าง Web Services นั้น มีหลายตัว อาทิ เช่น AXIS วิธีทำนั้นก้อไม่ยาก ยิ่งถ้าใช้ IDE จะง่ายมากแค่ คลิ้กๆ ไม่กี่ทีก้อเสร็จแล้ว ความท้าทายไม่ได้อยู่ที่การสร้าง แต่กลับอยู่ที่การนำไปใช้มากกว่า
 
web application

อ้างอิงจาก http://pyayam.blogspot.com/2008/11/webservice-web-application.html

4. ยกตัวอย่าง web application ที่สนใจ (รายละเอียดของระบบ, จุดเด่น, จุดด้อย, หากจะพัฒนาต่อจะพัฒนาต่ออย่างไร ใช้ภาษาอะไร เครื่องมืออะไร ฯลฯ)

web application ที่สนใจ คือ  facebook  ไม่ว่าจะหันไปทางไหน ตั้งแต่เด็กน้อยอนุบาลจนคนทำงานใครๆ ก็พูดถึงแต่ Facebook  facebook คืออะไร และเราจะใช้งาน facebookได้อย่างไร

หากจะอธิบายคำว่า
Facebook คืออะไรนั้น คงต้องอธิบายคำว่า Social network กันก่อน
Social network คือ การที่คนเราสามารถทำความรู้จักหรือแลกเปลี่ยนข้อมูล เชื่อมโยงกันในทิศทางใดทิศทางหนึ่ง
เว็บไซต์ที่เรียกว่าเป็น เว็บ
Social Network ก็คือเว็บไซต์ที่เชื่อมโยงผู้คนไว้ด้วยกัน ซึ่งทำให้เกิดเครือข่ายสังสังคมที่ทำการแลกเปลี่ยนข้อมูลกันบนโลกอินเตอร์เน็ท 

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


สำหรับมือใหม่ที่ยังไม่มี Facebook ท่านสามารถทำการสมัครใช้งาน Facebook ได้ดังนี้
1. เข้าสู่เว็บไซต์ www.facebook.com

2. ทำการลงทะเบียนสมัครโดยกรอก ชื่อ-นามสกุล, อีเมล์, พาสเวิร์ด, เพศ,วัน เดือน ปี เกิด ให้ครบถ้วนและกด ลงทะเบียน


3. กรอกรหัสผ่าน ตามรูปภาพที่กำหนดให้ แล้วกดปุ่มลงทะเบียน
 
4. คลิ๊ก ข้าม

 5. คลิ๊ก ข้ามขั้นตอนนี้ 
 
6. คลิ๊ก ข้าม
 
7. คลิ๊ก ข้าม
 
8. อัพโหลด รูปภาพประจำตัว แล้ว กดบัทึก
 
9. ข้อความแจ้งว่าให้ไปที่อีเมล์ เพื่อทำการกดลิงค์ ยืนยันเข้าใช้งาน Facebook
 
 

10.  หลังจากกดยืนยันในอีเมล์เรียบร้อยแล้ว สามารถเข้าใช้งาน facebook ได้เลย
 
อ้างอิงจาก  http://www.makewebeasy.com/article/facebook.html
 
จุดเด่น ของ  FaceBook คือ

1.FaceBook จะเป็นการสร้างเครือข่ายและจุดประกายด้านการศึกษาได้  อย่างกว้างขวางหากใช้ได้อย่างถูกวิธี
2.ทำให้ไม่ตกข่าว คือทราบความคืบหน้า เหตุการณ์ของบุคคลต่างๆและผู้ที่ใกล้ชิด
3.ผู้ใช้สามารถสร้างเครือข่ายทางสังคม แฟนคลับหรือผู้ที่มีเป้าหมายเหมือนกันและทำงานให้สำเร็จลุล่วงไปได้
4.สามารถสร้างมิตรแท้ หรือเพื่อนที่รู้ใจที่แท้จริงได้
 5.FaceBook เป็นซอฟแวร์ที่เอื้อต่อผู้ที่มีปัญหาในการปรับตัวทางสังคม ขาดเพื่อน อยู่โดดเดี่ยวหรือผู้ที่ไม่สามารถออกจากบ้านได้ ให้มีเครือข่ายทางสังคม และเติมเต็มชีวิตทางสังคมได้อย่างดีไม่เหงาและปรับตัวได้ง่ายขึ้น
6.สร้างเครือข่ายที่ดี สร้างความเห็นอกเห็นใจ และให้กำลังใจที่ดีแก่ผู้อื่นได้


จุดด้อย ของ FaceBook คือ
  1.FaceBook เป็นการขยายเครือข่ายทางสังคมในโลกอินเตอร์เน็ตดังนั้นการมีเพิ่มเพื่อนเครือข่ายที่ไม่รู้จักดีพอจะทำให้เกิดการลักลอบขโมยข้อมูลหรือการแฝงตัวของขบวนการได้หลอกลวงต่างๆ
 2. เพื่อนทุกคนในเครือข่ายสามารถเขียนข้อความต่างๆลง Wall FaceBook ได้ แต่หากเป็นข้อความที่เป็นความลับการใส่ร้ายกันหรือแฝงไว้ด้วยการยั่วยุต่างๆจะทำให้ผู้อ่านที่ไม่มีวุฒิภาวะพอหลงเชื่อเกิดความขัดแย้ง และปัญหาตามมาได้ในภายหลัง 
3.Facebook อาจเป็นช่องทางในการสร้างสังคมแห่งการนินทาหรือการยุ่งเรื่องส่วนตัวของผู้อื่นโดยใช่เหตุโดยเฉพาะสังคมที่ชอบสอดรู้สอดเห็น
 4. การเปิดเผยข้อมูลส่วนตัวทั้งหมดให้กับบุคคลภายนอกที่ไม่รู้จักดีพอเช่นการลงรูปภาพของครอบครัวหรือลูกอาจนำมาเรื่องปัญหาการปลอมตัวหรือการหลอกลวงอื่น ๆ ที่คาดไม่ถึงได้
  5. ในการสร้างความผูกพันและการปรับตัวทางสังคมเป็นการพบปะกันในโลกของความจริงมากกว่าในโลกอินเตอร์เน็ตดังนั้นผู้อยู่ในโลกของไซเบอร์มากเกินไปอาจทำให้มีปัญหาทางจิตหรือขาดการปรับตัวทางสังคมที่ดี โดยเฉพาะผู้ที่ชอบเล่น FaceBook ตั้งแต่ยัง เด็ก
 6.FaceBook อาจเป็นแรงขับให้มีการพบปะทางสังคมในโลกแห่งความเป็นจริงที่น้อยลงได้เนื่องจากทราบความเคลื่อนไหวของผู้ที่อยู่ในเครือข่ายอย่างตลอดเวลา

ส่วนภาษาและเครื่องมือในการพัฒนาFaceBook
 

- ความรู้พื้นฐานเกี่ยวการสร้างหน้าเว็บ
- ภาษา PHP หรือภาษา Web Programming อื่นๆ ที่เหมาะกับระบบ Web Server ที่ใช้อยู่
- ระบบฐานข้อมูลเบื้องหลังเว็บ เช่น MySQL
- ระบบปฏิบัติการเบื้องหลังระบบ Web Server เช่น Unix
- Facebook API ซึ่งเป็นเสมือนประตูที่จะทำให้โปรแกรมเมอร์เข้าถึงข้อมูลต่างๆ ของ Facebook เช่นรายชื่อเพื่อน รูป ประวัติต่างๆ

อ้างอิงจาก http://www.thaicreate.com/php/forum/040809.html
 

ไม่มีความคิดเห็น:

แสดงความคิดเห็น