- URL 하드코딩 → .env APP_URL 기반 동적 URL로 변경 - DB 연결 하드코딩 → .env 기반으로 변경 - MySQL strict mode DATE 오류 수정
47 lines
1.6 KiB
PHP
47 lines
1.6 KiB
PHP
<?php
|
|
/**
|
|
* Gemini API Key 조회 API
|
|
* 보안을 위해 서버 측에서 API 키를 관리합니다.
|
|
*/
|
|
header('Content-Type: application/json; charset=utf-8');
|
|
|
|
// API 키 파일 경로 (프로젝트 루트의 apikey 디렉토리)
|
|
$apiKeyFile = dirname(dirname(__DIR__)) . '/apikey/gemini_api_key.txt';
|
|
|
|
try {
|
|
if (file_exists($apiKeyFile)) {
|
|
$apiKey = trim(file_get_contents($apiKeyFile));
|
|
|
|
// 플레이스홀더 텍스트 체크
|
|
if (empty($apiKey) ||
|
|
strpos($apiKey, '================================') !== false ||
|
|
strpos($apiKey, 'GEMINI API KEY') !== false ||
|
|
strpos($apiKey, '여기에') !== false ||
|
|
strlen($apiKey) < 20) {
|
|
echo json_encode([
|
|
'success' => false,
|
|
'error' => 'API Key가 설정되지 않았습니다. apikey/gemini_api_key.txt 파일에 유효한 API Key를 입력해주세요.'
|
|
], JSON_UNESCAPED_UNICODE);
|
|
return;
|
|
}
|
|
|
|
echo json_encode([
|
|
'success' => true,
|
|
'apiKey' => $apiKey
|
|
], JSON_UNESCAPED_UNICODE);
|
|
} else {
|
|
// 파일이 없으면 생성 안내
|
|
echo json_encode([
|
|
'success' => false,
|
|
'error' => 'API Key 파일을 찾을 수 없습니다. apikey/gemini_api_key.txt 파일을 생성하고 API Key를 입력해주세요.'
|
|
], JSON_UNESCAPED_UNICODE);
|
|
}
|
|
} catch (Exception $e) {
|
|
echo json_encode([
|
|
'success' => false,
|
|
'error' => 'API Key를 읽는 중 오류가 발생했습니다: ' . $e->getMessage()
|
|
], JSON_UNESCAPED_UNICODE);
|
|
}
|
|
?>
|
|
|