2007年9月19日

HTTPSで通信する際、PHPでセッションを開始する前に、次をコードに記述する必要があることのメモです。
「PHPサイバーテロの技法―攻撃と防御の実際」の137ページより。

PHP:
  1. ini_set('session.cookie_secure',1);

Zend_Session

Zend FrameworkのZend_Sessionを使用する場合は、次のように指定すると、cookie_secureがOnとなることをphpinfo()で確認できました。

PHP:
  1. Zend_Session::setOptions(array('cookie_secure'=>'1'));
  2. Zend_Session::start();

セッション関連の参考リンク

PHPのマニュアル
PHP: セッション処理関数(session) - Manual

Zend Framework「プログラマ向けリファレンスガイド」のZend_Session
Zend Framework: Documentation

2007年9月18日

telnetで、HTTPレスポンスの確認のメモです。

$ telnet localhost 80

GET / HTTP/1.1
Host: localhost
(※)

※ Host: localhostの後にEnterキーを2回打つ。

携帯端末の判別

携帯端末の判別方法については、次のページが参考になりました。
MT312 - ユーザーエージェント携帯判別

PEARのNet_UserAgent_Mobileも利用したいと思います。

Net_UserAgent_Mobileの使用方法は、次のページが参考になります。
【PHP TIPS】 14. 携帯サイトを作るためのPEAR::Net_UserAgent_Mobile:ITpro

絵文字

DoCoMo絵文字からau,Softbankの絵文字に変換する場合、次のページが参考になります。

tacolog - Smartyプラグインで絵文字変換プログラムを作る 再び

絵文字変換に関する情報リンク

ウノウラボ Unoh Labs: auは絵文字を自動変換していたわけではなかった

エミュレータ

エミュレータのダウンロードサイトへのリンクです。

DoCoMo

作ろうiモードコンテンツ:ツールダウンロード | サービス・機能 | NTTドコモ

iモードHTMLシミュレータⅡを使用して、hostsファイルで参照しているドメインのサーバーにアクセスする場合、次の設定をします。

  1. メニューの[ブラウザ]->[オプション設定]をクリックして、Optionsダイアログを開く。
  2. [ネットワーク設定]タブを選択して、「HOSTSファイルを参照する」をオンにする。
au

Openwave Developer Network - Home

Softbank

ソフトバンク

PEAR::XML_Serializerを使って、google等で認識できるサイトマップを出力するメモです。

XML_Serializerのインストール

XML_Serializerと依存するパッケージを次のようにインストールしました。

$ bin/pear -c pear.conf install --onlyreqdeps channel://pear.php.net/XML_Serializer-0.18.0

PEARパッケージをアプリケーションごとにインストールのように、「-c pear.conf」で設定ファイルを指定しています。

サンプル

次のようにしてサイトマップのxmlを作成します。

PHP:
  1. $urls = array();
  2.  
  3. $elem = array();
  4. $elem['loc'] = 'http://url/foo';
  5. $elem['lastmod'] = Date('Y-m-d');
  6. $elem['changefreq'] = 'monthly';
  7. $elem['priority'] = '0.5';
  8. $urls[] = $elem;
  9.  
  10. $elem = array();
  11. $elem['loc'] = 'http://url/bar';
  12. $elem['lastmod'] = Date('Y-m-d');
  13. $elem['changefreq'] = 'weekly';
  14. $elem['priority'] = '0.6';
  15. $urls[] = $elem;
  16.  
  17. $options = array (
  18.                   'addDecl' => TRUE,
  19.                   'encoding' => 'UTF-8',
  20.                   'indent' => '  ',
  21.                   'rootName' => 'urlset',
  22.                   "defaultTagName"  => "url",
  23.                   "rootAttributes"  => array("xmlns" => 'http://www.sitemaps.org/schemas/sitemap/0.9'),
  24.                   );
  25.  
  26. $serializer = new XML_Serializer($options);
  27.  
  28. $result = $serializer->serialize($urls);
  29.  
  30. if ($result === true) {
  31.   $xml = $serializer->getSerializedData();
  32. }

サイトマップのメモ
  • 1個のサイトマップファイルに記述できるURLの数は、50000個まで。
  • 1個のサイトマップファイルのサイズ(圧縮前)は、10MB(10,485,760バイト)を超えてはいけない。

これらの制限の範囲に収まらない場合は、サイトマップファイルを複数に分けます。
(gzip形式で圧縮も可能)

sitemaps.org - プロトコルに次の記述があります。

複数のサイトマップを使用する場合は、サイトマップ インデックス ファイルに各サイトマップ ファイルをリストする必要があります。

複数のサイトマップファイルを作成した場合は、サイトマップ インデックス ファイルが必須のような記述に見えますが、とりあえずは気にしにないことに・・・
(googleの「ウェブマスター ツール」や、Yahooの「Yahoo! Site Explorer
-」では、複数のサイトマップを登録できるようになっています。)

リンク

サイトマップのフォーマット
sitemaps.org - プロトコル

PEARのマニュアルサイトのサンプル
PEAR :: Manual :: Example

XML_Serializerのチュートリアル
Instant XML with PHP and PEAR::XML_Serializer [PHP & MySQL Tutorials]

Zend Framework:テンプレートエンジンをSmartyにするのサンプルに、認証が必要なページを追加してみます。

Zend_Aclを使って、ページへのアクセスが可能かチェックします。
認証は、Zend_Authを使ってみます。

(続きを読む »)