回答ありがとうございます。私はあなたの提案をすべて試しましたが、それでもうまくいきませんでした。しかし、私はうまくいく解決策を思いつきました。
ステップ 1: Web サーバーのオプション インデックスを無効にするかオフにします。単語インデックスを削除して、他のすべてを同じにします。場合によっては、.htaccess ファイルを使用してこれを実行できる場合があります。.htaccess でこれを行うことができない場合は、サーバーで httpd.conf ファイルを探す必要があります。通常、etc/apache/httpd.conf または etc/httpd/conf/httpd.conf にあります。見つけたら、そこでこのオプションをオフにします。
ステップ 2: Web ページ フォルダー内にフォルダーを作成し、任意の名前を付けますが、簡単に推測できないようにするか、または明白であることを確認してください (Joe33CompanyOCT2MeBoss など)。次に、非表示にしたい、または訪問者から保護したいファイルをこのフォルダーに移動します。
ステップ 3: robot.txt ファイル内で、「Disallow yourfoldername」と入力して、すべてのボットまたはクローラーによるフォルダーまたはこのフォルダー内のファイルのインデックス作成を禁止します。
ステップ 4:次に、以下の同様のコードを使用して PHP ファイルを作成する必要があります。以下のコードはダウンロードを強制します。
$File1 = 'http://yourwebsite.com/Joe33CompanyOCT2MeBoss/Presentation.ppt';
header("Content-Disposition: attachment; filename=\"".basename($File1)."\"");
header("Content-Type: application/force-download");
ob_end_clean();
flush();
readfile($File1);
exit;
このようにして、ファイルへの直接パスは訪問者から隠され、ファイルを直接ダウンロードできても、ファイルへの実際の URL を知らないだけです。これは、php コードを強制的にダウンロードしてもファイルへの実際のパスが明らかにならないためです。そのため、私の Web サイトへの訪問者は、直接ではなく、このファイルをダウンロードするために Web ページを経由する必要があります。
次のスタックオーバーフローの質問は、プログラミングの問題を解決するのに非常に役立ちました。ありがとう、
PHPでダウンロードを自動的に開始する方法は?
phpファイル強制ダウンロード