Jeans & Development:2007年 06月の記事

secureCookieKeyについて [Nucleus]

2007年6月15日

Nucleus 3.3 では、クッキー認証キーを暗号化してデータ保存するための機能を新たに追加してあります。また、クッキー認証キーは、IP-Address と関連付けて認証を行うようにしてあるため、別のIP-Addressからアクセスする場合には同じ認証キーが使えないようになっています。(→参考記事

config.php で $CONF['secureCookieKey']の値を設定すれば、この機能を調整することが出来ます(phpMyAdmin で nucleus_config テーブルに値を追加することで調整することも可能です)。

この新しい機能はセキュリティー強化のためのもので、セッションハイジャックを防ぐための手段です。Nucleus 3.3 をインストールした状態(あるいは、以前のバージョンから 3.3 にアップグレードした状態)で不具合がなければ、絶対に$CONF['secureCookieKey']の値を設定したりしないでください。また、この値を変更することでセキュリティー強度がどのように変化するかの深い知識がない場合も、絶対に設定変更しないでください。

よく分からなくても設定してよい例は、
$CONF['secureCookieKey']=32;
だけです。この場合、デフォルト状態よりもセキュリティーが少し強化されます。反面、環境によっては、頻繁に勝手にログアウトしてしまうなどの不具合が出る可能性もあります。その場合は、上記設定を削除してください。

Windows に Apache2 + SSL 環境を構築 [Windows]

2007年6月15日

ローカルで使用しているApacheで、https のテストが出来るように、SSL環境を構築。ここのページを参考にして行った。

ポイントとしては、

・Windows版のバイナリーは SSL に対応していないので、対応版を入手する
・conf/ssl ディレクトリを作成し、そこにopenssl.confを作る。
・openssl.exe req -config openssl.conf -new -out my-server.csr を実行(あらかじめ、/conf/ssl ディレクトリに移動しておくこと)
・openssl.exe rsa -in privkey.pem -out my-server.key を実行
・openssl.exe x509 -in my-server.csr -out my-server.cert -req -signkey my-server.key -days 365 を実行
・ssl.conf を次のように設定
  Listen 127.0.0.1:443
  SSLCertificateFile conf/ssl/my-server.cert
  SSLCertificateKeyFile conf/ssl/my-server.key
・apache.exe に引数『-D SSL』を与えて起動

というところ。あとは、https://localhost/ にアクセスして、証明書を受け入れるように設定すれば、OK。忘れてはいけないのは、ポートスキャンを行って外部にポートが開いていないことを確認すること。

SQL クエリーの実行回数 [Nucleus]

2007年6月13日

globalfunctions.php にある、sql_query() 関数の冒頭部分は、次のようになっている。

function sql_query($query) {
    global $SQLCount;
    $SQLCount++;

これを用いて、何回SQLクエリーを実行したかの大まかな値を取得することが出来る。プラグインによっては、『mysql_query()』を直接呼び出しているものもあるので、実際には $SQLCount プラスαが実行回数である。

 実行回数を知るには、例えば、index.php の最後(『selector();』の次の行)に、次のように記述すると良い。

echo '<!--'.(int)$SQLCount.'/'.memory_get_usage().'-->';

ここでは同時に、メモリの消費量を見るためにmemory_get_usage()関数の戻り値も表示している(PHPのコンパイル方法によっては、この関数は使えないので注意)。

NP_SavePluginOptions [Nucleus]

2007年6月12日

Nucleus::subSilver サポートツール(というより、NP_AccountExのサポートツールか?)の一つ。ほぼ出来上がったように思うので、とりあえずメモ。このプラグイン、NP_SavePluginOptionsを使うと、プラグインオプションとプラグインが使用するSQLテーブルの値を、SQL テキストファイル(*.sql)として保存することが出来る。データをロードするには、『DB保存/復元』の、『ファイルからリストア』を実行すればよい。phpMyAdmin からもロードできるはず。

(追記:070620このプラグインは今後、NucleusJP Forum にてサポートを行います

NP_callback [General]

2007年6月11日

commentform-notloggedin.template などで用いられている変数、<%callback%>を、スキンでも用いることが出来るようにするプラグイン。

NP_AboutThis [Nucleus]

2007年6月8日

ブログ内の単一の記事に対するリンクを作成するための簡単なプラグインを書いた。利用方法は、

<%AboutThis(link,『<:name:>』について)%>    … リンクを表示
<%AboutThis(link,『<:shortname:>』について)%> … 上と同じだが、短いブログ名を使用
<%AboutThis(linkraw)%>              … URL のみを表示
<%AboutThis(itemid)%>               … アイテムID のみを表示

各ブログごとにアイテムIDを一つずつ指定する(ブログの設定の NP_AboutThis の所)。

NP_ProtectByMD5 アップデート [Nucleus]

2007年6月6日

新しい機能を盛り込んだベータ版をフォーラムにアップ

新機能は以下のとおり。

1)メンバーからの投稿に対して、スパムチェックを行わないような設定が可能に。
2)コメントスパム対策の場合、スキンに記述しなくても対応できるようになった(プラグインオプションの設定が必要)。
3)スパムのログが取れるようになった。
4)携帯電話からのアクセスや一部のIPアドレスからのアクセスに対して、スパムチェックを行わないような設定が可能になった。

Nucleus::subSilver への対応も多少意識した。メンバーに対してスパムチェックをしないような設定に出来るようにしたのが、それ。

オブジェクト指向ブログ [Nucleus]

2007年6月5日

ネットサーフィンしていて、ふと目に留まった言葉:『オブジェクト指向ブログ』。面白いかも。

NP_msgbox [Nucleus]

2007年6月4日

NP_if [Nucleus]

2007年6月4日

テンプレート(アイテム・コメント)で、if, else, endif, ifnot, elseif, elseifnot を使えるようにするプラグインを書いてみた。

コアの改造は、不必要。ただし、処理の重いテンプレート変数での表示を条件分岐するには向いていない。というのは、条件が false の場合でも<%if%>と<%endif%>の間のパースを行ってしまうため(表示はされない)。

このプラグインの最新情報は、公式Wikiに。