Hướng dẫn how can i protect my database password in php? - làm cách nào tôi có thể bảo vệ mật khẩu cơ sở dữ liệu của mình trong php?

Khi một ứng dụng PHP tạo kết nối cơ sở dữ liệu, tất nhiên thường cần truyền thông tin đăng nhập và mật khẩu. Nếu tôi đang sử dụng một thông tin đăng nhập đơn, gửi tối thiểu cho ứng dụng của mình, thì PHP cần biết rằng đăng nhập và mật khẩu ở đâu đó. Cách tốt nhất để bảo mật mật khẩu đó là gì? Có vẻ như chỉ viết nó trong mã PHP không phải là một ý tưởng tốt.

Khao khát

12.9k6 Huy hiệu vàng61 Huy hiệu bạc91 Huy hiệu Đồng6 gold badges61 silver badges91 bronze badges

hỏi ngày 18 tháng 9 năm 2008 lúc 23:27Sep 18, 2008 at 23:27

3

Một số người đọc sai điều này như một câu hỏi về cách lưu trữ mật khẩu trong cơ sở dữ liệu. Đó là sai. Đó là về cách lưu trữ mật khẩu cho phép bạn vào cơ sở dữ liệu.store passwords in a database. That is wrong. It is about how to store the password that lets you get to the database.

Giải pháp thông thường là chuyển mật khẩu ra khỏi mã nguồn vào tệp cấu hình. Sau đó để quản trị và đảm bảo tệp cấu hình đó cho quản trị viên hệ thống của bạn. Bằng cách đó, các nhà phát triển không cần biết bất cứ điều gì về mật khẩu sản xuất và không có bản ghi mật khẩu trong kiểm soát nguồn của bạn.

Farray

8.0743 Huy hiệu vàng32 Huy hiệu bạc37 Huy hiệu đồng3 gold badges32 silver badges37 bronze badges

Đã trả lời ngày 18 tháng 9 năm 2008 lúc 23:32Sep 18, 2008 at 23:32

user11318user11318user11318

9.1932 Huy hiệu vàng25 Huy hiệu bạc25 Huy hiệu Đồng2 gold badges25 silver badges25 bronze badges

18

Nếu bạn đang lưu trữ trên máy chủ của người khác và không có quyền truy cập bên ngoài Webroot của bạn, bạn luôn có thể đặt mật khẩu và/hoặc kết nối cơ sở dữ liệu của mình vào một tệp và sau đó khóa tệp bằng .htaccess:


order allow,deny
deny from all

Đã trả lời ngày 3 tháng 8 năm 2009 lúc 18:28Aug 3, 2009 at 18:28

Kellenkellenkellen

6.8253 huy hiệu vàng21 Huy hiệu bạc10 Huy hiệu đồng3 gold badges21 silver badges10 bronze badges

8

Cách an toàn nhất là không có thông tin được chỉ định trong mã PHP của bạn.

Nếu bạn đang sử dụng Apache có nghĩa là đặt chi tiết kết nối trong tệp HTTPD.conf hoặc tệp máy chủ ảo của bạn. Nếu bạn làm điều đó, bạn có thể gọi mysql_connect [] không có tham số, điều đó có nghĩa là PHP sẽ không bao giờ xuất thông tin của bạn.

Đây là cách bạn chỉ định các giá trị này trong các tệp đó:

php_value mysql.default.user      myusername
php_value mysql.default.password  mypassword
php_value mysql.default.host      server

Sau đó, bạn mở kết nối MySQL như thế này:

Bài Viết Liên Quan

Chủ Đề