Giblogで作成したWebサイトにお問い合わせフォームを設置できます
Giblogは、静的なCMS生成ツールですが、お問い合わせフォームを設置することができます。
お問い合わせフォームは、Giblog自体には含まれません。
Giblogは、静的なCMSツールとして、GiblogのWebサイトの中に、CGIのフォームを埋め込める仕組みを準備しています。
実際のCGIフォームの構成については、Giblog公式サイトのリポジトリの中にある以下の二つのファイルを見てください。
templates/mail.html template/static/mail.cgi
「git clone」で、GiblogWebサイトを、そのままコピーできますが、お問い合わせフォームだけを保存する場合は、CGIプログラムのパーミッションは755で、改行コードはLFで、保存してください。
Webサイトにお問い合わせフォームを埋め込める仕組み
Giblogは、Webサイトに埋め込むことができるCGIのお問い合わせフォームを次の方法で実現しています。
お問い合わせフォームは、単純なHTMLのテンプレート
お問い合わせフォームは、単純なHTMLのファイルです。
templates/mail.html
HTMLのformタグを使って、メールフォームを記述しています。
ヘッダとフッタなど、通常のコンテンツと同じ構成で、ラッピングされます。
メールを送信するCGIプログラム
template/static/mail.cgi
は、メールを送信するCGIプログラムです。
Ajax通信で、CGIを呼び出す
「mail.html」の中には、JavaScriptが記述されており、Ajax通信で「mail.cgi」を呼び出します。
このようにして、お問い合わせフォームを、Webサイトに埋め込む方法を実現しています。
お問い合わせフォーム以外のCGIで作成したフォームを作成できますか
はい。メッセージをやりとりするボードや、アンケートフォームなど、CGIプログラムでできることは、すべて実現可能です。
どのような環境で動きますか
CGIをサポートしているレンタルサーバーを想定しています。
CGIフォームを設置した場合のセキュリティはどうなりますか
CGIフォームを設置した場合のセキュリティは、そのCGIに脆弱性がないかどうかにかかっています。
お問い合わせフォームがサイトと一体になっていることよりも、セキュリティが優先事項の場合は、サイトを完全に静的なものにして、googleフォームなどの外部のWebサービスを利用することもできます。
既存のCGIプログラムを利用することはできますか
既存のCGIプログラムは、ほぼすべて、CGIプログラムの中に、HTMLフォームが記述される構成になっていると思われます。
ですので、残念ながら再利用することは、難しいでしょう。
HTMLフォームとCGIプログラムが分離されており、Ajax通信をCGIプログラムの中で行う形のCGIプログラムであれば、再利用しやすいと思います。