เก็บไว้อ่านเองครับ...ใครมือใหม่ก็อ่าน... ใครมือเก๋าก็แนะนำได้หากเห็นว่าผิด... หรือมีดีกว่า
ประมาณว่าไม่ได้ฝนสมองมานาน (หลายปีแล้วที่ไม่ได้เขียนเว็บ)
พอดีวันก่อนเจ้านายสั่งให้ทำเว็บ สำหรับป้อนข้อมูล แต่ให้มี User , Password สำหรับผู้ที่เข้าไปแก้ไขด้วย
อันนี้คงไม่ยาก (คิดในใจนะครับ)
เริ่มลงมือไป Download โปรแกรมสำเร็จรูป AppServ (http://www.appservnetwork.com/) เอามาแล้วติดตั้งบนเครื่อง Notebook (อันนี้ติดตั้งไม่ยากเหมือนโปรแกรมทั้วไป Next , Yes , OK ประมาณนั้น ดีจริงๆ) เมื่อติดตั้งแล้วก็ได้ เว็บเซอร์ฟเวอร์ (Apache) , ฐานข้อมูล (MySQL) , โปรแกรมภาษา PHP
เมื่อได้แล้วก็มาลองทำการสร้าง Form เพื่อ Logon ชื่อ login.php
// <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
// <html xmlns="http://www.w3.org/1999/xhtml">
// <head>
// <meta http-equiv="Content-Type" content="text/html; charset=TIS-620" >
// <title>Input Form-Login</title>
// </head>
// <body>
// <form id="from_input" name="from_input" method="post" action="login_check.php">
// <label for="textfield">Username : </label>
// <input type="text" name="user" id="name" >
// <br />
// <label for="label2"><br /> password : </label>
// <input type="password" name="pass" id="pass" >
// <br />
// <label for="Submit"></label>
// <input type="submit" name="Submit" value="Submit" id="Submit" >
// <label for="label3"></label>
// <input type="reset" name="reset" value="Reset" id="label3" >
// </form>
// </body>
// </html>
ต่อมาก็สร้างเพจชื่อ login_check.php เพื่อตรวจสอบรหัสผ่าน
// <?
// $user=$_POST[user];
// $pass=$_POST[pass];
// //echo $user ." ".$pass ;
// if ($user =="sridetch" and $pass =="abc123") {
// session_start();
// $_SESSION[sess_userid]=session_id();
// header("Location: page_1.php");
// }
// else
// {
// echo "<H3> Error : Username หรือ Password ไม่ถูกต้อง </H3>";
// exit();
// }
// ?>
เมื่อการตรวจสอบข้อมูลที่ป้อนเข้ามาถูกต้อง ก็ไปเปิดเพจหน้าต่อไปที่ชื่อ page_1.php โดยที่จะมีกระบวนการสร้าง Session ชื่อ sess_userid ขึ้นมาเพื่อใช้ตรวจสอบว่าได้ผ่านการ Login มาถูกต้อง แต่ถ้าไม่ถูกก็จะแสดงข้อความว่า Error : Username หรือ Password ไม่ถูกต้อง
ในหน้าต่าง ของเพจต่อ ๆ ไป ก็จะใส่ Script นี้ไว้ที่ด้านบน
//<?
// session_start();
// if ($_SESSION[sess_userid] <> session_id()) {
// header("Location: session_form_input.php"); exit();
// }
// ?>
เพื่อทำการดักตรวจสอบว่าข้อมูล Session ถูกต้องมีการเก็บค่าตัวแปร sess_userid ไว้จริงหรือไม่ หากมีจริงก็ออกไปทำงานต่อจาก Script นี้ แต่หากข้อมูลไม่ถูกต้อง $_SESSION[sess_userid] <> session_id() ก็ให้กลับไปหน้าต่าง login.php
ส่วนหากต้องการทำลาย Session ก็ให้ทำ Link ไปที่ ไฟล์ logout.php ที่มี Script ดังนี้
// <?
// session_start();
// session_destroy();
// header("Location: login.php");
// ?>
จบกระบวนการ... Session ง่าย ๆ ครับ
ปล. ก่อนที่จะจบเนื่องจากสมัยก่อนการรับค่าตัวแปรจาก Form หรือ url จะใช้แค่คำสั่ง $id ก็จะได้ค่าตัวแปรแล้ว แต่ปัจจุบันมีเรื่องความปลอดภัยเข้ามามากขึ้น ทาง php.net ได้ประกาศมาตรฐานไว้หลายปีก่อนแล้ว อ่านรายละเอียดได้ที่ http://th.php.net/manual/en/security.globals.php ซึ่งแนะนำให้ทำการ Register Global = off ไว้ เพื่อป้องกันการโดนโจมตีผ่าน script หลาย Server ไม่สามารถรับตัวแปรตามปกติได้
ดังนั้นหากต้องการรับตัวแปรจาก Form ก็ให้ใช้ $_POST['id'] แต่ถ้าต้องการรับตัวแปรจาก url ก็ให้ใช้ $_GET['id'] ต้องขอบคุณทีมงาน naxza ทีแนะนำครับ สามารถอ่านเพิ่มเติมได้ที่ http://www.naxza.com/hosting_article_21-10_18-00-41.php
edit @ 24 Dec 2007 09:30:33 by BigTUI ^_^"
edit @ 25 Dec 2007 10:10:44 by BigTUI ^_^"
