Mật khẩu bảo vệ dự án QGIS


8

Trên một máy tính dùng chung, tôi có một dự án QGIS liên kết với cơ sở dữ liệu PostGIS có chứa dữ liệu của tôi. Nếu người dùng muốn truy cập các lớp từ db, họ phải nhập thông tin đăng nhập db, vì vậy điều đó ổn.

Tuy nhiên, trước đây tôi đã đăng nhập và nhập các lớp từ db của mình vào QGIS và thao tác chúng trong QGIS (tùy chọn kiểu dáng dựa trên dữ liệu meta, v.v.) ... Bất kỳ ai mở dự án QGIS của tôi đều có thể xem các lớp này trong QGIS và do đó có thể thấy dữ liệu tôi muốn được bảo vệ trong db của tôi.

Có cách nào để mật khẩu bảo vệ dự án QGIS của tôi không?


Thật không may, nó không hoạt động, đó là một máy tính dùng chung được nhiều người sử dụng.
RJK57

Câu trả lời:


11

Đặt cược tốt nhất của bạn sẽ không lưu thông tin đăng nhập db trong dự án của bạn (QGIS thậm chí còn đưa ra cảnh báo về nguy cơ tiềm ẩn khi lưu thông tin đăng nhập của bạn khi bạn thêm db lần đầu tiên).

Khi bạn mở dự án, bạn sẽ ngay lập tức được nhắc về thông tin đăng nhập của mình trước khi bất kỳ lớp nào từ db được hiển thị.

Ngoài ra, bạn có thể:

  • Sử dụng các phương thức HĐH để ẩn / bảo vệ thư mục nơi dự án QGIS của bạn được lưu trữ, tức là chỉ tài khoản người dùng của bạn mới có thể truy cập vào thư mục cụ thể đó
  • Bạn có thể thử chạy tập lệnh Python khi mở dự án có thể yêu cầu thông tin đăng nhập, mặc dù trong 5 phút tôi đã dùng thử, không thể làm việc này. Kiểm tra Thuộc tính dự án (CTRL + Shift + P) và sau đó là Macro để xem ý tôi là gì.

Để theo dõi sự nguy hiểm của việc lưu thông tin đăng nhập db của bạn trong QGIS, hãy xem câu hỏi này . Bất cứ ai có chút tò mò đều thấy thông tin đăng nhập của bạn ở dạng văn bản đơn giản.


Cám ơn phản hồi của bạn. Tôi đã không lưu thông tin đăng nhập db. Ngoài ra, tôi không thấy hành vi bạn mô tả ở trên. Ngay cả khi người dùng không cung cấp thông tin đăng nhập db, sau khi hủy hộp nhắc nhở, anh ta có thể truy cập vào một loạt các lớp trong QGIS có nguồn dữ liệu từ db.
RJK57

Mở tệp dự án bằng trình soạn thảo văn bản và tìm các thẻ <dataource>. Phải có thông tin đăng nhập, bởi vì hành vi dự kiến ​​sau khi đóng lời nhắc mà không nhập bất cứ điều gì là kết quả 'Kết nối thất bại'.
wchatx

Bạn đã kiểm tra đúng quản lý của bảng? Có lẽ vai trò "công khai" đã CHỌN đúng. Đó có thể là lý do tại sao sau khi hủy hộp nhắc nhở, người dùng vẫn có thể truy cập nó.
aurel_nc

@wchatx Cảm ơn, đã làm điều đó! Đã mở dự án trong Notepad ++ và xóa tất cả các tham chiếu đến username=foo password=bar. Vấn đề mà tôi có thể thấy là, cơ sở dữ liệu thử nghiệm của tôi chỉ sử dụng thông tin đăng nhập / mật khẩu của quản trị viên, tức là postgres / postgres. Sau khi tôi quyết định sử dụng ngăn xếp PostGIS / QGIS, tôi đã thay đổi mật khẩu. Mặc dù không nhập đúng tên người dùng / mật khẩu trong QGIS đã chặn quyền truy cập vào các lớp tôi đã nhập với mật khẩu đã cập nhật, vì một số lý do, các lớp cũ hơn (được nhập với cấu hình postgres / postgres) vẫn ổn vì thông tin đăng nhập được lưu trong cơ sở dữ liệu.
RJK57

@ RJK57 Tuyệt vời!
wchatx

3

Có một câu hỏi tương tự tôi đã trả lời ở đây . Tôi đã không đi quá xa trong việc thiết lập một ý tưởng về cách tạo biểu mẫu đăng nhập, mặc dù có rất nhiều logic.

Nếu bạn có thể tin tưởng người dùng của mình không cố gắng nhập mã python của bạn (hoặc biên dịch thành .exe để làm cho nó khó hơn nữa), bạn có thể tạo một tập lệnh sẽ mở ra dự án với các lớp được tải trong đó, hoặc một lớp dự án trống nếu họ không thể cung cấp thông tin đăng nhập chính xác.

Đã có cuộc thảo luận về việc kiểm tra thông tin đối với máy chủ để có phương pháp an toàn hơn, mà bạn có thể thực hiện trong ví dụ Postgres / PostGIS của mình. Bạn có thể tìm thấy một điểm dừng đơn giản hơn để mã trong tên người dùng của mình và mật khẩu được băm vào mã python cung cấp cho API để xác minh. Vì vậy, hãy để máy chủ của bạn làm so sánh thay vì mã máy tính để bàn của bạn. Lưu trữ mật khẩu băm của bạn cục bộ không phải là cách an toàn nhất để thực hiện, nhưng tùy thuộc vào thuật toán băm của bạn, nó có thể rất khó để bẻ khóa nó .

Cuối cùng, có thể an toàn hơn khi chỉ cung cấp thông tin đăng nhập của bạn mỗi lần trừ khi bạn biết những người dùng khác không đủ hiểu biết về máy tính để tìm ra bất kỳ phương pháp tự động nào bạn cung cấp.


Cám ơn phản hồi của bạn. Tôi sẽ cố gắng thực hiện một số loại biểu mẫu và trả lời lại câu hỏi nếu tôi bẻ khóa nó ...
RJK57
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.