Tôi biết quy tắc: không bao giờ mã hóa mật khẩu của bạn và tôi đã xem câu hỏi này here giải thích điều gì với Java và mySQL, nhưng tôi không biết phải làm gì với PHP và mySQL.Làm cách nào để bảo vệ chuỗi kết nối mySQL trong PHP?
Chuỗi kết nối hiện tại được làm như thế này
<?PHP
$DBName = "dbName";
$Host = "localhost";
$User = "dbUser";
$Password = "Yikes_hardcoded_PW";
$Link = mysql_connect($Host , $User , $Password , $DBName);
if (!$Link) {
die('Could not connect: ' . mysql_error());
}
?>
- nhưng tôi cần phải có mật khẩu bảo đảm, tức là không hardcoded trong tập tin này. Tôi phải làm nó như thế nào?
EDIT: Đối với tất cả các downvotes tôi nhận được về vấn đề này, tôi vẫn chưa nhận được trả lời cho câu hỏi đó là về một mối quan tâm an ninh chính hãng - mật khẩu mã hóa cứng. Sẽ không hữu ích khi bỏ phiếu bầu cho một câu hỏi thực sự mà không cần đăng bình luận hoặc câu trả lời hoàn thành câu hỏi.
tốt, không đặt mật khẩu trong mã. Nếu đó là mã nguồn mở, thì không ai cần mật khẩu –
đặt nó vào một tệp cấu hình riêng và bỏ qua nó trong GIT – Bogdan
Bạn có thể đặt mật khẩu trong một tệp riêng biệt như Bogdan đề xuất và gitignore nó cho mục đích phát triển. Để phát triển nó thực sự có thể dễ dàng hơn để chỉ giữ mật khẩu trong dsn. Cách nào bạn đi phụ thuộc vào mức độ thoải mái của bạn. Để sản xuất, hãy giữ mật khẩu trên hộp sản xuất nơi mã của bạn sẽ thực thi. Hạn chế quyền truy cập vào hộp và quản lý mật khẩu được đặt/đặt lại thông qua đầu bếp, con rối, vải, v.v. – dminer