[PHP] 外部からAPIとしてPHPをCallする際のアクセスキー判定コード例
外部からAPIとしてPHPをCallする際のアクセスキー判定コード例
2つのPHPがあり、1つはもう一つのPHPにAPIとしてCallする場合、セキュリティの一環としてアクセスキーをPOSTなどで送信して、送信元が正しいものか判定するコードを書いた
APIをCallする方、POST送信にaccess_keyを埋め込んでいる
$url = 'YOUR_API_URL'; //APIのURL
$correct_access_key = 'YOUR_GENERATED_ACCESS_KEY'; // この部分を生成したアクセスキーに置き換える
// POSTデータ
$post_data = array(
'access_key' => $correct_access_key
);
// POSTリクエストを作成
$options = array(
'http' => array(
'method' => 'POST',
'header' => 'Content-type: application/x-www-form-urlencoded',
'content' => http_build_query($post_data)
)
);
$context = stream_context_create($options);
$response = file_get_contents($url, false, $context);
// レスポンスを処理
if ($response === false) {
// リクエストが失敗した場合の処理
} else {
// リクエストが成功した場合の処理
// $responseにAPIからのレスポンスが含まれる
}
APIをCallされる方
// 受け取ったPOSTデータからアクセスキーを取得
$received_access_key = $_POST['access_key'];
// 正しいアクセスキーかどうかを検証
$correct_access_key = 'YOUR_GENERATED_ACCESS_KEY'; // この部分を生成したアクセスキーに置き換える
if ($received_access_key === $correct_access_key) {
// 正しいアクセスキーの場合、データを返す
// ここでJSONデータを生成して返す
// 例: echo json_encode($your_data);
} else {
// 不正なアクセスキーの場合、エラーメッセージを返すなどの処理を行う
// 例: echo json_encode(array('error' => 'Invalid access key'));
}