たいむすりっぷ

今まで管理画面をひらいて直接リンク先を編集していた「たいむすりっぷ」ボタン。
ふと思いついて、自動化を試みた。


ひとつめ。JAVAスクリプトで変数をセットする方法。
作ること自体は簡単だったけれど、はてなダイアリーJAVAスクリプトを埋め込むことができない(^_^;
あ〜、企画倒れになりそう…


「諦めたら、そこで試合終了ですよ」
なにか、変な電波を受信したっぽい。
ここはやっぱり、ひざをついてヒトコトいうべきかな?
「先生…あとは外部のCGIでリダイレクトするくらいしか、思いつかないです」


あ、その方法があるじゃない。
自分で自分の回答にびっくり。
CGIが使えるWebサーバは、自分で運営しているのだから自由に使える。
リダイレクトする方法を知らないけれど、検索すれば何とかなるだろう。
perlなら、1年前の今日の日付を生成するなんて簡単だろうし。


そんな考えで気楽に作ってみた。

#!/usr/bin/perl
#############################################################################
###
### cgi名 red.cgi
### 特定日付を付与したはてなダイアリーURLへ、アクセスを転送するCGI
###
#############################################################################

## 日付の取得
($wkDay,$wkMon,$wkYear) = (localtime(time))[3..5];

## 取得した日付の整形
$wkYear += 1900;
$wkYear -= 1;
$wkMon += 1;
if ($wkMon < 10) { $wkMon = "0$wkMon" }
if ($wkDay < 10) { $wkDay = "0$wkDay" }

## 転送実行
print "Location: http://d.hatena.ne.jp/(ユーザID)/$wkYear$wkMon$wkDay\n\n";

# Copyright (c)2007 jing, All rights reserved.
# 2007. 7.13, URL決め打ち、日付は1年前固定で転送する基本仕様完成。


CGIは、思いっきり簡単にできた…orz


これをはてな詳細デザイン設定で、次のように呼び出せば毎日書き換えなくてもきっちり1年前のはてなダイアリーを呼び出す。


早速設置すると、普通に機能する。
ログも、いままでと変わらない。
…え?
なんでログの内容が変わらないんだろう…リダイレクトを使っているからかな?
あぁ、不精な僕には、とっても楽チン♪


ここまで出来るようになると、欲が出てきてしまう。


遡る年数を呼び出し元で自由に設定できないものか。
ちょっとアルゴリズムが思い浮かばない。
年数を変更したCGIを複数用意して利用するか…


あと、機能拡張として、リファラの呼び出し元情報を使って、対象ページを自動で表示…というのも考えた。
こうすると呼び出しボタンを設置するだけで過去情報へアクセスできるし、STARLESSさんも書き換える手間が消えるだろうと。
でも、リファラって自由に書き換えられるんだよね。
不正アクセス要素を含んだリファラにされた場合、このCGIが代理クラッカーになったり、スパム広告を発信させられることも考えられる。
なんらかの攻撃の踏み台にされるのも悲しいし、対策するのも面倒だし、とりあえず現状の perlスクリプトで運用してみよう。