플러터 애플리케이션을 개발하는 동안 build_runner
를 사용하여 코드를 생성하는 경우가 많습니다. build_runner
를 사용하면 코드를 생성하고 유지보수하는 데 도움이 됩니다. 그러나 build_runner
로 생성된 파일은 애플리케이션의 보안에 영향을 미칠 수 있으므로 이 파일들을 안전하게 관리하는 방법에 대해 알아보겠습니다.
1. .gitignore 파일에 추가
build_runner
로 생성된 파일은 불필요하게 레포지토리에 포함되어서는 안됩니다. 따라서 .gitignore
파일에 이러한 파일들을 추가하여 깃 저장소에 업로드되지 않도록 설정해야 합니다.
예시:
# build_runner 생성 파일 무시
/build/
/lib/*.g.dart
2. 접근 권한 설정
build_runner
로 생성된 파일은 불필요할 뿐만 아니라, 외부에 노출되면 보안 위협이 될 수 있습니다. 따라서 해당 파일들에 대한 경로 권한을 설정하여 외부 접근을 차단해야 합니다.
예시:
import 'package:flutter/services.dart';
void main() {
WidgetsFlutterBinding.ensureInitialized();
SystemChannels.platform.setMethodCallHandler((MethodCall call) async {
if (call.method == 'setBuildRunnerFilesSecure') {
// build_runner로 생성된 파일에 대한 접근 제한 로직 추가
}
});
}
위 코드는 앱이 시작될 때 플랫폼 채널을 통해 setBuildRunnerFilesSecure
메서드 호출을 대기하고, 해당 메서드가 호출되면 build_runner로 생성된 파일에 대한 접근 제한 로직을 실행합니다.
3. 암호화
build_runner
로 생성된 파일을 암호화하여 외부에서의 접근을 더욱 어렵게 만들 수 있습니다. 이를 위해 파일을 암호화하고 복호화하는 메서드를 사용하여 보안성을 강화할 수 있습니다.
예시:
// build_runner로 생성된 파일을 암호화하는 예시
String encryptBuildRunnerFile(String fileContent) {
// 암호화 로직 구현
}
// 암호화된 build_runner 파일을 복호화하는 예시
String decryptBuildRunnerFile(String encryptedContent) {
// 복호화 로직 구현
}
위 코드는 build_runner로 생성된 파일을 암호화하는 encryptBuildRunnerFile
메서드와 암호화된 파일을 복호화하는 decryptBuildRunnerFile
메서드를 구현한 예시입니다. 이러한 절차를 통해 파일의 안전성을 더욱 강화할 수 있습니다.
build_runner
로 생성된 파일을 안전하게 관리하는 방법에 대해 알아보았습니다. 이를 통해 애플리케이션의 보안성을 강화하고 민감한 정보가 노출되는 것을 방지할 수 있습니다.