Bảo mật Database MS Access   7 comments


Với một số phần mềm trong một số lĩnh vực có dữ liệu tương đối ít, không cần dùng đến MS SQL để lưu trữ thì vệc lựa chọn cơ sở dữ liệu tương đối hợp lý là MS Access.

VD: Database một số Website, database một số phần mềm bán lẻ POS …

Ưu điểm: Nhỏ, nhẹ, đơn giản, dễ cài, ADO thường có sẵn khi cài Windows.

Để bảo mật  Database MS Access có nh74ng cách làm thông thường như:

– Với MS Access 2003 (hoặc cũ hơn):

 photo image004-67_zpsb16b4167.jpg

 photo image008-33_zpsea15a6c6.jpg
Lưu ý: để Set password Database thì khi mở phải chọn: Open Exclusive
 photo image010-32_zps3c1f1a81.jpg

– Với MS Access 2007 (hoặc mới hơn):

 photo image005-23_zps9ca032cc.jpg

 photo image006-44_zps216c3d64.jpg

Lưu ý: để Set password Database thì khi mở phải chọn: Open Exclusive
 photo image012-15_zps02cb7fb2.jpg

Tuy nhiên những cách làm thông thường trên thường bị Recover password trong tích tắc <1s.

Giải pháp nào để tránh việc dùng phần mềm recover?

1. Dùng ADO để tạo Database, phần mềm Recover khi kiểm tra sẽ báo lỗi: File format error

VD: http://www.mediafire.com/?nhpp8oapuos70hp

Password databse đơn giản chỉ là: 12345 (thử kiểm tra lại bằng MS Access)

2. Tạo mật khẩu phức tạp bằng những ký tự không thể nhập trực tiếp từ bàn phím:

VD: Backspace _chr(8), Esc _chr(27),…

Password phức tạp:  http://www.mediafire.com/download.php?a7cjngk3pb6rbel

Đơn giản thế thôi, chúc các bạn thành công!

Posted 11/05/2013 by phamhqthanh in Hệ thống

7 responses to “Bảo mật Database MS Access

Subscribe to comments with RSS.

  1. Thanks a Thanh

  2. Cám ơn bác Thanh

  3. Public Sub CreateDb()
    Dim cat As ADOX.Catalog
    Set cat = New ADOX.Catalog
    cat.Create (“Provider=Microsoft.Jet.OLEDB.4.0;” & _
    “Data Source=C:\NewMDB.mdb;” & _
    “Jet OLEDB:Engine Type=5; Jet OLEDB:Database password=” & Chr(8) & Chr(27))
    Set cat = Nothing
    End Sub

    Public Sub connect()
    Dim cn As ADODB.Connection
    Set cn = New ADODB.Connection
    cn.ConnectionString = “Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\NewMDB.mdb;Jet OLEDB:Database password=” & Chr(8) & Chr(27)
    cn.Open
    cn.Close
    Set cn = Nothing
    End Sub

    Em thử pass như thế này vẫn có thể dò ra. Bác Thanh chỉ em rõ hơn một chút, em hơi bị dốt. ký tự Bác dùng làm pass trong file ‘database_test_lock.mdb’ là gì vậy Bác ?

  4. Cách dùng DAO em dùng phần mềm dò mật khẩu vẫn tìm ra sư phụ à.

  5. Anh Thanh ơi cho e hỏi ké ở thread này tí! Mấy soft về dự toán của anh như XDDN_EST e làm theo hướng dẫn nhưng chưa biết cái chạy Chuơng trình, nhờ a giúp với, thanks

  6. Đặt password cho khó bây giờ đổi không được. Chết dỡ đây.

    File : “C:\NewMDB.mdb”
    Pass : Chr(7)

    Public Sub ResetPassword()
    On Error GoTo FAIL
    Dim cn As ADODB.Connection
    Set cn = New ADODB.Connection
    cn.Mode = adModeShareExclusive
    cn.ConnectionString = “Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\NewMDB.mdb;Jet OLEDB:Database password=” & Chr(7)
    cn.Open
    cn.Execute “ALTER DATABASE PASSWORD NULL ” & Chr(7) ‘ Loi cho nay
    cn.Close
    Set cn = Nothing
    MsgBox “Database Password has been reset.”
    Exit Sub

    FAIL:
    MsgBox Err.Description
    Err.Clear
    Set cn = Nothing
    End Sub

    Cuối cùng lỗi : “invalid sql syntax -expected password.”

Bình luận về bài viết này