質問: 小さい会社で顧客向け会員サイト(PHP)の運営管理をしています。 会員向けにそれぞれの会員毎の取引状況が記載されたpdfファイルをダウンロードできる機能を実装しようとしています。 ダウンロードボタンに直にファイルのurlをリンクさせてしまうとファイルの保存パスが分かってしまいます。ファイル名を長い文字数のランダムなものにしてもパスが分かってしますとセキュリティ上かなり問題があり、どうしていいものか思案にくれています。 会員の情報やpdfファイルの紐付けのデータベースはMySQL、使用言語はPHP、セッション管理はサーバーサイドで行っています。 パス名を秘匿して強制ダウンロードさせたり、ある条件が整わないとpdfファイルへアクセスできないといった方法をご教示いただければ助かります。 宜しくお願いします。
回答: 可能な限り秘匿するのであればPDFをウェブから切り離してPHPからアクセスできるところにおいてPHP側でPDFを出力するという方法があります。 ``` なぜ秘匿しなければならないのか、どのくらい秘匿の品質担保するかによってどの程度のレベルの機能がベストが代わると思います。どの方法が良いかはご自身で「求められる要求」と「工数」で見極めてください。