質問: 現在phpとmysqlでサービス開発中です。 (エックスサーバーのX10を使用) ユーザー登録の際にユーザーから 免許証などの画像ファイルをもらうのですが、 そういった個人情報はどこに保存するのが ベストプラクティスなのでしょうか? ・public_htmlでシステム構築 ・public_htmlの上の階層にimagesディレクトリを作成 ・imagesはパーミッションを300 ・PHPでimagesにファイルアップロード 免許証などは何かトラブルなどがあった場合に 閲覧できればいいので読み取り権限もなしです。 ・そもそもこのディレクトリと権限でいいのか ・ファイルはそのままサーバー上に残してもいいのか ・もっといい保存場所はないのか この辺りが気になっています。 サーバー上への保存はハッキングや 流出のリスクがありますよね。 データを紙にして 自宅などの金庫で保存してもいいのですが、 盗難のリスクがあります。 リスクがない保存方法はないと思いますが、 一般的にベストプラクティスと考えられる 方法を教えてもらえると幸いです。 個人情報だけは別サーバーに保存する、 そういった保存サービスがあれば それを利用するのでも問題ないです。 よろしくお願いいたします。
回答: お仕事で年齢確認アプリのサーバー側を担当したときに保存してたのは * WEBサーバーには一切保存しません * フロントWEBからは再照会できない * フロントからの登録はINSERTのみ * 管理WEBはサーバーエリアにVPN接続後アクセス開始 * 管理WEBはフロントWEBと同じサーバーには作らない で DBにBASE64変換かけて保存 構成 * [WEB1:グローバルアクセス可、フロントWEB] * [WEB2:グローバルアクセス可、フロントWEB] * [DB1:グローバルアクセス不可、管理WEB」 これを下回る環境下では流出の可能性は高いです(この環境で無いとはいっていない)