エラーが発生しました: cPanel サーバーのセットアップで PHP を使用して Json データを取得しようとしています
<p>JavaScript を含むindex.html ファイルがあります: </p>
<pre class="brush:php;toolbar:false;">非同期関数 fetchCelebritiesData() {
試す {
const 応答 = await fetch('/data.php');
const data = 応答を待ちます.json();
データを返す。
} キャッチ (エラー) {
console.error('データ取得エラー:', error);
戻る [];
}
}</pre>
<p>PHP ファイルはデータをアプリケーションに接続し、names.json ファイルからデータを取得します。 </p>
<pre class="brush:php;toolbar:false;"><?php
// リクエストが許可されたドメインからのものであるかどうかを確認します
$allowedOrigins = array("example.com", "www.example.com");
$origin = $_SERVER['HTTP_ORIGIN'] ?? ''; // リクエストから HTTP_ORIGIN を取得します
if (in_array($origin, $allowedOrigins)) {
header("アクセス制御許可オリジン: $origin");
} それ以外 {
header("HTTP/1.1 403 禁止");
出口;
}
//JSONデータを読み取って出力する
$data = file_get_contents("data.json");
header("Content-Type: application/json");
$data をエコーします。
?></pre>
<p>この設定により、コンソールに次のエラー メッセージが表示されます。</p>
<pre class="brush:php;toolbar:false;">ET https://example.com.com/data.php 403
fetchCelebritiesData @ (インデックス):291
(匿名) @ (インデックス):375
ロード (非同期)
(匿名) @ (インデックス):373
(インデックス):295 データ取得エラー: SyntaxError: JSON 入力の予期しない終了
fetchCelebritiesData で ((インデックス):292:33)
非同期時 (インデックス):375:30
fetchCelebritiesData @ (インデックス):295
fetchCelebritiesData で待機します (非同期)
(匿名) @ (インデックス):375
ロード (非同期)
(匿名) @ (インデックス):373</pre>
<p>考えられる問題を理解するために助けが必要です。 PHP と JSON のファイルとフォルダーのアクセス許可を確認しましたが、すべて問題ないようです。 --6 4 4--
<p>このエラーの再発を示すログが生成されました。 </p>
<p><code>[11-Aug-2023 09:08:58 UTC] PHP 通知: 未定義のインデックス: /home/pixellic/public_html/web-applications/celebrities-age-finder/get_secure_data.php の HTTP_ORIGIN 4 行目</code></p>
<p>コーディングの初心者です。 </p>
<p>ありがとうございます。 </p>
<p>phpファイルを使って安全にjsonデータを取得してみます。 </p>
<p>しかし、403 エラーが発生しました。 </p>