‘PHP’ タグのついている投稿

Webサイト転送 – HTTPリダイレクト

2009年6月16日 火曜日

Ebatech, IcadWeb… 過去に作成したコンテンツが沢山検索エンジンに載っています。サーバーを移転する過程で整理してしまったものが多く…  「404 Not Found」 となってしまうページがほとんどかもしれません。

情報として枯れてしまうスピードが速い業界… 有用なコンテンツは少ないとは思いますが… (歴史を振り返るという点では貴重な資料になるのかな?) 各サイトが 「SEO対策」に躍起となっている昨今、折角検索サイトに登録されている URL を捨ててしまうのは勿体無い話なのかもしれません。

ページを移動した際、これまで <META>タグの “reflesh” で新しいページに移動させていたのですが…  「この手法によるページ移動は、リダイレクトとは呼べない」 と解説しているサイトが多いようです。IT用語辞典 – HTTPリダイレクトとは (HTTP redirect)

(続きを読む…)

PHP パスワード認証

2009年6月10日 水曜日

MySQL データベースに暗号化された文字列が保存されていて、それを元の文字列に戻せないか?と調べておりました。

多くのCMSはPHP で作成されていますが、文字列を暗号化する場合には md5() 関数が利用されていることが多いようです。

<?php
$pass = “password”;
$md5_hash = md5($pass);
echo “元の文字列: ” . $pass . “<br>”;
echo “暗号文字列: ” . $md5_hash . “<br>”;
?>

結果

元の文字列: password
暗号文字列: 5f4dcc3b5aa765d61d8327deb882cf99

PHP 関連の FAQを調べますと… 「md5 によって暗号化された文字列は元に戻せません」というのが一般的な回答みたいです。

確かに、考えてみれば… 「暗号化」技術は、元の文字列に戻すこと(復号化)ができないほうが「安全」なので、「複合化」の手順は用意されていないほうが信頼性があります。

WEBサイト管理者としては… お客様が設定されたパスワードが(仮にシステム担当者に限定されたとしても)露出することは好ましくありませんので、暗号化された文字列は暗号化されたままの状態で保持しておくほうが懸命だと思いました。

パスワード忘れた>再発行 という手順を踏むと、設定されているパスワードをメールで返してくれるサイトが多いですが… 親切? 自分が設定したパスワードをデータベースに「閲覧可能な文字列」として保持していることになるんですね。

パスワードの再発行依頼に対して、「こちらのURLで再設定してください」というメールが届く場合は、おそらくパスワードを複合できない状態で保持しているからで、「いちいち面倒だなぁ~」とは思いますが… こちらのほうが信頼できるサイトと言えるのかもしれません。

Zend Studio for Eclipse 日本語版

2009年1月5日 月曜日

Eclipseは、Javaの開発環境としては、「標準」といってよいくらいに、とても有名なようですが… Javaを触る機会が無かったので知りませんでした。ところが、このツールは、Javaで開発を行わない人にとっても便利だと聞きました。

Subversionの解説書で紹介されていた(ソース管理と連携が取れる)ことと、PHPの開発環境として利用できるらしいということで、興味を持ちました。

Zend Debugger を使うと、サーバーと連携してPHPのデバック(ブレークポイントを設定したり、変数を参照したり)が出来る!とのことなので、とても魅力的です。

そこで、インストール方法を調べてるるうちに、この市販パッケージにたどり着きました。 EclipseをPHPの開発環境に利用する場合は、これを購入するのが一番簡単そうです。

> Zend Studio for Eclipse 日本語版

Web関係のアプリケーションは、あれこれプログラムを個別に入手して、独自に環境を作成する場合は「無償」ですが、例外なく?とても面倒なので、インストール&セットアップを簡単にした市販パッケージが存在します。

Zend という語は、PHP関連の文献で良く目にしていましたが… PHP を商用ビジネスにしているのが、Zend社というわけなんですね。日本法人は、Turbolinux社の傘下にあるようです。

※便利さと引き換えに自由度を失うという点では、Turbolinuxと同様、仕方が無い所ですね…

↓無償で手に入れるには?
英語サイト>Eclipse PDT (PHP Development Tools) が、ほぼ同じか…

PHP 日本語 文字化け

2008年12月30日 火曜日

移植完了!

最後の課題として、メール送信時&PDF出力時の文字化けに取り組んでおりましたが、これは比較的簡単にできました。

Web系システムにおける「日本語文字化け」の問題は、以前は、結構面倒だったのですが… 最近は、Unicodeが主流になり、多くの環境で標準になってきているので、割と簡単です。

PHP5 (4.06以上) であれば、一連の mb_~ 関数を使います。

mb_convert_encoding ( 文字列, 変換後文字コード, 変換前文字コード)

今回のシステムでは、文字コードはSJISで統一されていましたが、メール出力時(JIS)と、PDF出力時(UTF-8)だけは、文字コードを変換する必要があったので、この関数を使いました。

$message = mb_convert_encoding ( $message, “JIS”, “SJIS”);
$message = mb_convert_encoding ( $message, “UTF-8″, “SJIS”);

PHP Smarty

2008年12月24日 水曜日

私の仕事の大部分は、他の人が作ったプログラムを解析&改良することで… 特に、自分が知らない技術を使ったプログラムを読み解いていくことを得意としております。

基本的には、分野は何でも良くて… 知らないことを知りたいという探究心が人一倍強いように思います。

他のサーバーで稼動しているPHPで書かれたシステムを別のサーバーへ移設しようとしているのですが、この類の作業(Web系システムの移設)は、環境(Apache,PHP,MySQL等のバージョン、インストールされているモジュール類など)が異なると動作しないので、いつもとても大変です。

今回のシステムは、ドキュメントがなく、ソースから順番に読み解いてます。

PHPは、開発ツールが豊富!それらを組み合わせることによってシステム構築が容易になるので、それぞれが得意なライブラリを使うようなのですが… 私は、何か新しいシステムに着手する度に、毎度、新しいことを覚えて(させられて?)いるように思います。

今回は、これ 「Smarty」 が研究課題となりそうです。

ここの説明が判りやすそう…
http://www.phpbook.jp/smarty/

PHP PEAR

2008年12月24日 水曜日

PEAR(PHP Extension and Application Repository)はPHPで利用する事ができるライブラリ(パッケージ)を提供しているサービス。

無償のPHPプログラムをダウンロードしてくると、インストール要件としてMySQL, PEAR/DBが必要というケースがよくあります。

PEARがインストールされているかどうか?

> pear

使用方法が表示されればインストールされています。

どんなモジュールがインストールされているか?

> pear list

新しいモジュールをインストールするには?

> pear install モジュール名

外注さんに構築してもらったWEB系システムを別のサーバーに移設しようとしたら、PEAR::Authモジュールを要求されたのですが…

> pear install Auth

とするだけで、自動時に http://pear.php.net/ からモジュールをダウンロードしてインストールしてくれました。 このモジュールを追加する方法(pear install)を、今まで知りませんでした… 超簡単!

MEMO:

SMX-BTSに必要な追加モジュール
- Auth
- HTML_QuickForm
- Log
- Config
- Pager
- HTTP_Download