본문 바로가기
MySql

MySQL PHP와 MySQL-소스 코드에서 비밀번호를 피하는 방법?

by 베이스 공부 2021. 1. 10.
반응형


내가 가진 가장 좋은 아이디어는 데이터를 코드에서 구성 파일 (저장소에서 제외됨)로 이동하고 어떻게 든 인코딩하므로 직접 읽을 수 없습니다 (난독 화). 문제를 해결하는 더 좋고 사용하기 쉬운 방법이 있습니까?

$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) { 
    die('Could not connect: ' . mysql_error());
}
mysql_select_db('mydb');

범위 : 강력하면서도 사용하기 쉬운 솔루션을 구축하고 싶습니다. 나는 합리적인 보안을 원하지만 여기서는 기밀 데이터를 다루지 않습니다.


 

해결 방법

 

가장 쉬운 방법은 말했듯이 구성 파일을 사용하는 것입니다.



또한 프로덕션, 개발 및 테스트 플랫폼에 대해 다른 구성 파일을 가질 수 있도록 구성 파일의 기본 (빈 / 기본) 버전을 갖고 환경별로 분리하는 것도 좋은 생각입니다.

환경 변수는 아래 코드와 같이 이러한 환경을 구별하는 가장 일반적인 방법입니다.

// Check if it's been set by the web server
if (!empty($_ENV['ENVIRONMENT'])) {
    // Copy from web server to PHP constant
    define('ENVIRONMENT', $_ENV['ENVIRONMENT']);
}

if (!defined('ENVIRONMENT')) {
    // Default to development
    define('ENVIRONMENT', 'development');
}

// Load in default configuration values
require_once 'config.default.php';

// Load in the overridden configuration file for this environment
require_once 'config.' . ENVIRONMENT . '.php';

매우 일반적인 또 다른 방법은 XML 구성 파일을 사용하고 필요한 값만 읽는 것입니다 (구성 파일의 캐시 된 사본을 메모리에 저장). 이것은 PHP 파일의 임의의 포함을 허용하지 않고 특정 값으로 만로드하도록 매우 쉽게 제한 할 수 있으며 제 생각에는 전반적으로 더 나은 솔루션이지만 위의 내용은 올바른 방향으로 시작해야합니다.



 

참조 페이지 https://stackoverflow.com/questions/15088979

 

 

반응형

댓글