Shopifyのお問い合わせフォームで画像添付ができない理由と解決策
返品・交換の写真、修理依頼の画像、カスタムオーダーの参考資料。
ECサイトを運営していれば、お客様から「画像を送りたい」という場面は必ず出てきます。しかしShopifyの標準フォームでこれに対応しようとしたとき、多くのマーチャントが壁にぶつかります。
Shopifyのお問い合わせフォームには、ファイル添付機能がありません。
この記事では、なぜShopifyで画像添付ができないのか、その構造的な理由を解説し、解決策とその注意点についてお伝えします。
Shopifyの標準フォームで画像添付ができない理由
結論から言うと、これはShopifyの「欠点」ではなく、セキュリティ上の設計です。
ShopifyはSaaS(Software as a Service)型のECプラットフォームです。あなたのストアも、他の何十万ものストアも、同じShopifyのサーバー上で動いています。
このような共有環境では、外部ユーザー(つまりあなたのお客様)がサーバーにファイルをアップロードすることは、セキュリティリスクになります。悪意のあるファイルが1つでもアップロードされれば、プラットフォーム全体に影響を及ぼす可能性があるからです。
そのためShopifyは、外部からのファイルアップロードを許可していません。これは制限というより、プラットフォームを守るための設計上の選択です。
解決策:サードパーティアプリの導入
「Shopifyで画像添付ができない」と検索すれば、すぐにたどり着く答えがあります。
サードパーティ製のメールフォームアプリを導入する。
Shopifyアプリストアには多くのフォームアプリがあり、画像添付に対応しているものも少なくありません。導入も簡単で、多くのマーチャントがこの方法を選びます。
しかし、ここで一つ確認してほしいことがあります。
見落としがちな問題:データはどこに保存されるのか
フォームアプリを導入すると、お客様が送信した問い合わせ内容や添付ファイルはどこに保存されるでしょうか?
「Shopifyに保存される」と思っている方もいるかもしれません。あるいは「メールで届くだけで、どこにも保存されていない」と考えている方もいるでしょう。
実際は違います。答えは「アプリ提供者のサーバー」です。
Shopifyアプリストアからインストールしたアプリでも、そのアプリを開発・運営しているのはShopifyではなく第三者の企業です。フォームから送信されたデータは、その企業が管理するサーバーに保存されます。
海外製のアプリであれば、そのデータは海外のサーバーに保存されます。問い合わせ内容、添付された個人情報、すべてがNDAも結んでいない海外企業の管理下に置かれることになります。
情報セキュリティポリシー上の問題
ここで一度、冷静に考えてみてください。
- アプリ提供者とNDAを結んでいますか?
- 顧客データがどこのサーバーに保存されているか把握していますか?
- どのような方法で保存・管理されているか確認しましたか?
おそらく、ほとんどの方が「No」でしょう。
NDAも結んでいない、サーバーの所在地も保存方法も確認していない。その状態で顧客の個人情報を第三者に預けている——これは情報管理の観点から言えば、事実上の漏洩を黙認しているのと同じです。
お客様から「お問い合わせをした後から迷惑メールが増えた」というクレームが来たことはありませんか?
もしそうなら、それはあなたが許可したことです。確認もせずに第三者にデータを預けた時点で、黙認したのと同じですから。
情報漏洩のニュースをよく見ませんか?日本企業はセキュリティに対する意識が甘いと言われています。「うちは大丈夫」と思っているかもしれませんが、いざ責任を追及されたとき、「アプリに預けていただけ」は言い訳になりません。顧客データの管理責任はストア運営者にあります。
特に上場企業・上場準備中の企業、BtoB事業者、個人情報を多く扱う業種(医療、金融、教育など)では、「便利だから」で済まされる話ではありません。
では、どうすればいいのか
ここまで読んで、「じゃあどうすればいいの?」と思ったかもしれません。
選択肢は2つあります。
- 自分でフォームを作り、自社サーバーに設置する
- 自社サーバーに直接保存できるフォームアプリを使う
まず1つ目の選択肢、自作について考えてみましょう。
自作フォームの現実
「外部アプリにデータを預けるのが問題なら、自分でフォームを作ればいい」
そう考える方もいるかもしれません。PHPでフォームを作り、自社のレンタルサーバーに設置する。技術的には可能です。
しかし、セキュリティ対策のないフォームは、スパムやウイルスの侵入口になります。
メールフォームは攻撃者にとって格好のターゲットです。
- CSRF攻撃:なりすましによる不正送信
- XSS攻撃:悪意あるスクリプトの埋め込み
- 悪意あるファイルのアップロード:サーバーへの侵入経路
「動くフォーム」を作るのは比較的簡単ですが、「安全なフォーム」を作るのは別次元の難しさがあります。CSRFトークンの実装、入力値のサニタイズ、ファイルの検証、レート制限——これらすべてに対策するには専門知識が必要です。
選択肢2:自社サーバーに直接保存できるフォームアプリ
もう1つの選択肢が、自社サーバーに直接保存できるタイプのフォームアプリを使うことです。
私たちが開発した「メールフォーム.JP」は、この問題を解決するために作られました。
メールフォーム.JPの特徴
顧客データは自社サーバーに直接保存
問い合わせ内容や添付ファイルは、あなたが指定したFTPSサーバー(エックスサーバー、さくら、ロリポップ、ConoHaなど)に直接保存されます。アプリ側にデータが残ることはありません。
プロレベルのセキュリティ対策を標準装備
CSRF対策、XSS対策、reCAPTCHA、Honeypot、レート制限——専門知識がなければ実装できないセキュリティ機能が、設定不要で組み込まれています。
コーディングの自由度
HTML、CSS、JavaScriptを自由に記述できるため、ストアのデザインに完全に統合したフォームを作成できます。
正直にお伝えすると
メールフォーム.JPは、ドラッグ&ドロップで簡単にフォームが作れる「フォームジェネレーター」ではありません。
私たちは見た目や導入のしやすさを最優先にしていません。目的は、企業の破綻リスク——情報漏洩やセキュリティ事故——を下げることです。
そのため、「とりあえず見た目だけでいい」「よくわからないけど、まずは画像添付できるフォームを設置したい」というニーズには合わないかもしれません。
しかし、顧客データの管理責任を真剣に考えている方、情報セキュリティポリシーを遵守する必要がある企業には、最適な選択肢になるはずです。
詳しい機能や料金プランは、以下のページをご覧ください。
まとめ
Shopifyの標準フォームで画像添付ができないのは、SaaS型プラットフォームのセキュリティ設計によるものです。
解決策としてサードパーティアプリを導入する際は、顧客データがどこに保存されるのかを確認することをおすすめします。特に上場企業やBtoB事業者、個人情報を多く扱う業種では、情報セキュリティポリシーとの整合性を検討する必要があります。
顧客データを自社管理下に置きたい場合は、自社サーバーに直接保存できるタイプのフォームアプリを検討してみてください。
- 著者
- ARMERIA編集部
- 監修
- ARMERIA(Shopifyアプリ開発/ECコンサルティング)
- 最終更新