 |
|
ต้องการตรวจสอบพฤติกรรมการเข้าใช้งาน ซึ่งแต่ละหน้าเป็นข้อมูลที่เกี่ยวกับ จำนวนเงินค่ะ เลยต้องการเพิ่มมาตราการความปลอดภัยในการตรวจสอบผู้ใช้อีกขั้น |
|
 |
|
|
 |
 |
|
ผู้รู้ ช่วยด้วยนะคะ
|
 |
 |
 |
 |
Date :
2010-08-04 10:43:22 |
By :
Fhaa |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ว่าแต่ตอนนี้ มี Table เก็บข้อมูลการเข้ามา Access หรือยังล่ะ
Table ที่มีข้อมูล UserName, IP Address, Last Access Time, WebPage ประมาณนี้
|
 |
 |
 |
 |
Date :
2010-08-04 10:58:56 |
By :
watcharop |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
นู๋ไม่ต้องการเก็บในฐานข้อมลหง่ะค่ะ
แต่ กำหนด Session เป็น User คะ ซึ๋ง User ของแต่ละคนมีอยู่ในฐานข้อมูลอยู่แล้ว
|
 |
 |
 |
 |
Date :
2010-08-04 11:21:50 |
By :
Fhaa |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ถ้านู๋ ไม่เก็บ แล้วนู๋จะรู้ได้ไงว่า ตอนนี้ มีใครเข้ามา Access Web อยู่บ้าง จะใช้ Object ตัวไหนล่ะ
คงไม่ใช่ Object Session นะ
เพราะ Object ตัวนี้มันเป็นของ User ที่เข้ามาแต่ละคน
เช่นเมื่อ User A เปิดหน้า Web ก็เกิด Session ขึ้นมา ขณะเดียวกัน User B เปิดหน้า Web ก็จะเกิด Session ขึ้นมาเหมือนกัน
แต่ทั้ง Session ของ User A และ User B ก็เป็นคนละตัวกันนะจ๊ะ
|
ประวัติการแก้ไข 2010-08-04 12:50:47
 |
 |
 |
 |
Date :
2010-08-04 12:43:52 |
By :
watcharop |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ถ้าสามารถ แสดง Online ขึ้นมาได้ งั้นเก็บก็ได้ค่ะ
สร้างเป็น table User ละกันนะค่ะ
SELECT InchargeID, UserName, Password, level, Session, IPAddress, Emp_ID FROM User WHERE
ต้องการให้มันแสดงอย่างนี้ค่ะ คือ
Online ขณะนี้ มีจำนวน 5 คน
1. user A ----> เก็บค่าตัวแปร session
IP 192.168.124.201 ----> IP Local
2. user B
IP 192.168.124.202
3. user C
IP 192.168.124.203
4. user D
IP 192.168.124.204
5. user E
IP 192.168.124.205
จะต้องเขียนให้วน Loop ยังงัยคะ
ช่วยหน่อยนะคะ
|
ประวัติการแก้ไข 2010-08-04 14:21:09 2010-08-04 14:26:16
 |
 |
 |
 |
Date :
2010-08-04 14:20:15 |
By :
Fhaa |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ขอยืนยันวัตถุประสงค์ก่อนนะครับว่า ตรงกัน
วัตถุประสงค์ คือ อยากเขียน WebPage (สมมุติว่าชื่อ InfoPage.asp) เพื่อแสดงข้อมูลการเข้ามาใช้งาน WebPage การเงิน
(ในที่นี้ให้ชื่อว่า AccountingPage.asp) ว่าในขณะปัจจุบันนี้มีใครเข้ามาเปิดหน้านี้อยู่บ้าง
เพราะฉะนั้น InfoPage.asp น่าจะแสดงรายการประมาณนี้
UserName, Last Access Time, WebPage, SessionID, IP Address
ขออธิบายหลักการก็แล้ว ให้เขียนโค้ดให้ดู มันไม่ไหว เยอะจัด
หลักการก็คือ
1. ต้องสร้างตาราง WebPageLog ประกอบด้วยข้อมูล UserName, IP Address, Last Access Time, WebPage, SessionID
2. ที่ AccountingPage.asp ให้สร้างโค้ดเพื่อบันทึกข้อมูลในตาราง WebPageLog ว่าเป็นใคร มาจาก IP อะไร เข้ามาเปิดหน้านี้เมื่อไหร่
WebPage ก็ระบุไปเลยว่า "AccountingPage" และจาก SessionID อะไร
3. ที่ InfoPage.asp ก็แค่เปิด Recordset อ่านข้อมูลจากตาราง WebPageLog โดยอาจเอาเฉพาะที่ Last AccessTime ไม่เกิน 15 นาที
แล้วเอามาแสดงผล
4. แน่นอนว่า ผลลัพธ์บน InfoPage.asp อาจไม่ตรงกับความเป็นจริงซะทีเดียว ในประเด็นว่า เมื่อ User A เปิดเว็บ AccountingPage.asp ตอน 13:00 และปิดไปตอน 13:05 เมื่อคุณมาเปิดเข้าเช็คใน InfoPage.asp ตอน 13:07 คุณก็จะเห็นรายการนี้อยู่
|
 |
 |
 |
 |
Date :
2010-08-04 15:26:18 |
By :
watcharop |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ถูกค่ะ ท่าน rop เข้าใจวัตถุประสงค์ตรงกัน
และจำเป็นต้องตรวจสอบจิงๆค่ะ
แต่ว่า................. จะวางcode ยังไง ฮือออออออ
|
 |
 |
 |
 |
Date :
2010-08-04 15:54:19 |
By :
Fhaa |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
???
|
 |
 |
 |
 |
Date :
2010-08-05 09:17:10 |
By :
Fhaa |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
1. นู่เคยเขียนโค้ดเพื่อบันทึกข้อมูลรึเปล่า
2. นู่เป็นคนเขียนหน้า AccoutingPage.asp เองรึเปล่า หรือคนอื่นทำ
|
 |
 |
 |
 |
Date :
2010-08-05 11:15:42 |
By :
watcharop |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
เขียนเองซิค่ะ
สร้างฟอร์มให้บันทึกหน่ะ สร้างได้
จุดประสงค์คือไม่ได้ให้ user บันทึกเอง
ต้องการให้ บันทึกอัตโนมัติ
แล้วอีกอย่าง เก็บค่าที่บันทึกเข้าไปใน ตาราง แล้ว
ต้องการให้มันแสดงรายชื่อ user ที่หน้า InfoPage.asp
ที่เข้ามาใช้งานในหน้า AccountingPage.as
มันก็แสดงทั้งหมด ที่บันทึก
แต่ user logoff ออกไปแล้วก็ไม่รู้ status ว่า logoff
ทำงัยดีค่ะ
|
 |
 |
 |
 |
Date :
2010-08-05 12:18:09 |
By :
Fhaa |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
1. เราไม่มีทางเขียนเว็บเพื่อแสดงให้เห็นว่ามี User คนไหนดูหน้า AccountingPage แบบ realtime จริง ๆ ได้หรอก
ได้แค่แสดงว่า มี User คนไหนบ้างเข้าหน้า AccountingPage และเข้าล่าสุดเมื่อไหร่
2. ส่วนวิธีการที่จะไม่ให้แสดงรายการมากเกินไป คือ การอ่านข้อมูลจากตาราง WebPageLog โดยเอาเฉพาะที่ Last AccessTime ไม่เกิน 15 นาทีที่ผ่านมา (หรือ 30 นาที แล้วแต่เรา)
|
 |
 |
 |
 |
Date :
2010-08-05 12:40:19 |
By :
watcharop |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
เท่าที่อ่านมา คุณ Fhaa ก็ได้ ขั้นตอนการเขียนจาก คุณ rop แล้ว คิดว่าอันนี้จัดการได้แล้วใช่ไหมครับ
ลองใช้เป็นAJAX ไหมครับ ยิงข้อมูลเช็คตลอดว่าค่าSession ยังมีค่าอยู่ ในserver ถ้าไม่ยิงมาในเวลาที่กำหนดก็สั่งไปupdate ว่า logoff ไปแล้ว
แต่ระวัง server จะทำงานหนักนะครับ ^^
|
 |
 |
 |
 |
Date :
2010-08-05 13:51:52 |
By :
hwang |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
???
|
 |
 |
 |
 |
Date :
2010-08-05 16:56:04 |
By :
Fhaa |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ถ้างง เรื่อง AJAX ก็ทำแบบ Simple อย่างที่ผมว่าไปก่อนก็ได้ครับ แล้วค่อยๆ พัฒนาไป
|
 |
 |
 |
 |
Date :
2010-08-05 18:12:13 |
By :
watcharop |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|