フォームビルダーマニュアル
一通りの動作チェックは行いましたが、システム公開直後につき、予期せぬ不具合が残っている可能性もございます。
ご使用の際は、必ず送受信テストを行なって下さい。
もし不具合が発見された場合は、誠にお手数ですがサポート掲示板からお問い合わせ下さいますようお願い致します。
使い方(ページ内メニュー)
- 土台作成。
土台となるテンプレートの準備をします。 - 生成ページにログイン。
フォームビルダー管理ページにログインします。 - フォーム生成。
フォームを生成し、ダウンロードします。 - 生成された各ファイルの説明。
ダウンロードした各ファイルの説明です。 - フォームをアップロード。
生成したフォームを、ご自身のサーバーにアップロードし、テストします。 - その他。フォームのセキュリティ対策のまとめ。
フォームに搭載されている主なセキュリティ面の説明です。
STEP1.土台作成。
フォームを配置したいテンプレートのhtml側(※htmlファイル名は何でも構いません)を開き、以下の1行のコードを入力します。
▼以下をコピペして使って下さい。
<!-- INSERT_FORM_HERE -->
このコードが入っている箇所に、フォームが流れ込みます。
STEP2.生成ページにログイン。
ご案内メールに記載のurlにアクセスし、ログインします。
STEP3.フォーム生成画面です。
①テンプレートの選択と、バックアップファイルのアップロード
- HTMLテンプレート(※アップロード必須)
「STEP1」で準備した<!-- INSERT_FORM_HERE -->というコードの入ったhtmlをアップロードして下さい。 - バックアップ JSON
フォームを生成した際に、一緒にダウンロードされる設定データ(form_definition.json)をアップロードする箇所です。
form_definition.jsonをアップロードすると、即、情報が反映され、再入力の手間が省けます。
補足:「formsave.json」というファイル名のjsonは、別システム(自動フォーム)専用のバックアップファイルなので、こちらでは使用できません。
②フォームパーツ選択ブロック(20ブロックまで追加可能)
デフォルトで、3項目分のフォームパーツが出ています。
4項目以上フォームのパーツを使いたい場合は、「ブロックを追加する」ボタンを押して下さい。最大20ブロックまで追加可能です。尚、空のブロックがあると入力エラーが出ますので、使わないブロックはバツ印で閉じて下さい。
ブロックの詳しい説明
- 見出し
フォームの項目です。自由に入力して下さい。(例「お名前」「メールアドレス」など) - タイプ(選択できるフォームの種類)
▼テキスト
▼テキストエリア
▼セレクト(プルダウン)
▼チェックボックス
▼ラジオボタン
▼日付(年月日)
▼日付(月日)
▼住所
- 補足(任意・3行)
入力した情報が、フォームの補足として出力されます。以下はその例。
- 「必須」のチェックボックス
入力必須にしたい場合は、チェックします。
各フォームブロックに必須エラーが出ますが、チェックボックスだけは、確認画面へのボタンを押した瞬間にエラーが出ます。仕様なのでご了承下さい。 - 「自動返信先にする」のチェックボックス
お客様への自動返信を使う場合、メールアドレス(※1つのみ)にチェックを入れます。
このチェックがないと、お客様への自動返信はされないのでご注意ください。
③フォームのダウンロード
生成ページの一番下にあるボタンをおすと、フォーム一式が入ったzipがダウンロードされます。
STEP4.生成された各ファイルの説明
- send.php
フォーム関連の設定ブロックと、フォームの送信完了画面を兼ねたファイルです。
※以下の設定ブロックは、あなたのサイト情報に合わせて必ず入れ替えて下さい。
$enableUserReplyの行は、デフォルトでtrue(自動返信を送信)になっていますが、フォーム生成時点でのメールアドレスブロックの「自動返信先にする」のチェックが入っていないと送信されないのでご注意ください。また、チェックが入っていても、この$enableUserReplyをfalse(自動返信を送信しない)にすれば自動返信はされません。 - confirm.php
フォーム確認画面です。プログラム以外は編集しても構いません。 - form.php
フォーム入力画面です。プログラム以外は編集しても構いません。 - form_definition.json
フォームの設定項目のバックアップファイルです。フォーム生成画面の冒頭のjsonアップロード箇所にアップすれば、利用中フォームデータが即反映されます。
このファイルはバックアップファイルなので、他のフォーム用ファイルのようにサーバーにはアップロードしないで下さい。
STEP5.フォームをアップロード
生成したフォーム(send.php、confirm.php、form.php)を、ご自身のサーバーにアップロードし、テストします。
※ご利用サーバーのphpのバージョンがあがった場合、必ずフォームの動作確認をして下さい。最悪動かなくなる可能性があります。
フォームページは、
https://〜〜〜〜/form.php
などになります。
リンクの例:<a href="form.php">お問い合わせフォーム</a>
フォーム専用のフォルダを作る場合(フォームを1階層下にする場合)、例えばformフォルダにsend.php、confirm.php、form.phpの3枚を入れるなら、
https://〜〜〜〜/form/form.php
がフォームのurlになります。
配布中のテンプレートと階層が変わるので、画像やcssや、リンクなどのパスも変更して下さい。
その他。セキュリティ対策などのまとめ。
フォームビルダーに搭載されているセキュリティ対策の説明です。
- CSRFガード
フォームを開いた瞬間にランダムな「トークン」を発行し、送信時に同じトークンが付いているか確認。これにより外部サイトからの不正送信をブロックします。 - 入力バリデーション
必須項目は空欄だとサーバ側で弾く。
1項目500文字まで・制御文字は拒否。500文字を増やしたい場合はsend.phpの「$MAX_LEN = 500;」の数字を変更して下さい。※2025年7月1日以降は「2000」に設定されています。
メールアドレスは書式チェックを通過したものだけ処理(異常データによる誤動作やスクリプト注入を防止。) - XSS対策
ユーザー入力を画面に再表示するときは、HTMLの危険文字(<, >, & など)をすべて無害化。ブラウザでのスクリプト実行を抑えます。 - メールヘッダ固定化
送信メールの「From」ヘッダはプログラム内で決め打ち。入力値をヘッダには入れないため、ヘッダインジェクション(偽メールの混入)を防げます。 - IPレートリミット
同じIPアドレスからの連続送信は「直前の送信から30秒経つまで」ブロック。スパムやボタン連打によるサーバ負荷を抑制します。
(この「30秒」を例えば「15秒」に変更したい場合、send.phpの「/* ---- 2. IP 連投 30 秒制限 ---- */」ブロック内の「30」の数字を全て「15」に変更して下さい。変更後は必ずフォームテストを行って下さい。)
うまく動かない場合は
サポート掲示板からお問い合わせ下さい。
尚、不具合の可能性含め、お問い合わせフォームからご質問頂いても回答は行なっておりませんので予めご了承下さい。