プラネタリウムにいったら7月だったので七夕の話題でした。
もう長いこと天の川なんて見てない。
かなり暗い所で、晴れていて、かつ月が出てない日でないとよく見えないので滅多にみる機会は無い。
銀河系の断面をを銀河系の中から見ているのが天の川の正体。
夏は銀河中心方向が見えるので特に明るく見える。
前に見たのは釧路湿原の近くで空を見上げたとき。
あまりに天の川が明るく、壮大だった。あれはロマンを感じた。
という訳で久々にそんな夜空が見たくなった。
最近色々あって感傷的な俺(w
夏休みに時間があったらどこかに見に行きたいんですが、どっか愛知県の近くで良いところないですかね。
一体なにに使うんだ、そんな怖いcgiという感じですが、ブラウザでアクセスするとWindowsを再起動するCGIを作りました。
背景を簡単に説明。
今日どうしても出先から自宅のWindows2000 Serverの設定をいじりたかったのです。
しかしターミナルサービスへのログインを家でしたままで、ネットワークログオン数がライセンス数一杯になってしまいました。
本当に急いでいたので已む無くFTPで再起動コマンドをputしてhttp経由で実行しようと思ったわけです。前もやった気が・・。
Content-Typeさえ出力すればいいわけですが、これが無いとエラーになってしまうので必須です。
WindowsXPのシャットダウンコマンドを使うのはそれが故にダメかもしれない。
が、サーバエラーになっても実行自体はされてるのでOKなのかも。
生憎Windows2000だったので簡単にプログラミングしました。
Windows2000/XPでのコンピュータの再起動方法は以下のような感じです。
1 : #include <windows.h>
2 : #include <stdio.h>
3 :
4 : int main()
5 : {
6 : HANDLE hToken;
7 : TOKEN_PRIVILEGES tp;
8 :
9 : //Content-Typeを出力
10 : printf("Content-type: text/html\n\n");
11 :
12 : //プロセスのトークンを開く
13 : if (!OpenProcessToken(GetCurrentProcess(),
14 : TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken)){
15 : printf("Error on OpenProcessToken() %d\n",GetLastError());
16 : }
17 :
18 : //SE_SHUTDOWN_NAMEのLUID取得
19 : LookupPrivilegeValue(NULL, SE_SHUTDOWN_NAME,
20 : &tp.Privileges[0].Luid);
21 :
22 : tp.PrivilegeCount = 1;
23 : tp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
24 :
25 : //シャットダウン特権を取得する
26 : if(!AdjustTokenPrivileges(hToken, FALSE, &tp, 0,
27 : (PTOKEN_PRIVILEGES)NULL, 0)){
28 : printf("Error on AdjustTokenPrivileges() %d\n",GetLastError());
29 : }
30 :
31 : //シャットダウン/リブート
32 : if(!ExitWindowsEx(EWX_REBOOT|EWX_SHUTDOWN|EWX_FORCE,NULL)){
33 : printf("Error on ExitWindowsEx() %d\n",GetLastError());
34 : }
35 :
36 : printf("Reboot.\n");
37 : return 0;
38 : }
久々に沢山来た。
RSSフィールドを更新する目的ついでにこの記事を書きます。
以前はあまりにロボットの書き込みが多いためURLを含むエントリをリジェクとするようにしました。(そのときは手違いで過去のURLを含んだコメントまで消えてしまいました。すいません!)
しかし今日はURLを含んでいるわけでもないスパムが多量に・・・。
サイトへの誘導もできないのにそんな事書き込んでどうするつもりなのか・・・。
とりあえずスクリプトで一括削除しましたが、また発生するようであれば別の手立てを考えます。
アイデアとしては、
1.hiddenフィールドにそれっぽい名前つけておいてもし入力されたらスパムと見做す。
2.日本語を含まないコメントは全てスパムとして廃却する。
3.画像認証などのロボット排除手段を導入。
といったところですが、コメント書いてくださる人の負担になるのは嫌なので1か2が妥当なラインですかねえ。
海外からのIPアドレスをすべてdenyしたいところですが、現実的にテーブルを更新しつづけるのが無理ですね。
§ ひかりん [星を見るなら安達太良山がいいですよ。愛知県ではありませんが・・。]
§ K@i [ぼけぇっ~~と空見てたいなぁ・・・最近やってないなそういえば。]
§ Suika [ひかりんさん>> 安達太良山? ・・福島!! yukiさん>> なるほどぉ。 天候に影響されるからすぐに中止・決行が..]
§ Suika [釧路以外では太平洋フェリーに乗ったときが一番よく見えましたね。 ちょっとどんなところかを探す意味も込めて探してみるで..]
§ Neorbessuts [カルティエ バ|..]