Đánh giá chủ đề:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[Help] Giúp tôi bảo vệ table user
#11
Mình cũng chưa gặp trường hợp này. Bởi vì phần mềm mình viết thường là cho kế toán doanh nghiệp nên người sử dụng đều có máy riêng và máy có pass, ngoài phần mềm còn nhiều thứ khác. Các bạn cũng biết mấy cha kế toán thường hay đỗ thừa nên cho vàng cũng chẳng ai thèm rớ  007 . Hồn ai nấy giữ mà. Nhưng thông qua vụ này (mình nghĩ vụ này chỉ xảy ra trên máy dùng chung thôi) mình cũng có vài suy nghĩ. Nếu chúng ta có 2 table user: một table A là table chính dùng để xử lý đây là table local không liên kết CSDL, table B là table mã hóa dùng để lưu trữ nằm thường trú trên dữ liệu backend. Viết một code mã hóa như a=b, b=c...0=1, 1=2. Và một code phục hồi b trả về a, c trả về b. Mỗi khi load form login thì code dịch phục hồi sẽ dịch từ table B để append vào table A để xử lý phân quyền. Khi đóng database thì code mã hóa sẽ update dữ liệu từ table A sang table B sau đó xóa hết record của table A. Làm như vậy cho dù có import dữ liệu của table B thì cũng không làm gì được vì mật khẩu trên table B đã bị chuyển dịch không đúng với table A. 
Thực ra cách này cũng vẫn có lỗ hỏng. Vì khi họ vào được máy của mình, mở form login (lúc này table A đã được biên dịch và append, họ vẫn import được table A. Chính vì vậy windows cho phép tạo nhiều user để bảo mật
Chữ ký của tranthanhan1962 Kết quả cuối cùng của một đời người, không phải bạn có được bao nhiêu tiền bạc, tài sản. Mà bạn còn bao nhiêu người bạn  thumbs up
ღღღღღTài sản của tranthanhan1962 (View All Items) ღღღღღ
Reply
Những người đã cảm ơn thucgia , Noname
#12
(22-09-15, 11:47 PM)tranthanhan1962 Đã viết: Mình cũng chưa gặp trường hợp này. Bởi vì phần mềm mình viết thường là cho kế toán doanh nghiệp nên người sử dụng đều có máy riêng và máy có pass, ngoài phần mềm còn nhiều thứ khác. Các bạn cũng biết mấy cha kế toán thường hay đỗ thừa nên cho vàng cũng chẳng ai thèm rớ  007 . Hồn ai nấy giữ mà. Nhưng thông qua vụ này (mình nghĩ vụ này chỉ xảy ra trên máy dùng chung thôi) mình cũng có vài suy nghĩ. Nếu chúng ta có 2 table user: một table A là table chính dùng để xử lý đây là table local không liên kết CSDL, table B là table mã hóa dùng để lưu trữ nằm thường trú trên dữ liệu backend. Viết một code mã hóa như a=b, b=c...0=1, 1=2. Và một code phục hồi b trả về a, c trả về b. Mỗi khi load form login thì code dịch phục hồi sẽ dịch từ table B để append vào table A để xử lý phân quyền. Khi đóng database thì code mã hóa sẽ update dữ liệu từ table A sang table B sau đó xóa hết record của table A. Làm như vậy cho dù có import dữ liệu của table B thì cũng không làm gì được vì mật khẩu trên table B đã bị chuyển dịch không đúng với table A. 
Thực ra cách này cũng vẫn có lỗ hỏng. Vì khi họ vào được máy của mình, mở form login (lúc này table A đã được biên dịch và append, họ vẫn import được table A. Chính vì vậy windows cho phép tạo nhiều user để bảo mật

À nghe anh nói hidden table mình thấy có vẽ khả quan đó, Cái này chắc chống import được đây.
Mình đọc thấy cái này giống ý kiến của anh

You can hide a table by right clicking on it and selecting properties.
This stops anyone from viewing it as an importable option when linking
etc. The downside is that it also disappears from query views etc
within the original database too. You can re-view it (and subsequently
re-use the table) by clicking options --view --hidden objects. I
think it is possible to hide/unhide tables using code if used in
queries etc. If i think of anything else i'll let you know

link http://bytes.com/topic/access/answers/69...es-imports

và đây là vba code

Mã:
Example VBA Code

Public Sub HideTable(strTablename As String)
   With CurrentDb
       With .TableDefs(strTablename)
           .Attributes = .Attributes Or dbHiddenObject
       End With
   End With
   RefreshDatabaseWindow
End Sub
   
 
Public Sub UnHideTable(strTablename As String)
   With CurrentDb
       With .TableDefs(strTablename)
           If dbHiddenObject = (.Attributes And dbHiddenObject) Then
               .Attributes = .Attributes - dbHiddenObject
           End If
       End With
   End With
   RefreshDatabaseWindow
End Sub

Để mình thử xem sau khi hidden table thì có thể import được không?
và nếu nó oK thì mình nghĩ qui trình xuất bản như sau là good

0.bổ sung cái md5 for password field của anh noname
1.split database
2.set pass for back end, front end relink to back end
3.dissable    shift,F11,navigatiion pane,full menu and hidden Table for front end
4.and end of them is making front end to mde



I think it is absollute sure, Các anh nghĩ sao? 027
Chữ ký của thucgia Hix, Access quả nhiên lợi hại !!!! http://vibigaba.esy.es/
ღღღღღTài sản của thucgia (View All Items) ღღღღღ
Reply
Những người đã cảm ơn Noname , tranthanhan1962 , maidinhdan
#13
(23-09-15, 12:15 AM)thucgia Đã viết: Để mình thử xem sau khi hidden table thì có thể import được không?

I think it is absollute sure, Các anh nghĩ sao? 027

* Làm xong post lên mình Check dùm cho!
Chữ ký của maidinhdan * Để được hỗ trợ tốt nhất, nhấn vào link dưới đây để xem.
1. [Hướng dẫn] Kiểu file gửi lên để được giúp đỡ
2. [Hướng dẫn] Nội quy diễn đàn
3. [Hướng dẫn] Cách Đưa file và hình vào diễn đàn
4.[Hướng dẫn] Để xây dựng một ứng dụng hoàn hảo và lời cảm tạ
5. Cần tìm Demo hay ứng dụng sử dụng thanh tìm kiếm phía trên cùng, bên phải của diễn đàn.
* Nếu muốn cảm ơn, hãy nhấn nút thank, không cần viết thêm bài nào nửa.



ღღღღღTài sản của maidinhdan (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#14
(23-09-15, 12:15 AM)thucgia Đã viết: À nghe anh nói hidden table mình thấy có vẽ khả quan đó, Cái này chắc chống import được đây.

Thực ra ổ khóa nào cũng chỉ có thể giữ được với người lương thiện. Nhưng với bọn ác thì khác. Cho dù bạn có ẩn table. nhưng nếu họ thiết đặt tool \ option \ view \ check hidden object. Họ cũng vẫn thấy được table ẩn. Windows còn bị bẻ khó@ cơ mà. Tất nhiên sử dụng nhiều hàng rào cũng có thể làm nản lòng thằng ăn cắp  007 .
Chữ ký của tranthanhan1962 Kết quả cuối cùng của một đời người, không phải bạn có được bao nhiêu tiền bạc, tài sản. Mà bạn còn bao nhiêu người bạn  thumbs up
ღღღღღTài sản của tranthanhan1962 (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#15
(23-09-15, 12:44 PM)tranthanhan1962 Đã viết:
(23-09-15, 12:15 AM)thucgia Đã viết: À nghe anh nói hidden table mình thấy có vẽ khả quan đó, Cái này chắc chống import được đây.

Thực ra ổ khóa nào cũng chỉ có thể giữ được với người lương thiện. Nhưng với bọn ác thì khác. Cho dù bạn có ẩn table. nhưng nếu họ thiết đặt tool \ option \ view \ check hidden object. Họ cũng vẫn thấy được table ẩn. Windows còn bị bẻ khó@ cơ mà. Tất nhiên sử dụng nhiều hàng rào cũng có thể làm nản lòng thằng ăn cắp  007 .

Các table hidden sẽ không hiện trong danh sách import object dù có set như anh nói (mình kiểm tra thử rồi) cho nên hidden table là khả quan đấy, có lẽ đây là cách chống import từ file access khác. 015
Chữ ký của thucgia Hix, Access quả nhiên lợi hại !!!! http://vibigaba.esy.es/
ღღღღღTài sản của thucgia (View All Items) ღღღღღ
Reply
Những người đã cảm ơn Noname , tranthanhan1962
#16
(23-09-15, 12:44 PM)tranthanhan1962 Đã viết: ...... Windows còn bị bẻ khó@ cơ mà. Tất nhiên sử dụng nhiều hàng rào cũng có thể làm nản lòng thằng ăn cắp  007 .

* Em thích nhất câu nói này của anh Ân

(23-09-15, 01:38 PM)thucgia Đã viết: Các table hidden sẽ không hiện trong danh sách import object dù có set như anh nói (mình kiểm tra thử rồi) cho nên hidden table là khả quan đấy, có lẽ đây là cách chống import từ file access khác. 015

* Bạn post lên thử xem mình Import được không?
Chữ ký của maidinhdan * Để được hỗ trợ tốt nhất, nhấn vào link dưới đây để xem.
1. [Hướng dẫn] Kiểu file gửi lên để được giúp đỡ
2. [Hướng dẫn] Nội quy diễn đàn
3. [Hướng dẫn] Cách Đưa file và hình vào diễn đàn
4.[Hướng dẫn] Để xây dựng một ứng dụng hoàn hảo và lời cảm tạ
5. Cần tìm Demo hay ứng dụng sử dụng thanh tìm kiếm phía trên cùng, bên phải của diễn đàn.
* Nếu muốn cảm ơn, hãy nhấn nút thank, không cần viết thêm bài nào nửa.



ღღღღღTài sản của maidinhdan (View All Items) ღღღღღ
Reply
Những người đã cảm ơn Noname , tranthanhan1962
#17
(23-09-15, 05:24 PM)maidinhdan Đã viết:
(23-09-15, 12:44 PM)tranthanhan1962 Đã viết: ...... Windows còn bị bẻ khó@ cơ mà. Tất nhiên sử dụng nhiều hàng rào cũng có thể làm nản lòng thằng ăn cắp  007 .

* Em thích nhất câu nói này của anh Ân

(23-09-15, 01:38 PM)thucgia Đã viết: Các table hidden sẽ không hiện trong danh sách import object dù có set như anh nói (mình kiểm tra thử rồi) cho nên hidden table là khả quan đấy, có lẽ đây là cách chống import từ file access khác. 015

* Bạn post lên thử xem mình Import được không?

hi, coi kỹ lại mình bị nhầm, vậy là nó import tuốt luôn quái chiêu!!!! để mình up, anh xem có ý kiến giúp

[Hình: an_ti_import.png]

cái link đây

Cái be
Cái file front end

acount là : admin/admin

access 2010 nhá anh.

cái field pass minh chưa mã hóa md5, mới chỉ set format là password thôi.
Chữ ký của thucgia Hix, Access quả nhiên lợi hại !!!! http://vibigaba.esy.es/
ღღღღღTài sản của thucgia (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#18
Về vụ bảo vệ bảng người dùng, xin giới thiệu một cách tôi đã làm cũng lâu lâu rồi nhưng thấy phức tạp nên bỏ. Xét cho cùng làm mã nguồn mở thì chả phải băn khoăn quá nhiều về việc mất mát.

Phương pháp thực hiện đơn giản và giống như các bác đã nói ở đây, tuy nhiên tiếp cận có modife một tí đó là:
Dùng phương pháp mã hóa 2 chiều với tên người dùng dựa vào chuỗi kết hợp giữa tên và mật khẩu.

+ Viết hàm mã hóa (hàm này có giới thiệu trong một mục Access)
+ Thiết kế form login
- Khi người dùng gõ tên người dùng và mật khẩu, hàm này sẽ lấy chuỗi mã hóa là tên người dùng + mật khẩu hoặc sửa đi tẹo cũng được;
- Hàm này sẽ giải mã thông tin trong bảng người dùng, mật khẩu. Nếu kết quả giải mã đúng với tên người dùng và mật khẩu thì ok.
Nhược điểm của phương pháp này là nếu người dùng quên tên truy cập hoặc mật khẩu thì mọi quyền sẽ không thể khôi phục lại được.
Do đó thông thường chỉ cần dùng tên người dùng làm chuỗi mã hóa với sự kết hợp một số từ khóa cố định nào đó là được.
Chữ ký của paulsteigel ====================
Quốc gia hưng vong
Thất phu hữu trách
====================
Reply
Những người đã cảm ơn Noname , thucgia
#19
(25-09-15, 04:38 PM)paulsteigel Đã viết: Về vụ bảo vệ bảng người dùng, xin giới thiệu một cách tôi đã làm cũng lâu lâu rồi nhưng thấy phức tạp nên bỏ. Xét cho cùng làm mã nguồn mở thì chả phải băn khoăn quá nhiều về việc mất mát.

Phương pháp thực hiện đơn giản và giống như các bác đã nói ở đây, tuy nhiên tiếp cận có modife một tí đó là:
Dùng phương pháp mã hóa 2 chiều với tên người dùng dựa vào chuỗi kết hợp giữa tên và mật khẩu.

+ Viết hàm mã hóa (hàm này có giới thiệu trong một mục Access)
+ Thiết kế form login
- Khi người dùng gõ tên người dùng và mật khẩu, hàm này sẽ lấy chuỗi mã hóa là tên người dùng + mật khẩu hoặc sửa đi tẹo cũng được;
- Hàm này sẽ giải mã thông tin trong bảng người dùng, mật khẩu. Nếu kết quả giải mã đúng với tên người dùng và mật khẩu thì ok.
Nhược điểm của phương pháp này là nếu người dùng quên tên truy cập hoặc mật khẩu thì mọi quyền sẽ không thể khôi phục lại được.
Do đó thông thường chỉ cần dùng tên người dùng làm chuỗi mã hóa với sự kết hợp một số từ khóa cố định nào đó là được.

Sau khi đưa vấn đề này ra thảo luận mình rất cám ơn các góp ý của các bạn vì mình được một số điều hết sức thú vị mà trước đây mình chưa biết.
1. Viết Acc vẫn có thể bảo mật tuyệt đối được, nhưng mà khổ cho người viết rất nhiều bằng cách là
      - không relink,
      - mật khẩu của back end được lưu trữ trong code
      - Lúc này khi nào cần lấy dữ liệu sẽ kết nối với da ta -> ngắt kết nối. (hĩ cái này vừa mới đọc được) --> Viết vất vả lắm

2. Viết trong các trường hợp không cần bảo mật lắm thì chúng ta có thể phát triển nhanh, phát thảo nhanh ý tưởng thuật toán mà không có ngôn ngữ nào khác nhanh bằng. Lúc này cái relink coi vậy mà hay...
Chữ ký của thucgia Hix, Access quả nhiên lợi hại !!!! http://vibigaba.esy.es/
ღღღღღTài sản của thucgia (View All Items) ღღღღღ
Reply
Những người đã cảm ơn Noname
#20
Nói cho cùng user name cũng không quan trọng lắm nhưng pass mới là vấn đề. Nếu mật khẩu thật của bạn là abcde nhưng làm cách nào đó abcde trở thành 12345 hay mnopq hay là gì đó chẳng hạn. Không cần bất kỳ một phần mềm mã hóa nào. Access cho bạn một cây cần câu còn câu như thế nào và dùng mồi gì để câu là chuyện của bạn. Đừng nghĩ rằng access hỗ trợ được gì cho ta mà hãy suy nghĩ ta sử dụng access như thế nào thì nó sẽ là một công cụ tuyệt vời cho bạn. Nếu bạn nghĩ rằng access sẽ bảo mật CSDL của bạn, bạn sẽ không bao giờ bảo mật được. Nhưng nếu bạn tự suy nghĩ cách bảo mật cơ sở dữ liệu của bạn thì VBA của access dư thừa việc hỗ trợ yêu cầu của bạn. Ngôn ngữ VBA access chỉ có 1 nhưng vào tay Noname, maidinhdan, paulsteigel, thucgia... thì sẽ khác nhau. Quan trọng là cách xử lý như thế nào.
Chữ ký của tranthanhan1962 Kết quả cuối cùng của một đời người, không phải bạn có được bao nhiêu tiền bạc, tài sản. Mà bạn còn bao nhiêu người bạn  thumbs up
ღღღღღTài sản của tranthanhan1962 (View All Items) ღღღღღ
Reply
Những người đã cảm ơn


Có thể liên quan đến chủ đề
Chủ đề: Tác giả Trả lời: Xem: Bài mới nhất
  [Help] K biết là lỗi hay gì cần trợ giúp. nhocdevill11 2 68 08-12-16, 05:02 PM
Bài mới nhất: nhocdevill11
  [Help] Nhờ anh em trong diễn đàn giúp mình thiết kế chương trình báo dịch hàng ngày vinhpaint 1 258 21-06-16, 09:15 AM
Bài mới nhất: zinzin8x
  [Help] ai giúp mình code lại sql này thành access với li_95 0 133 24-04-16, 05:59 PM
Bài mới nhất: li_95
  Hướng dẫn giúp câu lệnh mở file access khác và lệnh import data. chihienphuco 5 3,902 17-11-15, 09:47 AM
Bài mới nhất: kieu manh
  trợ giúp về giao diện access quan_pc 7 4,403 24-07-15, 02:39 PM
Bài mới nhất: tranthanhan1962

Chuyển nhanh:


User(s) browsing this thread: 1 Guest(s)
Diễn Đàn Thơ Văn Thi Ẩm Lâu|Nhà Hàng Sông Thơ