もしもAPIシステムのベースが決まった話

もしもAPIシステムのベースが決まった話

この記事はもしもドロップシッピング用システムを開発していた頃に書いたモノです。

テンプレート式でperlで…という条件で色々調べたがとにかくベースとなるプログラムが見つからない。最近はparlで書かれたcgiがあまり公開されていないようだ。勉強すればなんとかなるのだが。いかんせん目標が2019年1月中なので時間が無い。
そこで昔やったWEBページ制作のカタログデータから「.cgi」を検索したところ万能なプログラムを見つけた話。

オンリーワンなプログラム

見つけたのは20年くらい前のcgi、CGI-ROOMという個人運営サイトで公開・配布されていた「onlyone」というperl CGIだ。
そもそもこのサイトで公開されていたプログラム群は当時とても評価が良かった。有名なのは「簡易高機能検索専用データベース」というやつで、これは様々なサイトで活用されていた。今回選んだ掲示板プログラム「onlyone」も利用された人も多いのではないでしょうか。かゆいところに手が届く、そしてニーズのあるプログラムを配布していたサイトである。

さらっと言ってしまったがそもそもこのプログラムは「掲示板」なのだが、私が求める条件を全て満たしている。

  • htmlで書かれたテンプレートを利用する
  • データは素のテキストファイルに書き込む
  • コードは私でもなんとか理解できるperlで書かれている
  • フォームからデータ入力が出来る(掲示板だから)
  • データはいくつでもカスタムして追加できる
  • かなり凝ったカスタム検索機能も可能

検索機能はそのまま商品検索として利用できるし、カテゴリー一覧もこれで出来るだろう。例えば商品データにcategoryという要素を用意し、そこにカテゴリ名として「アナログ腕時計」という文字列を入れた商品を検索結果として一覧表示させればそれはカテゴリー一覧ページになる。

他に、とにかく動作が軽いなどいろいろとあるが、なんといってもテンプレート式というのがいい。プログラムを弄る必要は全くなくhtmlとcssでどんなデザインでも動作する。テンプレート内で演算や分岐(IF文)なんかも使えてしまう。広告表示もSEOも思いのまま。htmlだけの変更でいつでも変更修正が可能というわけだ。

元が掲示板プログラムということなのでレスやメール送信、パスワードなど不必要な機能も持っているが、それは使わなければよいだけで関係ない。

公開ページと管理ページでプログラムは分けたい。

掲示板ということは誰でもスレッドを立て、誰でもレスを追加できるようになっている。当たり前だ。しかし私が運営するのはもしもAPIを使用したもしもドロップシッピングサイト(ドロップシッピング風のアフィリエイトサイト)で、第三者が書き込み出来るプログラムで表示するというのは怖い。
十五年くらい前なら掲示板やブログに英語のメッセージとurlが毎日とんでもない回数で書き込まれている光景を目にした人も多いのではないだろうか。
onlyoneの場合、書き込みも公開も全て同じ一つのプログラムで動く。そこにフォームからデータを投げられてしまうとまんまとbotの餌食になってしまうというわけだ。botに限らず悪意ある人が、例えば商品価格を3桁つり上げたりと嫌がらせ的クラッキングの可能性も出てくる。

よって非公開の管理ページはonlyoneをそのまま使えるが、公開ページではonlyoneをカスタムして書き込み出来ないようにしたい。もちろんメール送信機能もなく返信機能も無いやつを作りたい。とうことでそれぞれ別のプログラムでの運営となる。

作者が見つからない

このプログラムの説明書的なファイル(readme)を見てみると、「無断での配布禁止」「テンプレートに©CGI-ROOMの文字とリンク入れてね、消さないでね」みたいな、2000年前後の配布条件の鉄板事項が記載されているが、もうサイト(http://cgiroom.nu/)も無いし、というか海外の方が運営しているサーバを参照しているし、メールといっても「@cgiroom.nu」だし連絡の取りようがない。氏名も見つけたが検索してもヒットしない状況でどうしようもない。
公開用プログラムはかなりカスタムするんでもはや同じプログラムとは呼べないだろうからコピーライトもリンクも張らずにいける。そもそもリンク先が無い。でも、管理ページ用プログラムは面倒なのでおそらくカスタムせずに使う。一応は配布しないことにしよう。実はこのサイトにダウンロードページを用意していろいろ公開しておこうと思ったのだけど。只、デモページは私が使いやすいようリンクを張ろう思う。

作者様の連絡先求む。

とはいうものの、いかがなものかとりあえず連絡したい。その時に作者様がどう判断しようと挨拶はしておきたい。ということで作者様自身、又は作者様の連絡先をご存じの方はメルアド記入でコメント頂きたい。

判明している情報は以下の通り。

  • かつてhttp://cgiroom.nu/にて“CGIROOM”というサイトを運営していた
  • 公開されていた(公開していたのでここで明示するのは問題無かろう…)ご氏名は和家常幸 様