web拍手支援cgiに機能追加するかたちで実現したため、お礼メッセージの追加機能及び一言メッセージ拒否機能もセットでついてくる。関する修正にとどめるのがよいだろう。(15KB)上記ファイルをダウンロードする。zipにて圧縮されているので、適宜ツールを利用して伸張していただきたい。ファイルを確認する伸張後、以下のファイルが存在するか確認する。readme.txtreadme2.txtcensortest.cgiclapmod.cssclapmod.plconfig.datdeniallist.datmaintenance.cgimesfile.dat設定等を変更するmaintenance.cgimaintenance.cgiをテキストエディタ等で開き、1行目のperlへのパスを、サーバの設定にあわせて変更する。clap.cgiを参考にされるとよいだろう。同様に、3行目および4行目を、必要に応じて修正する。修正が必要なのはファイルへのパスを絶対パスで指定しなければならないサーバにおいてだけなので、そうでない場合にはこのままで構わない。clapmod.plの名前を変更したような場合には、当然変更した名前にあわせて修正する必要がある。'./clapmod.pl';clapmod.plclapmod.plを開き、設定値の変更をおこなう。設定は8行目から27行目にかけて書かれている。web拍手支援cgiを使用している場合は、現在の設定をそのまま写すのがよいだろう。その場合、新規に設定を書き換えなければならないのは「各種設定値を保存するファイルへのパス」である。誤って上書きしてしまうと、以前の設定を思い出せなくなることもありうる(私はよくやる)ため注意していただきたい。'./config.dat';ファイルへのパスを絶対パスで指定しなければならないサーバにCGIを設置する場合は、「メッセージを保存するファイルへのパス」および「添付ファイルを保存するディレクトリへのパス」、「拒否設定を保存するファイルへのパス」、「各種設定値を保存するファイルへのパス」を絶対パスで記述する。このあたりの情報は、ご利用のプロバイダのCGIに関する説明を参照していただきたい。お礼メッセージを保存するファイルの名前(デフォルトではmesfile.dat)及び拒否設定を保存するファイルの名前(デフォルトではdeniallist.dat)は変更した方がいいだろう(名前を変更する理由については、web拍手を設置する人へを参照されたい)。必要ならば、添付ファイルを保存するディレクトリ(デフォルトではimages)や各種設定値を保存するファイルの名前を変えるのもいいだろう。これらの名前を変更した場合には、「メッセージを保存するファイルへのパス」、「添付ファイルを保存するディレクトリへのパス」、「添付ファイルが保存されているディレクトリへのパス(ブラウザでの表示用)」、「拒否設定を保存するファイルへのパス」、「各種設定値を保存するファイルへのパス」を変更した名前に合わせて修正すること。「添付ファイルが保存されているディレクトリへのパス(ブラウザでの表示用)」は、ブラウザが表示に使用するものなので、絶対パスで書く必要はない。相対指定のほうがなにかとよいと思う。ディレクトリを指定する場合は、末尾に/(スラッシュ)ないしは\(バックスラッシュもしくは¥、環境によって表示が異なる)をつけなければ動作に不都合が出るので、ご注意いただきたい。/はUnix、Linux系のサーバ、\はWindows系サーバで使われるディレクトリを示す記号だ。「パスワード(必須)」の変更も重要だ。maintenance.cgiの名前を変更せず、パスワードの変更もしなかった場合には、第三者が自由にweb拍手の中身を変更できてしまう。最低でもパスワードを、できればパスワードとファイル名の両方を変更したほうがいい。maintenance.cgiの名前は自由に付け直して構わない(名前を変えても、プログラムの修正は発生しない)。拡張子はcgiのままにしておいた方が無難だ。「アップロード可能なバイト数(KB単位)」では、添付ファイルの最大サイズを設定している。デフォルトでは1024KB(1MB)だが、必要に応じて増減するのがよいだろう。「ページタイトル」は変更しても構わないが、別に変更するメリットもないので、そのままでよいだろう。「cssへのパス」も同様、変更の必要はない。CSSファイルの名前を変更したときには、修正が必要になる。拒否=0」は、拡張子がexe,bat,com,cgi,plであるファイルのアップロードを許可するかどうかを決定する。デフォルトは0であり、この場合、上記の拡張子を持つファイルのアップロードは抑制される。1にすればなんでもアップロードできるようになるが、不都合が生じる可能性もあるのでお勧めできない。Windows系サーバを利用している場合、cgiやplファイルをアップロードしてしまうと、実行可能になる可能性が極めて高い。セキュリティの観点からも、アップロードできないようにしておくべきだろう。ファイルをアップロードする以下のファイルをサーバにアップロードする。clap.cgiの設置されているディレクトリに置かれることを想定して作られているので、ぜひそのようにしていただきたい。web拍手支援cgiを使用している場合は、mesfile.dat及びdeniallist.datを新たにアップロードする必要はない。上書きすると現在設定されているメッセージ、拒否設定が消えてしまう(私はこうしたことをたまにやってしまう)。maintenance.cgiclapmod.plclapmod.cssconfig.datdeniallist.dat(新設の場合のみ)mesfile.dat(新設の場合のみ)ディレクトリを作成する添付ファイル用のディレクトリを作成する。デフォルトではimages。必要に応じて変更していただきたい。web拍手支援cgiを使用している場合はこの行程は飛ばしていただいてかまわない。パーミッションを変更するファイルおよびディレクトリのパーミッションを以下のように変更する。[777]CGIを改造するclap.cgiおよびclapinit.cgiを改造する。以下の改造は、すでにweb拍手支援cgiを導入している場合には必要ない。clapinit.cgi22行目から35行目にかけてのお礼メッセージ設定部分を削除あるいはコメントアウト(行頭に#をつける)する。拍手送信後画面用お礼メッセージ1(タグ使用可)$message[0]='拍手が送信されました。拍手送信後画面用お礼メッセージ2(タグ使用可)$message[1]='拍手が送信されました。拍手送信後画面用お礼メッセージ3(タグ使用可)$message[2]='拍手が送信されました。拍手送信後画面用お礼メッセージ4(タグ使用可)$message[3]='拍手が送信されました。拍手送信後画面用お礼メッセージ5(タグ使用可)$message[4]='拍手が送信されました。'./clapmod.pl';を追加する。必要に応じて、パスを絶対パスに変更する。&getMessages;を追加する。私はフォームデコードの直前に加えた。&getMessages;#---------フォームデコード&decode;最後に、clap.cgiの138行目を変更する。以下の改造は、すでにweb拍手支援cgiを導入している場合には必要ない。clap.cgi115行目を変更する。&censorMessage($hitokoto)){もしさまざまな情報を取得する改造を施している場合、関数&censorMessage()に渡す引数は$hitokoto_logでも$hitokotoでもどちらでもかまわない。ついては、別紙を参照いただきたい。改造は以上で終了である。アップロードして、動作するかどうかを確認いただきたい。5に組み込まれているcgi.pmを利用している。5.004以降の環境が必要だ。upload()メソッドも用いているため、cgi.pmのバージョンが2.47以降である必要がある。Interface)クラスをはじめとする多くのサイト、ページを参考にした。有用な情報を公開、提供してくださっている諸氏に感謝いたします。web拍手支援cgiの利用について「web拍手支援cgi」の利用は、どうぞ自由にしていただいてかまわない。「web拍手支援cgi」はクッキーを使ってパスワードの管理をおこなうため、ブラウザがクッキーを受け入れるよう設定していただく必要がある(デフォルトではクッキーを受け入れるようになっていることと思う)。Interface)クラスが力になってくれるはずだ)。そうそう、「web拍手支援cgi」の使用時には、ページの再読み込みや戻るを使わない方がいい。予期しない動作を引き起こしかねないためだ(表示/非表示の切り替えをした後に再読み込みをしてみると、そういう意味がわかると思う)。おまけそういえば、同梱のcensortest.cgiについてこれまでまったく触れていなかった。これはなにかというと、拒否設定が有効であるか調べるためのプログラムだ。使用方法は以下のとおり。機能フォームで送られたメッセージを判定し、拒否設定に応じて結果が返される。メッセージが拒否された場合は「bad」、拒否対象でない場合は「good」の文字が表示される。このCGIは関数&censorMessage()をテストする目的で作ったプログラムを修正したものだ。なんの役に立つものでもないので、アップロードする必要はない。これを使うという場合は、ファイル名を変更しておいたほうがいいだろう。攻撃者に無用の情報を与える必要はないからね。日本)の下でライセンスされています。