HTTPSでファイルを含める方法-PHP
-
07-07-2019 - |
質問
フォームプロセスを作成し、コードを別のファイルに分割して、クリーンで整理された状態を維持しました。
今、httpsセキュリティのフォームを設定しています。
ページに取り込むすべてのファイルもhttpsとして呼び出す必要がありますか? その場合、include()を使用できなくなります。相対パスが許可されなくなったためですか?
file_get_contents();を使用するソリューションですか?または、(マスター)ページ自体のみをhttpsとして呼び出す必要がありますか?
解決
用語が混乱しているようです。 HTTPSは、SSLまたはTLS暗号化を使用してサーバーにページを要求するために使用されるプロトコルです。これは、リクエストの処理方法とは異なります。
PHPソースにはインクルードがサーバー側で処理されます。すべてのインクルードは、PHPがWebサーバーにページを渡す前に行われ、TLSリンクを介して返されます。
file.php:
<?php
include 'fileA.php';
include 'fileB.php';
?>
上記の例では、ユーザーエージェント(ブラウザー)はfileA.phpまたはfileB.phpを参照しません。ページ要求は単一のドキュメントとして返されます。 https://my-server.com/file.php でリクエストできます。必要なのはそれだけです。
他のヒント
ファイルが同じサーバーにある場合は、何も変更する必要はありません。
include(&quot; file.php&quot;);
正常に動作します。
また、他のhttpsサーバーのファイルを含める場合、tlsライブラリが適切に設定されていれば、httpsは問題ありません
include(&quot; https://anotherserver.com/file.php &quot;);
他のサーバーがPHPにサービスを提供し、実行しない場合は機能します。