« 2009年09月 | メイン | 2009年11月 »

2009年10月 アーカイブ

2009年10月01日

Ethna_Session のデータ構造

Ethna_Session のデータ構造は
$_SESSION['REMOTE_ADDR']
$_SESSION['__anonymous__']
$_SESSION['ethna_csrf'] ← Ethna_Util::setCsrfID() 使った場合
$_SESSION[★★★]

session->set(★★★,保持したい値)
session->get(★★★)
という具合に使用するので

続きを読む "Ethna_Session のデータ構造" »

2009年10月02日

ethna のフォーム デフォルト値 その2

class APPID_Form_Index extends APPID_ActionForm{
    var $form = array(
        'sadjust' = array(
            'default' = '2000-01-01 00:00:00'
            ),
'default'値はvalueにセットされない。フォームヘルパーで表示される。ここまでは前回。さらに

続きを読む "ethna のフォーム デフォルト値 その2" »

2009年10月03日

Ethnaのセッション

$this->session->start(null);
→ ini_set('session.use_cookies', 0); クッキーを使わない

$this->session->start(0);
$this->session->start();
→ ini_set('session.use_cookies', 1); クッキーを使う
無期限のセッションではない。ブラウザを閉じるまで同一セッションとして扱う。

$this->session->start(600);
から最大10分以内であれば、ブラウザを閉じて再びアクセスすると ethna が自動復帰し同一セッションとして扱う。

期限切れのセッションファイルが残るので明示的に削除が必要。

2009年10月04日

パスワードのハッシュ値 照合

パスワードなどはMD5で保存し、ログイン時は入力値のMD5と保存値を照合して認証。
MD5値は128ビット(16進表記で32文字)の有限長の為、異なる入力値で同じMD5値の可能性があるはず。
数学的な値は検証していないが、次のような工夫を施す。

続きを読む "パスワードのハッシュ値 照合" »

2009年10月05日

MD5値をキーとして利用する

md5( '001' );

dc5c7986daef50c1e02ab09b442ee34f
128ビット(16バイト)データを1バイト2桁の16進表記で32桁の文字列。
もう少し短く表現するには

続きを読む "MD5値をキーとして利用する" »

2009年10月06日

16進表記文字列をバイナリデータに変換する

前回の「MD5値をキーとして利用する」の md5() 第2パラメータによるバイナリデータの取得は、php5が必要。

php4では使えない md5( '001', true ); の代替方法は

続きを読む "16進表記文字列をバイナリデータに変換する" »

2009年10月08日

Ethnaのセッション その2

セッションの動きを確認するサンプル
プロジェクト作成直後のテンプレート APPID/template/ja/index.tpl に
<textarea wrap=off cols=80 rows=16>{$session|var_dump}</textarea>
を追加。
プロジェクト作成直後のアクション APPID/app/action/Index.php に

続きを読む "Ethnaのセッション その2" »

2009年10月09日

php4 から php5 への移行

Vine 4.2/i386 をインストールすると php はデフォルトで php4。 php5 へ移行する備忘録。 お品書き ●php4 の削除 ●php4 のインストール ●文字設定を変更する場合

続きを読む "php4 から php5 への移行" »

2009年10月11日

Ethna_Config と データベース

データベースから取得した値をconfig値として扱うシチュエーション。
$config = array(
        :
    'GROUPS' => array(
//      100,   ←DBから取得
//      200,   ←DBから取得
//      300,   ←DBから取得
    ),
    'COLOR' => array(
        'RED' => 1,
        'BLUE'=> 2,
    ),

続きを読む "Ethna_Config と データベース" »

2009年10月12日

Ethna_Config と データベース その2

前回の構造の場合
$backend->config->get('GROUPS');
$backend->config->get('COLOR');
として使うところ
$config = array(
        :
    'DEFINE' => array(
        'GROUPS' => array(
//          100,   ←DBから取得
//          200,   ←DBから取得
//          300,   ←DBから取得
        ),
        'COLOR' => array(
            'RED' => 1,
            'BLUE'=> 2,
        ),
    ),
のようなネストした連想配列構造にすると

続きを読む "Ethna_Config と データベース その2" »

2009年10月14日

INNODBタイプテーブルを扱えるレンタルサーバー

トーマスオブアメリカ 1strentalserverトーマスオブアメリカ 1strentalserver
●SSH
●CRON
●jsp
●servlet

2009年10月16日

ミラーリングに近いバックアップ

オートセーブオートセーブLB オートセーブ2
ファイルの作成/更新を検知し、指定した領域へ自動的にバックアップ。
面倒なスケジュール設定も必要なく、大切なファイルを確実に保護して、ユーザを面倒なバックアップ作業から解放。
ファイルの履歴(世代)管理機能があるので、ミラーリングのようにユーザーによる誤操作でも履歴から復元。
B000E8LQL0

2009年10月17日

INNODBタイプテーブルを扱えるレンタルサーバー

ロリポップ!レンタルサーバー
●サブドメイン
●アクセス解析
●CGI
●SSI
●PHP
●MySQL
●.htaccess
●商用利用運営可能
●ショッピングカート
●SNS

続きを読む "INNODBタイプテーブルを扱えるレンタルサーバー" »

2009年10月18日

Ethna 2.5.0 リリース

http://ethna.jp/ethna.html

2009年10月19日

mysqlのワーニング表示

コンソール使用途中でワーニングを表示する
mysql> \W
how warnings enabled.
他に warnings; も
コンソール使用途中でワーニングを非表示する
mysql> \w
Show warnings disabled.
接続開始時にデフォルトでワーニングを表示するオプションは
mysql --show-warnings -u USER -p DATABASE
mysql Ver 14.12 Distrib 5.0.27, for pc-linux-gnu (i686) using readline 5.0
mysql Ver 14.14 Distrib 5.1.30, for Win32 (ia32)
×
mysql Ver 14.7 Distrib 4.1.20, for redhat-linux-gnu (i686) using readline 4.3

2009年10月20日

InnoDB を無効にする

MySQL Server の起動に --skip-innodb オプションを指定。
/etc/init.d/mysql restart --skip-innodb
以降、InnoDB テーブルを作成すると
mysql> CREATE TABLE test( cd INT, pactive INT) ENGINE=InnoDB;
Query OK, 0 rows affected, 1 warning (0.01 sec)

Warning (Code 1266): Using storage engine MyISAM for table 'test'
という具合に、強制的に MyISAM テーブルとして作成される。
ちなみに、無効にする前に存在していた InnoDB テーブルは使用できなくなる。
MySQL Server 5.0.27-standard
Vine Linux 4.2 (Lynch Bages)

2009年10月21日

3種類のバックアップソリューション

バックアップワークスバックアップワークスLB バックアップワークス10
●ハードディスク全体をイメージファイルとしてCD/DVDや外付けハードディスクにバックアップするイメージバックアップ
●ハードディスクの内容を丸ごと他のハードディスクにコピーするハードディスクコピー
●ファイルを保存するたびに自動でバックアップするファイルバックアップ
『LB イメージ バックアップ9』と『LB オートセーブ2』がバンドルされ、3種類のバックアップソリューションを提供する総合バックアップツール。

Linux起動の仕組み

Linux起動の仕組みを理解しよう[init/inittab編]
http://www.atmarkit.co.jp/flinux/rensai/theory10/theory10a.html

Linux起動の仕組みを理解しよう[rcスクリプト編]
http://www.atmarkit.co.jp/flinux/rensai/theory11/theory11a.html

2009年10月22日

MyISAM でトランザクションを実行

InnoDB ではなく MyISAM ストレージエンジンのテーブルに対して

BEGIN;
UPDATE~
INSERT~
UPDATE~
COMMIT;

としてもエラーは出ない。途中で、
ROLLBACK;
してもエラーは出ない。
コンソールでは
Query OK, 0 rows affected (0.00 sec)

2009年10月24日

環境変数をsmartyで出力

{$smarty.server.PHP_SELF}
{$smarty.server.argv}
{$smarty.server.argc}
{$smarty.server.GATEWAY_INTERFACE}
{$smarty.server.SERVER_ADDR}
{$smarty.server.SERVER_NAME}
{$smarty.server.SERVER_SOFTWARE}
{$smarty.server.SERVER_PROTOCOL}
{$smarty.server.REQUEST_METHOD}
{$smarty.server.REQUEST_TIME}
{$smarty.server.QUERY_STRING}
{$smarty.server.DOCUMENT_ROOT}
{$smarty.server.HTTP_ACCEPT}
{$smarty.server.HTTP_ACCEPT_CHARSET}
{$smarty.server.HTTP_ACCEPT_ENCODING}
{$smarty.server.HTTP_ACCEPT_LANGUAGE}
{$smarty.server.HTTP_CONNECTION}
{$smarty.server.HTTP_HOST}
{$smarty.server.HTTP_REFERER}
{$smarty.server.HTTP_USER_AGENT}
{$smarty.server.HTTPS}
{$smarty.server.REMOTE_ADDR}
{$smarty.server.REMOTE_HOST}
{$smarty.server.REMOTE_PORT}
{$smarty.server.SCRIPT_FILENAME}
{$smarty.server.SERVER_ADMIN}
{$smarty.server.SERVER_PORT}
{$smarty.server.SERVER_SIGNATURE}
{$smarty.server.PATH_TRANSLATED}
{$smarty.server.SCRIPT_NAME}
{$smarty.server.REQUEST_URI}
{$smarty.server.PHP_AUTH_DIGEST}
{$smarty.server.PHP_AUTH_USER}
{$smarty.server.PHP_AUTH_PW}
{$smarty.server.AUTH_TYPE}
{$smarty.server.PATH_INFO}

http://php.net/manual/ja/reserved.variables.server.php

2009年10月25日

1つのシステムで見栄えを切り替える その2

ethna の action・view は共通としテンプレートだけを切り替える。以前の
/blog/remix/2009/09/post_186.html
を改良。
shopA は
APPID/template/ja/shopA/Index.tpl
shopB は
APPID/template/ja/shopB/Index.tpl
さらに、shopXを追加したときにテンプレートが無ければ自動的に標準の
APPID/template/ja/shop/Index.tpl
を使う。
'A','B','X' をデータベースなどから取得してテンプレートを動的に切り替え、'shop' を config値 から取得する。

続きを読む "1つのシステムで見栄えを切り替える その2" »

About 2009年10月

2009年10月にブログ「Remix.asia」に投稿されたすべてのエントリーです。過去のものから新しいものへ順番に並んでいます。

前のアーカイブは2009年09月です。

次のアーカイブは2009年11月です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。