汎用 PHP 版のダウンロードページへ WordPress 公式プラグインページへ
「お問い合わせフォーム by cuerda」は、日本人が日本のWebサイト向けに開発した、安全性と設置の簡単さを重視した問い合わせフォームです。
お名前、件名、Eメールアドレス、内容を入力し、確認画面で内容を確認してから送信できます。
botによる迷惑な自動送信や二重送信への対策を備え、PDFファイルを1ファイル添付することもできます。
迷惑メール対策として、Cloudflare Turnstileを任意で利用できます。
Cloudflare Turnstileは、従来のCAPTCHAに代わる認証手段で、利用者への負担を抑えながらbotによる自動送信を防止できます。
Version 1.1.0
HTTP環境ではフォームを実行しません。
Reverse ProxyやCDNでHTTPS通信を終端している場合は、PHPからHTTPS接続であることを正しく確認できるようWebサーバーを設定してください。
例:
<?php require "/path/to/cuerda_email_form.php"; ?>
/path/to/ の部分は、実際に設置した場所に合わせて変更してください。
フォームは、既存ページの <body> ~ </body> 内に相当する場所から読み込んでください。
本製品はフォーム部分のHTMLだけを出力します。
doctype、html、head、body 要素は出力しません。
利用者が通常編集するファイルは config.php です。
配布されている
config.example.php
をコピーして、
config.php
を作成してください。
config.php では主に次の項目を設定できます。
Cloudflare Turnstileを使用しない場合は、初期設定のまま利用できます。
Turnstileを使用する場合は、Cloudflareで取得したSite KeyとSecret Keyを config.php に設定してください。
Secret Keyなどの秘密情報を公開リポジトリ等へ登録しないでください。
標準のデザインは、
assets/cuerda-email-form.css
に含まれています。
サイトに合わせてデザインを変更したい場合は、
style.example.css
をコピーして、
style.css
を作成してください。
style.css に記述したCSSは、標準CSSより後に適用されます。
style.css はなくてもフォームは動作します。
製品をアップデートするときは、利用者が作成した次の2ファイルを上書きしないでください。
config.php
style.css
この2ファイルには、利用者ごとの設定やCSSが保存されています。
それ以外の製品ファイルは、新しいバージョンのファイルへ置き換えます。
製品側が管理する主なファイルは次のとおりです。
cuerda_email_form.php
config.example.php
style.example.css
includes/core/*.php
includes/standalone/runtime.php
assets/cuerda-email-form.css
利用者が管理するファイルは次の2つです。
config.php
style.css
PDFファイルは1ファイル添付できます。
添付されたファイルについて、拡張子だけでなく、ファイルサイズ、MIMEタイプ、PDFシグネチャ等を確認します。
検証済みのPDFはランダムなファイル名で一時保存され、メール送信後に削除されます。
問い合わせ内容および添付PDFを、本製品がデータベースやサーバー上へ恒久保存することはありません。
メールはプレーンテキスト形式で送信します。
Fromには config.php で設定した固定メールアドレスを使用します。
問い合わせを行った方のEメールアドレスは、検証後にReply-Toとして使用します。
管理者への通知メールに加え、問い合わせを行った方への自動返信メールを送信できます。 添付されたPDFは管理者への通知メールにのみ添付され、自動返信メールには添付されません。
本製品では、安全性を重視して次のような対策を行っています。
PHP Sessionには、strict session mode、CookieのみでのSession ID利用、trans sid無効などの安全性を重視した設定を適用します。
Session CookieにはSecure、HttpOnly、SameSite=Laxを使用します。
必要なセキュリティ設定を利用できないサーバー環境では、安全のためフォームの実行を停止します。
設定エラーが発生した場合も、サーバー内部のパスや詳細な設定内容をWebページ上へ表示しません。
この配布ファイルは汎用PHP版です。
WordPress向けには「お問い合わせフォーム by cuerda」WordPressプラグイン版を別途提供します。
WordPressプラグイン版を利用できる場合は、WordPressサイトではそちらの利用をおすすめします。
Version 1.1.0
Version 1.0.0