สำนักวิชาเทคโนโลยีสารสนเทศและการสื่อสาร มหาวิทยาลัยนเรศวร พะเยา

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
ความหมายของไปรษณีย์อิเล็กทรอนิกส์ ( )
Advertisements

โครงสร้างของภาษา C ในโปรแกรมที่พัฒนาด้วยภาษา C ทุกโปรแกรมจะมีโครงสร้างการพัฒนาไม่แตกต่างกัน ซึ่งประกอบด้วย 6 ส่วนหลัก ๆ โดยที่แต่ละส่วนจะมีหน้าที่แตกต่างกัน.
ตัวแปรชุด การเขียนโปรแกรมภาษาคอมพิวเตอร์ 1
TOP TWEET NEWS ข่าวเด่นจากการทวีต COE นายประโยชน์ บุญชัยสุข นายกฤษกร ขำคมเขตร์ อาจารย์ที่ปรึกษาโครงการ ผศ. ดร. กานดา สายแก้ว.
การฝึกอบรม โครงการจัดทำระบบคลังข้อมูลสาธารณภัย
Chapter IV : สร้างการติดต่อ
Chapter VI : การบันทึกข้อมูลผ่านเว็บเพจ
Chapter VII : การแก้ไขข้อมูล
Function.
Location object Form object
การพัฒนาการใช้งานในระบบเว็บ
PHP LANGUAGE.
วิชา การเขียนโปรแกรมบนเว็บ (Web-based Programming)
วิชา การเขียนโปรแกรมบนเว็บ (Web-based Programming)
PHP & Session.
การจัดการเอกสารด้วยไลบรารี
HTTP Client-Server.
ปฏิบัติการที่ 13 การใช้งาน Online Bookmarking
Request Object.
SCC : Suthida Chaichomchuen
– Web Programming and Web Database
PHP session / Login Professional Home Page :PHP
Php with Database Professional Home Page :PHP
จากไฟล์ save_db.php.
PHP with Form ฟอร์ม คือหน้าจอที่ใช้เป็นสื่อกลางในการติดต่อระหว่างผู้ใช้เว็บไซต์ กับ เจ้าของเว็บไซต์ โดยผู้ใช้สามารถกรอกข้อมูลผ่านฟอร์มส่งไปยังเซอร์เวอร์
Electronic Commerce Session and Cookies.
Electronic Commerce เว็บฟอร์ม (Web Form).
บทที่ 1 หลักการเขียนโปรแกรมเชิงวัตถุ
คลาสและวัตถุ (4) (Class & Object)
PHP Cookies / Session.
Page: 1 การพัฒนาโปรแกรมประยุกต์บนเว็บ อ. บุรินทร์ รุจจนพันธุ์.. ปรับปรุง 3 กรกฎาคม 2550 Cookie & Session มหาวิทยาลัยโยนก จังหวัด.
ความรู้เบื้องต้น เกี่ยวกับภาษา PHP ศูนย์คอมพิวเตอร์ โรงเรียนปลวกแดง พิทยาคม.
1. 2  ในการใช้งานเว็บไซต์ โดยปกติเราจะไม่สามารถ ใช้งานตัวแปรที่มีลักษณะ Global ที่สามารถ นำไปใช้ได้กับเว็บเพจหน้าอื่นๆ ปกติในการใช้ งานค่าต่างๆ ของเว็บเพจ.
HTML, PHP.
การสร้างและใช้งานฟังก์ชั่น
สำนักวิชาเทคโนโลยีสารสนเทศและการสื่อสาร มหาวิทยาลัยนเรศวร พะเยา
ระบบจัดเก็บและนำเสนอข้อมูล
เสรี ชิโนดม ฟังก์ชัน เสรี ชิโนดม
การเขียนโปรแกรม PHP เชื่อมต่อกับ MySQL
วิทยา กรระสี (วท.บ. วิทยาการคอมพิวเตอร์)
PHP for Web Programming
ฟังก์ชัน.
การใช้ PHP ติดต่อฐานข้อมูลMySQL
CHAPTER 3 System Variables and Array
CHAPTER 12 FORM.
การใช้งาน ฐานข้อมูล การเขียนเว็บเพจด้วยภาษา php ศูนย์คอมพิวเตอร์ โรงเรียนปลวกแดงพิทยาคม.
Chapter 10 Session & Cookie.
Introduction to PHP, MySQL – Special Problem (Database)
ADO.NET (การบริหารและจัดการข้อมูล)
Introduction to PHP, MySQL – Special Problem (Database) Choopan Rattanapoka.
การเขียนโปรแกรมคอมพิวเตอร์ 1
BCS 121 บท 5 การโปรแกรมเชิงวัตถุ (Object-Oriented Programming)
หลักการเขียนโปรแกรม ( )
PHP with MySQL.
Uniform Resource Location ( URL)
Download PHP. C:\windows\PHP.ini cgi.force_red irect = 0 พิมพ์แทรก.
การแก้ปัญหาโปรแกรม (Flowchart)
การสร้างฟอร์ม(Form) ด้วยภาษา HTML
Introduction to HTML, PHP – Special Problem (Database)
EBook Collection EBSCOhost.
บทที่ 9 ซอฟต์แวร์ประยุกต์บนเครือข่ายอินเตอร์เน็ต
Secure Shell วรวิทย์ พูลสวัสดิ์.
คำศัพท์ระบบอินเตอร์เน็ต
1 Functions กนกวรรธน์ เซี่ยงเจ็น สำนักวิชาเทคโนโลยีสารสนเทศ และการสื่อสาร มหาวิทยาลัยนเรศวร พะเยา.
stack #1 ผู้สอน อาจารย์ ยืนยง กันทะเนตร
Application Layer.
อาจารย์ชนิดา เรืองศิริวัฒนกุล หลักสูตรสาขาวิชาเทคโนโลยีสารสนเทศ
ระบบคอมพิวเตอร์ และ การสื่อสาร กนกวรรธน์ เซี่ยงเจ็น สำนักวิชาเทคโนโลยีสารสนเทศ และการสื่อสาร มหาวิทยาลัยนเรศวร วิทยาเขต สารสนเทศพะเยา.
PHP Html Form && Query string
1 Introduction to SQL กนกวรรธน์ เซี่ยงเจ็น สำนักวิชาเทคโนโลยีสารสนเทศ และการสื่อสาร มหาวิทยาลัยนเรศวร วิทยาเขต สารสนเทศพะเยา.
ใบสำเนางานนำเสนอ:

สำนักวิชาเทคโนโลยีสารสนเทศและการสื่อสาร มหาวิทยาลัยนเรศวร พะเยา Session & Cookie อุทัย เซี่ยงเจ็น สำนักวิชาเทคโนโลยีสารสนเทศและการสื่อสาร มหาวิทยาลัยนเรศวร พะเยา

เนื้อหา ความหมายของ Session Control ความหมายของ Cookie

ความหมายของ Session Control ในการใช้งานเว็บไซต์ โดยปกติเราจะไม่สามารถใช้งานตัวแปรที่มีลักษณะ Global ที่สามารถนำไปใช้ได้กับเว็บเพจหน้าอื่นๆ ปกติในการใช้งานค่าต่างๆ ของเว็บเพจ จำเป็นต้องมีการส่งและรับค่าในลักษณะ GET และ POST จึงจะสามารถนำข้อมูลมาใช้ได้ แต่มีหลายกรณีที่เราต้องการเก็บรักษาข้อมูลบางอย่างไว้ โดยไม่ต้องส่งและรับค่าแบบ GET หรือ POST เราสามารถใช้ Session Control ในการรักษาข้อมูลนี้ไว้ได้ จนกว่าผู้ใช้จะปิดหน้าเว็บเพจทั้งหมดของเว็บไซต์นั้นๆ หรือ Timeout

ความหมายของ Session Control Session ในภาษา PHP จะทำงานโดยสร้าง Session ID โดยการสุ่มตัวเลข โดยหากข้อมูลจัดเก็บอยู่ในฝั่ง Client จะเรียกว่า Cookie แต่ปกติตัวแปร Session จะอยู่ฝั่ง Server โดยที่ Server จะเรียกค้น Session ของผู้ใช้แต่ละคนจาก Session ID

ความหมายของ Cookie คือ ข้อมูลขนาดเล็กที่สคริปต์สามารถเก็บไว้บนเครื่อง Client ได้ ประโยชน์ของการใช้งาน cookie คือใช้เก็บข้อมูลเกี่ยวกับผู้ใช้และข้อมูลที่เว็บไซต์ของเราต้องการ โดยเมื่อเรากลับมาที่เว็บไซต์นี้อีกครั้งเว็บไซต์นั้นๆ จะสามารถอ่าน cookie file เพื่อทำการเตรียมความพร้อมเกี่ยวกับข้อมูลผู้ใช้ ตัวอย่างเช่น เว็บของ hotmail ที่เมื่อนิสิตกลับเข้ามาโดยไม่ได้ Sign Out จะมี Username เดิมปรากฏอยู่เป็นต้น

ความหมายของ Cookie เมื่อ Browser ติดต่อกลับไปยัง URL เดิมที่มีการจัดเก็บ Cookie ไว้ Browser จะค้นหา Cookie ที่มีอยู่ในเครื่องแล้วส่งข้อมูลที่จัดเก็บไว้มายัง Server

ความหมายของ Cookie ชื่อของ Cookie รูปแบบ ค่าของ Cookie Set -Cookie: NAME=VALUE; [expires=DATE;][path=PATH;][domain=DOMAIN_NAME;][secure] NAME ชื่อของ Cookie VALUE ค่าของ Cookie DATE วันที่หมดอายุของ Cookie PATH PATH ที่สามารถเรียกใช้งาน Cookie จะใช้ร่วมกับ DOMAIN_NAME DOMAIN_NAME ชื่อเว็บเซิร์ฟเวอร์ที่สามารถเรียกใช้ Cookie secure ให้ส่ง Cookie ผ่าน HTTP ที่ปลอดภัย

การใช้งาน Cookie รูปแบบ int setcookie(string name [,string value [,int expire [,string path [,string domain [,int secure]]]]]) ใช้กำหนดค่าต่างๆ ของ Cookie โดยมีความหมายเดียวกับการ Set -Cookie ใน HTTP Header

การใช้งาน Cookie <?php setcookie("test", "Hello, Cookie", time()+3600, "/teach/"); echo $HTTP_COOKIE_VARS["test"]; ?> กำหนดให้ Cookie มีชื่อว่า test เก็บค่า Hello, Phayao มีระยะเวลา 1 ชั่วโมง และเรียกใช้งานสคริปต์ภายใต้ PATH ชื่อ teach หากต้องการลบค่า Cookie สามารถใช้คำสั่ง setcookie() แต่ไม่ต้องใส่ค่า Parameter ให้กับฟังก์ชัน

การใช้งาน Cookie ในการใช้งาน Cookie บางครั้ง Browser จะมีการป้องกันไม่ยอมรับ Cookie เนื่องมาจากปัญหาเรื่องความปลอดภัย ดังนั้น PHP ได้ออกแบบให้มีการใช้งาน Cookie โดยใช้ URL ร่วมกับ Session หมายเหตุ: ต้องมีการอนุญาตให้ใช้งาน Session ก่อนจึงจะสามารถใช้งานได้

การกำหนด Cookie ผ่าน Session รูปแบบ void session_set_cookie_params(int lifetime [, string path [, string domain]]) lifetime ช่วงเวลาการทำงานของ Cookie path Path ที่เรียกใช้งาน Cookie domain Domain ที่ใช้เรียก Cookie ฟังก็ชันนี้จะมีการกำหนดค่าพารามิเตอร์ต่างๆ ให้กับ Cookie ด้วย Session

การเรียกใช้ Cookie ผ่าน Session รูปแบบ array session_get_cookie_params() ฟังก็ชันนี้จะมีการรับค่าพารามิเตอร์ต่างๆ จาก Cookie ด้วย Session โดยจะมีการส่ง Lifetime, Path และ Domain กลับออกมาในรูปแบบของอาร์เรย์

การสร้าง และใช้งาน Session <?php // ตัวอย่างการเรียกใช้งาน SESSION session_start(); // หากต้องการใช้งาน $_SESSION ในหน้าเว็บเพจใด ก็ต้องกำหนด $_SESSION['data'] = "Hello, Session" ; echo $_SESSION['data']; ?>

การยกเลิกการใช้งาน Session <?php // ตัวอย่างการยกเลิกการใช้งาน SESSION เช่นการ Logout session_start(); // หากต้องการใช้งาน $_SESSION ในหน้าเว็บเพจใด ก็ต้องกำหนด $_SESSION['data'] = "Hello, Session" ; echo $_SESSION['data']; unset($_SESSION['data']); // ยกเลิกการใช้งาน $_SESSION session_destroy(); // ทำลายตัวแปร $_SESSION ทั้งหมด echo $_SESSION['data']; // ไม่สามารถแสดงข้อมูล $_SESSION ได้เนื่องจากทำลายไปแล้ว ?>

การกำหนด Session Control เราสามารถใช้แฟ้ม php.ini เข้าไปกำหนดค่าของ Session ได้ โดยมี Option ต่างๆ ที่กำหนดคุณสมบัติ ได้ดังตาราง

การกำหนด Session Control ชื่อ Option ค่าเริ่มต้น ผลลัพธ์ session.autostart 0 (disable) กำหนดให้ session เริ่มต้นเองอัตโนมัติ session.cache_expire 180 กำหนดเวลาในการ Load Session Page ใหม่ในหน่วยวินาที session.cookie_domain none กำหนด Domain ให้ Session Cookie session.cookie_lifetime กำหนดอายุของ Session ID ของ Cookie โดยทั่วไปจะมีค่าเป็น 0 คือ เมื่อปิด Browser session.cookie_path / Path ที่กำหนดให้ Session Cookie

การกำหนด Session Control ชื่อ Option ค่าเริ่มต้น ผลลัพธ์ session.name PHPSESSIONID ชื่อของ SESSION ที่ใช้เป็นชื่อบนเครื่องผู้ใช้ session.save_handler files กำหนดที่ที่ข้อมูล SESSION ถูกเก็บ อาจสร้างเป็นฐานข้อมูลได้ แต่ต้องสร้างฟังก์ชันขึ้นมาจัดการเอง session.save_path /tmp PATH ที่ข้อมูล SESSION ถูกจัดเก็บ session.use_cookies 1 (Enabled) กำหนดให้ SESSION สามารถใช้งานฝั่ง Client ได้

การประยุกต์ใช้ Session กับระบบล็อกอิน login.php Authorized User check_login.php mainmenu.php Hacker

TABLE: LOGIN ชื่อฟิลด์ ชนิด คำอธิบาย ชื่อผู้ใช้งานระบบ รหัสผ่าน USERNAME (PK) VARCHAR(20) ชื่อผู้ใช้งานระบบ PASSWORD VARCHAR(40) รหัสผ่าน หมายเหตุ: ปกติในการเก็บรหัสผ่านเราจะไม่เก็บในลักษณะที่สามารถเปิดอ่านได้โดยง่าย ดังนั้น เราจึงนิยมจัดเก็บในรูปแบบของ BLOB มากกว่า VARCHAR แต่เพื่อประโยชน์ในการเรียนการสอน ผู้สอนจึงใช้ VARCHAR เพื่อให้สามารถตรวจสอบได้ง่าย(ในการเรียนการสอน)

login.php <html> <head><title>Login.php</title></head> <body onload="document.all.username.focus();"> <form action="check_login.php" method="post"> <table> <tr> <td>Username:</td> <td><input type="text" name="username"></td> </tr> <tr> <td>Password:</td> <td><input type="password" name="passwd"></td> <tr> <td colspan="2"> <input type="submit" value="Login"> <input type="reset" value="Clear"> </td> </table> </form> </body> </html>

check_login.php <?php require_once("connect_inc.php"); session_start(); // start using session $username = $_POST['username']; $password = $_POST['passwd']; $sql_login = "SELECT * FROM login WHERE USERNAME='" . $username . "' AND PASSWORD='" . $password . "'"; $login_result = mysql_db_query(CURRENT_DB, $sql_login); $login_rows = mysql_fetch_array($login_result); $user = $login_rows["USERNAME"]; if(isset($user)){ $_SESSION[“IS_LOGIN”] = “OK”; $URL = "mainmenu.php"; header("Location: $URL"); } else{ $URL = "login.php?err=1"; ?>

mainmenu.php <?php session_start(); if($_SESSION["IS_LOGIN"] != "OK"){ // Unauthorized user $URL = "login.php?err=2"; header("Location: $URL"); } // if login complete you can show menu echo "MAIN MENU DETAIL"; ?>