プログラムやサーバー関連で私がすぐに読めなかったものをまとめてみます。
参考元:特殊記号の読み方
! 感嘆符 (エクスクラメーションマーク)
‘ クォーテーション
” ダブルクォーテーション
^ カット
| パイプ
( パーレン
` バッククォート
[ ブラケット
{ ブレイス
< レスザン
> グレーターザン
参考元:ウィキペディア
MySQL マイエスキューエル
意外に読めないものが多いですね^^;
Crypt関数
$code = crypt(“pass”,”key”);
サーバーにLOGINパスワードを保存しておくのは
危険なので暗号化して保存しておけば気が楽です。
crypt関数を利用しDESで暗号化しようとインターネットで探していると
Crypt暗号生成CGI
このようなページを発見しましたので勉強の息抜きに
自分で上と同じような動作をするものを書いて見ました。
(上のプログラムのソースは見ていません。動作のみを参考にしました。)
※本プログラムはデコードに
jcode.plを使用しています。
※プログラムはご自由にお使い下さい。
#!/usr/bin/perl
##################################################
# Cryptを利用した暗号化出力ソフト
#
# 作者:orbit
# HP:https://www.orsx.net/
#
##################################################
#------------各種設定------------
#このプログラムまでのURL
$url = "crypt.cgi";
$hp_name = "関数CRYPTを利用した暗号化";
#------------各種設定------------
#--------------------------------
#メインルーチン開始
#--------------------------------
#デコード
require './jcode/jcode.pl';
if($ENV{'REQUEST_METHOD'} eq "POST"){
#POSTで送信されたデータを変数$dataへ格納
read( STDIN, $data, $ENV{ 'CONTENT_LENGTH' } );
}else{
#GETで送信されたデータを変数$dataへ格納
$data = $ENV{'QUERY_STRING'};
}
#&で区切られているデータを分解
@pairs = split(/&/,$data);
foreach $pair (@pairs) {
#=で区切られているデータを分解
($name, $value) = split(/=/, $pair);
#16進数に戻す
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
#タグの無効化
$value =~ tr/+/ /;
$value =~ s/</</g;
$value =~ s/>/>/g;
$value =~ s/n/<br />/g;
$value =~ s/t/ /g;
$value =~ s/r//g;
#ライブラリー内のconvertサブルーチンの実行
&jcode'convert(*value,'sjis');
$FORM{$name} = $value;
}
#--------------------------------
#HTML出力
#--------------------------------
#変数へ格納
$id = $FORM{'id'};
$pass = $FORM{'pass'};
#パスをキーで暗号化
$s_pass = crypt($pass,$id);
#$passと$s_passが同じで無ければステートメントを実効
if ($pass ne $s_pass){&after};
&head;
print <<html
<h1>Crypt関数を利用した暗号化</h1>
<form method="GET" action="$url">
ID:<input size="15" name="id" type="text" value="ORBIT SPACE">
PASSWORD:<input size="15" name="pass" type="text" value="www.orsx.net">
<input value="OK" type="submit"></from>
<hr />
$come
<br />
<br />
<br />
<small>
<center>
HP:<a Href="https://www.orsx.net/" Target="_blank">ORBIT SPACE</a>
</center>
</small>
</body>
</html>
HTML
;
#================================
#サブルーチン(結果出力)
#================================
sub after{
$come = <<html
$id / $pass >>>> <input size="15" type="text" value="$s_pass">
HTML
;
}
#================================
#サブルーチン(ヘッター)
#================================
sub head{
#コンテンツタイプの指定
print "Content-type: text/htmlnn";
print <<head
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<title>$hp_name</title>
</head>
<body>
HEAD
;
}
無停電電源装置用に買ったバッテリーが届いたので設置してみました^^
バッテリーは純正ではなく
船舶等に使われるLONG製 WP12-12(12V 12AH)
シールドバッテリーを使用しました。
サイズ:横幅151mm×奥行98mm×高さ93mm
ちなみに純正品はと言いますと
B.B. Battery社のBP12-12というバッテリーだそうです。
参考元:APC Smart-UPSバッテリ調査
電圧と容量は同じです。
サイズは・・・・・・・・
5.94″ L x 3.86″ W x 3.70″ H (151mm x 98mm x 94mm)
参考元(海外):BATT SEALED LEAD ACID 12V 12AH – BP12-12-T2-FR
との事でほとんど同じです。
実感した事は海外はインチを使うんですね・・・・・・
海外のサイトを飛び回って調べました^^;
さて結論からですが、無事問題無く動きました。
純正バッテリーがセット(BP12-12が二個)で約三万円程します。
今回購入したLONG製 WP12-12(12V 12AH)は
秋月商店では(WP12-12が一個)三千七百円程でした。
セットで7400円とは激安です。
ですが自己責任である事と処分にお金がかかることをお忘れなくorz
取り付け手順は仕様書を読めば分かると思いますが
前のカバーを開け(フレキを傷つけないよう慎重に)
中の大きなネジ2個を外し金属の蓋を開けます。
ここからは感電しないよう注意をしてください。
マイナス→プラスの順にリード線を外しバッテリーを中から引きずりだします。
ヒューズを引き抜きましょう
先ほどの取り外しの時とは逆に
プラス→マイナスの順にリード線を接続してUPSの中に収めます。

起動させて異常が無ければバッテリーの交換完了です。
これで夜ゆっくり寝られる~\(^O^)/
この頃Perlネタが続いてますね・・・・・
1年も経つとサーバー管理もだいぶ安定して書く事も減ってきまして^^;
そういえばこのBlogももう少しで1周年ですね~
ORBIT SPACE(BLOG)創設日
2008年 8月 15日
なんか始めた当初は”3ヶ月で無くなるさw”なんて言われてましたが
ふと振り返ると1年とはずいぶん短いものですね^^
なにか1一周年を記念した特大ネタでも準備しないといけないのかな・・・・w
話は変わりましてサーバーといえばなんですが
毎度の事ですが相変わらずSSHへのアタックが酷いです
LOGから 2009/7/4
sshd:
Authentication Failures:
unknown (222.114.39.251): 1664 Time(s)
root (222.114.39.251): 314 Time(s)
mysql (222.114.39.251): 11 Time(s)
games (222.114.39.251): 5 Time(s)
gdm (222.114.39.251): 5 Time(s)
gopher (222.114.39.251): 5 Time(s)
news (222.114.39.251): 5 Time(s)
nobody (222.114.39.251): 5 Time(s)
postfix (222.114.39.251): 5 Time(s)
avahi (222.114.39.251): 4 Time(s)
ftp (222.114.39.251): 4 Time(s)
mail (222.114.39.251): 4 Time(s)
named (222.114.39.251): 4 Time(s)
root (61.139.33.207): 2 Time(s)
bin (222.114.39.251): 1 Time(s)
root (60.191.231.82): 1 Time(s)
uucp (222.114.39.251): 1 Time(s)
Invalid Users:
Unknown Account: 1664 Time(s)
ある特定のユーザー以外のrootやその他のユーザーでは先ずログインできませんし、
その特定のユーザーしかsudoも使えませんから問題は無いのですが
あまり気分はよくないものですね(苦笑
しかし、ボットからのアタックを避ける為に22番以外をポートを指定すると
色々と自分が困ってしまいます。
どうしようかな・・・・・・
あと
先日無停電電源装置を購入しました^^
現在バッテリーを準備中です。
夏場はサーバーの放熱対策もですが
クーラーなどによるブレーカーが落ちる事が怖いですからね~^^;
掲示板作成についてですが、
ほぼ完成と言っていいのでは?と言うレベルまで達してます。
自動インストール機能は付いてませんが
CGIを使った事が無い方でも簡単に設置できるように作ってます。
Ver1.0の頃よりはソースも読みやすいようになるように
って考えてますしどの環境でも動くように努力しています。
公開できないのが残念ですが(苦笑
ついに公式版が公開されたようですね^^
ベータ版で日本語化が可能だと聞いておりましたのでとても楽しみにしてました
猫又にゃぉ助の「責任者出てこい!」 Vine 4.0で、S.M.A.R.T.
以前Vine Linux 4.2
でインストールしてましたがマザーボードが対応していませんでした
HDDの温度管理は気になってるんですよね・・・・・・・
一応サーバーに温度計はついてて管理にも気を使ってるのですがね^^;
以前と違いメールサーバーも、ほぼ完全な状態
これから夏ですし・・・・・・・・・
もう少ししたらインストールしてみようかな^^
最近のコメント