เข้ารหัสฐานข้อมูลครับ
กระทู้เก่าบอร์ด อ.Yeadram

 3,826   13
URL.หัวข้อ / URL
เข้ารหัสฐานข้อมูลครับ

คือผมใช้ตัว Access ทำเป็นตัวโปรแกรมทำงานเลย
แล้วผมลองล็อคฐานข้อมูล ปัญหาคือเวลาเปิดโปรแกรมมันจะให้ใส่รหัสทุกครั้ง

ทำยังไงให้ทำงานได้ปกติ แต่กันไม่ให้มีการเปิดไฟล์มาดูหรือแก้ไขได้ครับ

13 Reply in this Topic. Dispaly 1 pages and you are on page number 1

1 @R20217
แยกฐานข้อมูล Back end และ Front end ส่วนวิธีการ มีอาจารย์หลายท่านตอบกระทู้ในบอร์ดนี้ลองค้นหาดูครับ:

http://www.thai-access.com/yeadram_view.php?topic_id=771
2 @R20218
ขอบคุณมากๆครับผม
3 @R20222
คือจุดประสงค์ของผมคือ ไม่ให้สามารถเปิดไฟล์ access มาแก้ไขได้เลยมีวิธีไหมครับผม
4 @R20224
ลองทำแบบนี้ดูก็ได้ครับ มันไม่ได้เทพอะไร ก็พอป้องกันผู้ใช้ทั่วไปได้นะครับ
SecuringYourFrontEnd
5 @R20225
แต่ในคลิปเค้าลืมไปอีกอย่าง คือการกันไม่ให้กด F11 เรียก Navigation Pane ให้ทำแบบนี้ก็ได้ครับ ง่ายดี (จริงๆมีอีกวิธีคือเขียน VBA)

เขียน Macro (Autokeys)

       - สร้างคำสั่ง Macro ขึ้นใหม่ > Add New Action > เลือกเป็น
        Submacro: {F11}
             Beep
        End Submacro

       - เซฟ Macro โดยตั้งชื่อว่า Autokeys

       - เมื่อเรียกฟังก์ชั่นนี้แล้ว ปิดโปรแกรม แล้วเรียกไฟล์ใหม่อีกครั้ง ก็จะไม่สามารถกดปุ่ม F11 เรียก Navigation Pane ได้
6 @R20233
ขอบคุณมากๆครับผม
ปัญหาติดตรงที่ มันสามารถเอาไฟล์ไป Import ได้ ผลงานของเราก็สามารถถูกดึงไปได้ครับผม

ผมเคยเจอแบบติดรหัสฐานข้อมูล จะ Import ไม่ได้ครับผม แต่ติดปัญหาตรงที่เวลาเปิดโปรแกรมมันจะถามหารหัสก่อนเข้าใช้งานครับ
7 @R20236
อื่ม จริงๆ ผมเคยบอกแล้วว่าผมมอง MS Access เป็นแค่โปรแกรมใช้ไฟล์ฐานข้อมูลเท่านั้น ไม่ใช่โปรแกรมระบบฐานข้อมูล เหมือนกับชุด Office พวก Excel, Word, PowerPoint, ... ซึ่งก็เป็นแนวคิดของทาง MS Office ที่ต้องการให้คนใช้กันง่ายที่สุด เป็นพื้นฐานของการใช้ประโยชน์จากคอมพิวเตอร์ ที่ทุกคนสามารถใช้ได้เลย

ข้อดี: คือ จับต้องง่าย ใช้งานได้ทันที มีเครื่องมืออำนวยความสะดวกในการใช้ได้เลย ไม่ต้องมาติดตั้งนี่นั่นปวดหัวแบบระบบใหญ่ๆ สะดวกในการย้าย เพราะเป็นไฟล์เดียวพกติดตัวยังได้

ข้อเสีย: คือ ไม่มีความสามารถในการดึงประสิทธิภาพสูงสุดของ hardware มาใช้งานได้เหมือนระบบใหญ่ ทุกอย่างยังใช้แต่ CPU อย่างเดียว ไม่มีฟังก์ชั่นมากมายนัก ไม่มีระบบรักษาความปลอดภัยเหมือนระบบใหญๆ เพราะทุกอย่างที่เราทำจะเก็บไว้ที่ไฟล์เพียงไฟล์เดียว ดังนั้นจึงเป็นไปไม่ได้เลยที่จะป้องกันการแฮก "แต่จะว่าไปแม้แต่ระบบเทพๆทั้งหลายทุกวันนี้ก็ยังโดนแฮกกันเป็นว่าเล่นเลยนะ"

ที่พิมพ์มาเยอะข้างต้น และยังไม่หมดแต่ขี้เกียจละ 555 ก็จะบอกว่า หากคิดถึงการป้องกันแบบระบบใหญ่คงเป็นไปไม่ได้ ดังนั่นเอาแค่ป้องกันระดับของผู้ใช้งานทั่วไปก็พอจะมีแนวคิดประมาณนี้ครับ

แยกไฟล์เป็น Front End และ Back End หรือที่ MS Access เรียกว่า Slit Database คือการแยกไฟล์ฐานข้อมูล ออกจากเครื่องมือการแสดงผล

Front End: ใส่ในส่วนของ Form, Report, Macro, Module ห้ามลิ้งค์ Table ใน Back End เข้ามาก่อน(เมื่อเสร็จ เซฟไฟล์เป็น accde ไม่ต้องตั้ง Password ตัวไฟล์)

Back End: ใส่ในส่วนของ Table, Query (เมื่อเสร็จให้ตั้ง Password ตัวไฟล์ไว้ แต่ไม่ต้องเซฟเป็น accde ก็ได้)

- เมื่อทำเช่นนี้ จะเห็นได้ว่า Form, Report, Macro, Module ใน Front End จะไม่สามารถถูก Import ได้ เพราะไฟล์เป็น accde ส่วน Table, Query ก็ Import ไม่ได้เช่นกันเพราะติด Password ไฟล์

- ส่วนการเรียกใช้งาน เราก็สร้างฟอร์ม Login ไว้ที่ Front End เมื่อผู้ใช้พิมพ์รหัสผ่าน เราก็ใช้คำสั่งจำพวก DAO เชื่อมต่อกับตาราง Back End ที่เก็บรหัสผ่านแต่ละคนไว้ หากถูกต้อง เราก็ค่อยเรียกคำสั่งลิ้งค์ตารางจาก Back End เข้ามาไว้ที่ Front End และเมื่อใช้งานเสร็จ ก็เขียนคำสั่งลบลิ้งค์ตารางทิ้งไป แนวคิดก็จะประมาณนี้ครับ

ตัวอย่างไฟล์

ลองศึกษาดู ส่วนคำสั่งต่างๆ หาได้จากกระทู้เก่าๆนะ ผมว่ามีเขียนไว้หมดแล้วนะ
8 @R20237
UserName: Admin, Password: 1234 (สามารถเขียน ลบ เพิ่มเรคคอร์ด ได้ทั้งหมด)
UserName: User, Password: 5678 (สามารถเพิ่มเรคคอร์ดใหม่ได้เท่านั้น)
UserName: Guest, Password: 0000 (ดูข้อมูลได้เท่านั้น)
9 @R20238
ขอโทษครับ วิธีสร้าง Macro AutoKeys ทำอย่างไรครับ อ่านแล้วยังไม่เข้าใจครับ
10 @R20240
ขอบคุณอาจารย์ TTT ผมจะลองทำตามทีละอย่างครับ
มือใหม่กำลังมึนๆครับ
11 @R20241
@มือใหม่ ลองคลิปการ bypass คีย์ F11 ที่นี่ครับ
https://youtu.be/stAlUcfn9JU
12 @R20248
ขอบคุณมากๆเลยครับผม อย่างนี้นั่งเรียนรู้กันยาวเลยครับอิๆ
13 @R20250
ขอบคุณมากครับ
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.3251s