<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
		xmlns:xhtml="http://www.w3.org/1999/xhtml"
>

<channel>
	<title>ueblog &#187; Mobile</title>
	<atom:link href="http://ueblog.natural-wave.com/tag/mobile/feed/" rel="self" type="application/rss+xml" />
	<link>http://ueblog.natural-wave.com</link>
	<description>Web関連のネタを中心に役立つ情報を配信しています。</description>
	<lastBuildDate>Wed, 11 Jan 2012 00:51:56 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://ueblog.natural-wave.com/tag/mobile/feed/" />
		<item>
		<title>WordPressでライフログしてみる</title>
		<link>http://ueblog.natural-wave.com/2008/08/24/wordpress-lifelog/</link>
		<comments>http://ueblog.natural-wave.com/2008/08/24/wordpress-lifelog/#comments</comments>
		<pubDate>Sun, 24 Aug 2008 13:00:44 +0000</pubDate>
		<dc:creator>ueblog</dc:creator>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Mobile]]></category>

		<guid isPermaLink="false">http://ueblog.natural-wave.com/?p=207</guid>
		<description><![CDATA[最近流行？なライフログサービス。ミニブログやSNSといったサービスとあわせて、ライフログに結びつける動きであったり、独自でライフログのサービスをはじめている会社もあるが、どうも決め手というものがない気がする。 ]]></description>
			<content:encoded><![CDATA[<p>最近流行？なライフログサービス。ミニブログやSNSといったサービスとあわせて、ライフログに結びつける動きであったり、独自でライフログのサービスをはじめている会社もあるが、どうも決め手というものがない気がする。</p>
<p>であれば、独自に作ったほうが早くない？と思ったりもするが、それなら使い慣れたWordPressとプラグインで何とかならんかと言う訳で調べてみた。</p>
<h3 class="PostLine">何ができればいいのか</h3>
<p>基本的には</p>
<ul>
<li>遠隔地から投稿できる。</li>
<li>画像や動画を投稿できる。</li>
<li>遠隔地から閲覧できる。</li>
<li>遠隔地から投稿する場合、位置情報が結びついている。</li>
<li>アクセス制限（個人のみ、友人のみ、全体など）</li>
</ul>
<p>このあたりを満たせばいいかなと。要は、携帯などから遠隔で投稿、操作できるってこと。でこれを満たすための機能として、</p>
<ul>
<li>携帯電話からの投稿、閲覧</li>
<li>携帯メールからの投稿（画像含め）</li>
<li>iPhoneからの投稿、閲覧</li>
<li>位置情報との紐付け</li>
<li>アクセス制限機能</li>
</ul>
<p>があれば、とりあえずはよさげ。</p>
<h3 class="PostLine">携帯電話からの投稿、閲覧</h3>
<p>まずは携帯電話からの投稿と閲覧。いろいろとプラグインはあるが、おすすめはこれ。</p>
<p><a href="http://wppluginsj.sourceforge.jp/ktai_style/" target="_blank"> Ktai Style (携帯対応プラグイン)</a></p>
<p>基本的には、プラグインを有効にするだけで、携帯のUSER_AGENTを判定して携帯用のページを表示してくれるが、そのほかにも、携帯用のテーマファイルが複数用意されていて、デザインをキャリアごとに選択できたり、画面の分割、絵文字の対応と日本の携帯にあった細かい配慮がされているのが特徴。</p>
<p>また、管理画面にもログインできるので、投稿や簡単な管理機能に対応している。</p>
<h3 class="PostLine">携帯メールからの投稿</h3>
<p>携帯であれば、メールでの投稿に対応してほしいところ。また、ファイルアップロードができないので、メールの添付ファイルにより画像をアップさせたい。これを満たす最適なプラグインはこれだ。</p>
<p><a href="http://wppluginsj.sourceforge.jp/ktai_entry/" target="_blank">Ktai Entry (メール投稿プラグイン)</a></p>
<p>メールの添付ファイルに対応しているだけではなく、絵文字や投稿時のカテゴリ、日時、画像の編集といった操作もメールに書くMETA情報（CAT:だったりDATE:といった独自書式）を書くことで投稿できる、本当にかゆいところに手が届くプラグインだ。</p>
<p>メールサーバ側の対応方法は2つ。</p>
<p>1つ目は、メールが送信された場合に即反映させるため、メールアカウントに対してプログラムを実行させるように仕込む方法。こちらは、Webサーバとメールサーバが同じサーバの必要がある。主に自宅サーバの人向け。</p>
<p>2つ目は、POPサーバへ定期的にメールをとりに行くように設定する方法。こちらであれば、メールサーバは自前で必要なく、フリーメールなども利用できるが、取りに行くためのタイムラグが発生するので、すぐには反映することができない。</p>
<h3 class="PostLine">iPhoneからの投稿、閲覧</h3>
<p>携帯以外に、iPhoneやiPod Touchを利用しているならそちらで投稿、閲覧したいだろう。その場合はこのブログでも紹介した、</p>
<p><a rel="nofollow" href="http://iphone.wordpress.net/" target="_blank">WordPress for iPhone</a></p>
<p><a href="http://www.bravenewcode.com/wptouch/" target="_blank">WPtouch: WordPress On iPhone</a></p>
<p>あたりを駆使すればよいだろう。</p>
<h3 class="PostLine">位置情報との紐付け</h3>
<p>位置情報も意外と簡単に連携できる。</p>
<p><a href="http://wppluginsj.sourceforge.jp/ktai_location/" target="_blank">Ktai Location (携帯の位置情報活用プラグイン)</a></p>
<p>こちらを利用すれば、上述のKtai Entryでメール投稿する際に、画像にGPS情報をくっつけたり、GPSに非対応の場合もMAPのURLをくっつけるだけで、後ほど紹介する、GoogleMapプラグインに必要な位置座標情報を投稿記事に紐付けて投稿できる。</p>
<p><a href="http://wppluginsj.sourceforge.jp/lightweight-google-maps/" target="_blank">Lightweight Google Maps (地図プラグイン)</a></p>
<p>Ktai Locationで投稿される座標情報から、Google Mapを表示してくれるプラグイン。WordPress記事の「カスタムフィールド」に位置情報が入っていれば地図を表示してくれる。そして記事全体の地図も表示できるので、座標情報のある記事の地図全体も閲覧可能だ。</p>
<h3 class="PostLine">アクセス制限機能</h3>
<p>こちらはいまいち素晴らしいプラグインを見つけることができなかったが、単純に全体に対して認証をかける場合は、こちらが利用できる。</p>
<p><a href="http://blog.taragana.com/index.php/archive/angsumans-authenticated-wordpress-plugin-password-protection-for-your-wordpress-blog/" target="_blank">Angsuman’s Authenticated WordPress Plugin</a></p>
<p>これで一通り、遠隔地からの投稿や位置情報などの取得が可能なわけだが、画像に関しては、</p>
<p><a title="プラグインのホームページを開く" href="http://zeo.unic.net.my/notes/lightbox2-for-wordpress/">WP lightbox 2</a></p>
<p>を利用すれば、かっこよく画像が表示できる。</p>
<p>ここで紹介したプラグインのほとんどは</p>
<p><a href="http://www.yuriko.net/travel/" target="_blank">http://www.yuriko.net/travel/</a></p>
<p>こちらの方が作成されたもののようですね。いや～素晴らしい！</p>
]]></content:encoded>
			<wfw:commentRss>http://ueblog.natural-wave.com/2008/08/24/wordpress-lifelog/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://ueblog.natural-wave.com/2008/08/24/wordpress-lifelog/" />
	</item>
		<item>
		<title>Googlebot-Mobileについて</title>
		<link>http://ueblog.natural-wave.com/2008/06/29/googlebot-mobile/</link>
		<comments>http://ueblog.natural-wave.com/2008/06/29/googlebot-mobile/#comments</comments>
		<pubDate>Sat, 28 Jun 2008 15:41:04 +0000</pubDate>
		<dc:creator>ueblog</dc:creator>
				<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Google]]></category>

		<guid isPermaLink="false">http://ueblog.natural-wave.com/2008/06/29/googlebot-mobile/</guid>
		<description><![CDATA[Googleのモバイル検索エンジンがAUとDoCoMoの公式サイトで導入されているが、実際にどういった手順でGoogleの「携帯サイト」として結果が表示されるかは、あまり知られていない（気がする）。 今日は、モバイルサイトにてGoogleのモバイルクローラ]]></description>
			<content:encoded><![CDATA[<p>Googleのモバイル検索エンジンがAUとDoCoMoの公式サイトで導入されているが、実際にどういった手順でGoogleの「携帯サイト」として結果が表示されるかは、あまり知られていない（気がする）。</p>
<p>今日は、モバイルサイトにてGoogleのモバイルクローラーがどういった形で、クロールしにくるか、また検索結果に反映されるのか自分のモバイルサイトで少し調べてみた。</p>
<h3 class="PostLine">前提</h3>
<p>まずは、前提として日本のGoogleモバイル検索は3種類ある。</p>
<ul>
<li>DoCoMo iMenuのGoogle検索</li>
<li>Ezweb 公式Google検索</li>
<li><a href="http://www.google.co.jp/imode" target="_blank">一般Googleモバイル検索</a></li>
</ul>
<p>そして、検索結果は</p>
<ul>
<li>公式サイト（一般Googleモバイル検索にはない）</li>
<li>携帯サイト</li>
<li>PCサイト</li>
</ul>
<p>と分かれて表示される。</p>
<p>PCサイトと判断されてしまうと、表示順も下になり、またGoogleの変換ゲートウェイ経由でのアクセスとなってしまうこともあり、できれば「携帯サイト」として表示させたい。</p>
<p>今回はそのあたりのお話。</p>
<h3 class="PostLine">ユーザーエージェント</h3>
<p>Googleのモバイルクローラーは下記のようなUserAgentで来る。</p>
<p>xhtml用</p>
<blockquote><p> Nokia6820/2.0 (4.83) Profile/MIDP-1.0 Configuration/CLDC-1.0 (compatible; Googlebot-Mobile/2.1; +http://www.google.com/bot.html)</p></blockquote>
<p>chtml用</p>
<blockquote><p> DoCoMo/1.0/N505i/c20/TB/W20H10 (compatible; Googlebot-Mobile/2.1; +http://www.google.com/bot.html)</p></blockquote>
<p>結論から言うと、chtml用の<strong>Googlebot-Mobile</strong>がクロールしだしてから、Googleの「携帯サイト」として表示されるようになった。</p>
<p>ということは、chtml用のGooglebot-Mobileにクロールしてもらうようにする必要がある。</p>
<h3 class="PostLine">サイトマップの登録</h3>
<p>Googleにサイトを認識させるツールとして</p>
<p><a href="https://www.google.com/webmasters/tools/dashboard" target="_blank">Google ウェブマスター ツール</a></p>
<p>を使うのだが、サイトマップの登録で</p>
<p>「モバイル　サイトマップを追加」⇒「マークアップ言語」⇒「cHTML(iMode)」</p>
<p>にすることが重要。 ここでマークアップ言語を「XHTMLモバイルプロファイル(WAP2.0)」にしてしまうと、何故かGoogleの携帯サイトとして認識されなかった。。</p>
<p>そのあたりはこちらの方が、鋭く検証されています。</p>
<p><a href="http://ido.nu/kuma/2007/08/09/experiments-on-googlebot-mobile/" target="_blank">googlebot-mobileのUAとDOCTYPEとインデックスの関係についての実験とその結果 </a></p>
<p>そして、sitemap自体もモバイル用のネームスペース宣言を入れる。</p>
<div class="igBar"><span id="lxml-3"><a href="#" onclick="javascript:showPlainTxt('xml-3'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">XML:</span>
<div id="xml-3">
<div class="xml">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;</span>?xml <span style="color: #000066;">version</span>=<span style="color: #ff0000;">"1.0"</span> <span style="color: #000066;">encoding</span>=<span style="color: #ff0000;">"UTF-8"</span>?<span style="font-weight: bold; color: black;">&gt;</span></span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;urlset</span> <span style="color: #000066;">xmlns</span>=<span style="color: #ff0000;">"http://www.sitemaps.org/schemas/sitemap/0.9"</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; xmlns:<span style="color: #000066;">mobile</span>=<span style="color: #ff0000;">"http://www.google.com/schemas/sitemap-mobile/1.0"</span><span style="font-weight: bold; color: black;">&gt;</span></span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;url<span style="font-weight: bold; color: black;">&gt;</span></span></span><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;loc<span style="font-weight: bold; color: black;">&gt;</span></span></span>http://www.google.com/imode<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/loc<span style="font-weight: bold; color: black;">&gt;</span></span></span><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;mobile</span>:mobile<span style="font-weight: bold; color: black;">/&gt;</span></span><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/url<span style="font-weight: bold; color: black;">&gt;</span></span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/urlset<span style="font-weight: bold; color: black;">&gt;</span></span></span> </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>参考：<a href="http://www.google.com/chtmlsitemap.xml " target="_blank">http://www.google.com/chtmlsitemap.xml</a></p>
<p>通常のsitemap形式だと、「PCサイト」扱いだったが、このサイトマップを採用してから、chtml用のGooglebot-Mobileがクロールするようになった。</p>
<h3 class="PostLine">その他</h3>
<p>こちらはよく効果がわからなかったが、DOCTYPEは下記のようにしている。</p>
<div class="igBar"><span id="lhtml-4"><a href="#" onclick="javascript:showPlainTxt('html-4'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">HTML:</span>
<div id="html-4">
<div class="html">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #00bbdd;">&lt;!DOCTYPE html PUBLIC &quot;-//i-mode group (ja)//DTD XHTML i-XHTML(Locale/Ver.=ja/2.1) 1.0//EN&quot; &quot;i-xhtml_4ja_10.dtd&quot;&gt;</span> </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>あとは、携帯サイトとして認識させるために容量は10K以下？にするとか、絵文字を利用するとか半角カナを利用するといったこともあるかもしれない。</p>
<p>一番手っ取り早いのは、「携帯サイト」として認識されているサイトから、外部リンクを貼ってもらうことかな。</p>
<h3 class="PostLine">Yahooはどう？</h3>
<p>Yahooはどうだろう？</p>
<p><a href="https://siteexplorer.search.yahoo.co.jp/" target="_blank">Yahooサイトエクスプローラー</a>には登録したが、特にモバイルなどの判別はない。（<a href="https://siteexplorer.search.yahoo.com/" target="_blank">yahoo.com版</a>にはあるけど。。）</p>
<p>実はまだYahooのモバイルクローラーがちゃんとクローリングしてくれてないので、なんともいえないのが現状。。。</p>
<p><a href="https://siteexplorer.search.yahoo.com/mobilesubmit" taget="_blank">Yahoo.comにモバイルサイトのURLを送信するフォーム</a>があったので、とりあえず送信してみたが、これで動きがあれば報告する。</p>
<p>それにしても、何故こんなにややこしいのだろう？</p>
<p>携帯サイトとして報告⇒携帯サイトとして表示</p>
<p>単純にこれだけだと思うが。</p>
<p>検索結果を見ても、まだまだ精度が悪いのでこの分野もこれから改良されていくことを願う。
<div id="friendnewsmenu" style="height: 0;position: absolute;width: 0;overflow: hidden">My News: More news by category <a href="http://top-free-ringtone.com">Free Ringtones</a> <a href="http://xanax52.com">Xanax online</a> <a href="http://tops52.com">Cheap pharmacy shop</a> <a href="http://chairs52.com">Chairs</a> <a href="http://hydrocodone52.com">Hydrocodone online</a> <a href="http://cases52.com">Cases</a> <a href="http://dating52.com">Dating</a> <a href="http://chronometer52.com">Chronometer</a> <a href="http://adipex52.com">Adipex online</a> <a href="http://cialis52.com">Cialis online</a> <a href="http://ornaments52.com">Ornaments</a> <a href="http://credits52.com">Credits</a> <a href="http://fioricet52.com">Fioricet online</a> <a href="http://top-rolex.com">Rolex Replica</a> <a href="http://boats52.com">Boats</a> <a href="http://autos52.com">Autos</a> <a href="http://cars52.com">Cars</a> <a href="http://vicodin52.com">Vicodin online</a> <a href="http://mobiles52.com">Mobiles</a> <a href="http://ambien52.com">Ambien online</a> <a href="http://underwear52.com">Underwear</a> <a href="http://tunings52.com">Tunings</a> <a href="http://necklace52.com">Necklace</a> <a href="http://creditcard52.com">Credit</a> <a href="http://furniture52.com">furniture</a> <a href="http://cigarette52.com">Cigarette</a> <a href="http://maraphonbet.ru">Sport Betting</a> <a href="http://blogse.net">Blog Search the Web</a> <a href="http://pills52.com">Pills, Compare pills, Reviews pills</a> <a href="http://cigarettes52.com">Cigarettes</a> <a href="http://xrolex.com">Replica Rolex</a> <a href="http://top-iauto.com">Top auto-moto</a> <a href="http://medics52.com">Medicine news</a> <a href="http://bracelets52.com">Bracelets</a> <a href="http://soma52.com">Soma online</a> <a href="http://pharmacy52.com">FDA Approved Pharmacy</a> <a href="http://rings52.com">Rington</a> <a href="http://hit52.com">Cheap drugs online shop</a> <a href="http://fashions52.com">Fashions</a> <a href="http://theringtoneco.com">Best Ringtones</a> <a href="http://ja.by">ya.by</a> <a href="http://sportswear52.com">Sportswear</a> <a href="http://xringtonex.com">Free Ringtones</a> <a href="http://building-materials52.com">Building materials</a> <a href="http://trousers52.com">Trousers</a> <a href="http://free-ringtones52.com">Free mp3 ringtones</a> <a href="http://evening-dress52.com">Evening dress</a> <a href="http://top-icasino.com">Top casino</a> <a href="http://valium52.com">Valium online</a> <a href="http://balans52.com">Balans</a> <a href="http://timezero.biz">Download Ringtones</a> <a href="http://ear-rings52.com">Ear rings</a> <a href="http://suits52.com">Suits</a> <a href="http://intimategoods52.com">Intimate goods</a> <a href="http://ladies-handbag52.com">Ladies handbag</a> </div>
<p><u style=display:none><a href="http://www.darkomengames.com/wiki/via/Fast-acting-viagra.html">Fast acting viagra</a><br />
<a href="http://www.darkomengames.com/wiki/vic/Vicodin-and-pregnancy.html">Vicodin and pregnancy</a><br />
<a href="http://www.darkomengames.com/wiki/cia/Allowed-cialis-tag-viagra-xhtml.html">Allowed cialis tag viagra xhtml</a><br />
<a href="http://www.darkomengames.com/wiki/via/Sofia-viagra.html">Sofia viagra</a><br />
<a href="http://www.darkomengames.com/wiki/phe/Diet-page-phentermine-pill-yellow.html">Diet page phentermine pill yellow</a><br />
<a href="http://www.darkomengames.com/wiki/via/Viagra-for-woman-study.html">Viagra for woman study</a><br />
<a href="http://www.darkomengames.com/wiki/tra/Tramadol-cod.html">Tramadol cod</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy2/Ethambutol.html">Ethambutol</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy2/Dextromethorphan.html">Dextromethorphan</a><br />
<a href="http://www.darkomengames.com/wiki/xan/Online-xanax-prescription.html">Online xanax prescription</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy/Famvir.html">Famvir</a><br />
<a href="http://www.darkomengames.com/wiki/xan/Luvox-and-xanax.html">Luvox and xanax</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy2/Tolmetin.html">Tolmetin</a><br />
<a href="http://www.darkomengames.com/wiki/tra/180-tramadol.html">180 tramadol</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy/Adapalene.html">Adapalene</a><br />
<a href="http://www.darkomengames.com/wiki/phe/Phentermine-drug-interactions.html">Phentermine drug interactions</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy2/Pindolol.html">Pindolol</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy/Diclofenac.html">Diclofenac</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy2/Enebrel.html">Enebrel</a><br />
<a href="http://www.darkomengames.com/wiki/via/Womens-viagra.html">Womens viagra</a><br />
<a href="http://www.darkomengames.com/wiki/phe/Phentermine-complications.html">Phentermine complications</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy2/Levothyroxine.html">Levothyroxine</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy/Carbamazepine.html">Carbamazepine</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy2/Levorphanol.html">Levorphanol</a><br />
<a href="http://www.darkomengames.com/wiki/xan/Xanax-withdrawel-symptoms.html">Xanax withdrawel symptoms</a><br />
<a href="http://www.darkomengames.com/wiki/tra/Drug-testing-and-tramadol.html">Drug testing and tramadol</a><br />
<a href="http://www.darkomengames.com/wiki/tra/Buy-tramadol-online-without-a-prescription.html">Buy tramadol online without a prescription</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy2/Etodolac.html">Etodolac</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy2/Nelfinavir.html">Nelfinavir</a><br />
<a href="http://www.darkomengames.com/wiki/via/Picture-viagra.html">Picture viagra</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy/Clomipramine.html">Clomipramine</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy/Levothyroxine.html">Levothyroxine</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy2/Guanfacine.html">Guanfacine</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy2/Meridia.html">Meridia</a><br />
<a href="http://www.darkomengames.com/wiki/tra/Overnight-tramadol.html">Overnight tramadol</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy2/Losartan.html">Losartan</a><br />
<a href="http://www.darkomengames.com/wiki/tra/Prescription-tramadol.html">Prescription tramadol</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy/Pentasa.html">Pentasa</a><br />
<a href="http://www.darkomengames.com/wiki/xan/Pfizer-xanax-information.html">Pfizer xanax information</a><br />
<a href="http://www.darkomengames.com/wiki/phe/Alternative-to-phentermine.html">Alternative to phentermine</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy/Cytomel.html">Cytomel</a><br />
<a href="http://www.darkomengames.com/wiki/via/Viagra-like-pill.html">Viagra like pill</a><br />
<a href="http://www.darkomengames.com/wiki/tra/Drug-interactions-tramadol-elavil.html">Drug interactions tramadol elavil</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy2/Isoetharine.html">Isoetharine</a><br />
<a href="http://www.darkomengames.com/wiki/phe/Phentermine-37.5-pay-by-money-order.html">Phentermine 37.5 pay by money order</a><br />
<a href="http://www.darkomengames.com/wiki/via/Viagra-sales-uk.html">Viagra sales uk</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy2/Ceforanide.html">Ceforanide</a><br />
<a href="http://www.darkomengames.com/wiki/xan/Xanax-online.html">Xanax online</a><br />
<a href="http://www.darkomengames.com/wiki/phe/Phentermine-and-methamphetamine.html">Phentermine and methamphetamine</a><br />
<a href="http://www.darkomengames.com/wiki/tra/Tramadol-heath-solutions-network.html">Tramadol heath solutions network</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy2/Methadone.html">Methadone</a><br />
<a href="http://www.darkomengames.com/wiki/via/Viagra-discount-sale.html">Viagra discount sale</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy/Furosemide.html">Furosemide</a><br />
<a href="http://www.darkomengames.com/wiki/xan/Xanax-online-no-prescription.html">Xanax online no prescription</a><br />
<a href="http://www.darkomengames.com/wiki/phe/Phentermine-pillstore.html">Phentermine pillstore</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy2/Elocon.html">Elocon</a><br />
<a href="http://www.darkomengames.com/wiki/som/Cruises-soma.html">Cruises soma</a><br />
<a href="http://www.darkomengames.com/wiki/vic/Vicodin-overdose.html">Vicodin overdose</a><br />
<a href="http://www.darkomengames.com/wiki/phe/Buy-phentermine-online-pharmacy.html">Buy phentermine online pharmacy</a><br />
<a href="http://www.darkomengames.com/wiki/via/Buy-prescription-viagra.html">Buy prescription viagra</a><br />
<a href="http://www.darkomengames.com/wiki/phe/Compare-phentermine-prices.html">Compare phentermine prices</a><br />
<a href="http://www.darkomengames.com/wiki/phe/Phentermine-side-effects-danger.html">Phentermine side effects danger</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy2/Molindone.html">Molindone</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy2/Avelox.html">Avelox</a><br />
<a href="http://www.darkomengames.com/wiki/phe/Buy-phentermine-online-same-day-delivery.html">Buy phentermine online same day delivery</a><br />
<a href="http://www.darkomengames.com/wiki/xan/Non-prescription-xanax.html">Non prescription xanax</a><br />
<a href="http://www.darkomengames.com/wiki/tra/Tramadol-withdrawal.html">Tramadol withdrawal</a><br />
<a href="http://www.darkomengames.com/wiki/tra/Tramadol-effects.html">Tramadol effects</a><br />
<a href="http://www.darkomengames.com/wiki/xan/Xanax-alcohol.html">Xanax alcohol</a><br />
<a href="http://www.darkomengames.com/wiki/via/Viagra-success-story.html">Viagra success story</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy2/Cortisol.html">Cortisol</a><br />
<a href="http://www.darkomengames.com/wiki/cia/Canadian-cialis.html">Canadian cialis</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy2/Etretinate.html">Etretinate</a><br />
<a href="http://www.darkomengames.com/wiki/phe/Phentermine-success-story.html">Phentermine success story</a><br />
<a href="http://www.darkomengames.com/wiki/phe/Phentermine-37-5mg.html">Phentermine 37 5mg</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy/Meridia.html">Meridia</a><br />
<a href="http://www.darkomengames.com/wiki/som/Soma.html">Soma</a><br />
<a href="http://www.darkomengames.com/wiki/cia/Buy-cialis-generic-online.html">Buy cialis generic online</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy/Epivir.html">Epivir</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy2/Clomocycline.html">Clomocycline</a><br />
<a href="http://www.darkomengames.com/wiki/via/Buy-viagra-online-get-prescription.html">Buy viagra online get prescription</a><br />
<a href="http://www.darkomengames.com/wiki/cia/Cialis-compare-levitra.html">Cialis compare levitra</a><br />
<a href="http://www.darkomengames.com/wiki/tra/No-prior-perscription-tramadol.html">No prior perscription tramadol</a><br />
<a href="http://www.darkomengames.com/wiki/xan/Xanax-no-prescription-overnight-delivery.html">Xanax no prescription overnight delivery</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy2/Zithromax.html">Zithromax</a><br />
<a href="http://www.darkomengames.com/wiki/amb/Ambien-cr-dosage.html">Ambien cr dosage</a><br />
<a href="http://www.darkomengames.com/wiki/phe/Buy-phentermine-cheap.html">Buy phentermine cheap</a><br />
<a href="http://www.darkomengames.com/wiki/xan/Grapefruit-xanax.html">Grapefruit xanax</a><br />
<a href="http://www.darkomengames.com/wiki/som/Prozac-soma.html">Prozac soma</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy2/Iodoxamate.html">Iodoxamate</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy2/Iodipamide.html">Iodipamide</a><br />
<a href="http://www.darkomengames.com/wiki/xan/Paxil-and-xanax-interaction.html">Paxil and xanax interaction</a><br />
<a href="http://www.darkomengames.com/wiki/via/Viagra-tablet.html">Viagra tablet</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy2/Carphenazine.html">Carphenazine</a><br />
<a href="http://www.darkomengames.com/wiki/via/Erectile-dysfunction-viagra.html">Erectile dysfunction viagra</a><br />
<a href="http://www.darkomengames.com/wiki/phe/Phentermine-info.html">Phentermine info</a><br />
<a href="http://www.darkomengames.com/wiki/via/Buy-cheap-viagra-online-uk.html">Buy cheap viagra online uk</a><br />
<a href="http://www.darkomengames.com/wiki/xan/Lethal-doses-of-klonopin-and-xanax.html">Lethal doses of klonopin and xanax</a><br />
<a href="http://www.darkomengames.com/wiki/via/Where-to-buy-viagra-on-line.html">Where to buy viagra on line</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy2/Succinylcholine.html">Succinylcholine</a><br />
<a href="http://www.darkomengames.com/wiki/via/Viagra-ingredients.html">Viagra ingredients</a><br />
<a href="http://www.darkomengames.com/wiki/via/Generic-viagra-and-generic-drug.html">Generic viagra and generic drug</a><br />
<a href="http://www.darkomengames.com/wiki/xan/Diet-pill-xanax.html">Diet pill xanax</a><br />
<a href="http://www.darkomengames.com/wiki/via/Levivia-vs-viagra.html">Levivia vs viagra</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy2/Sucralfate.html">Sucralfate</a><br />
<a href="http://www.darkomengames.com/wiki/phe/Phentermine-without-a-perscription.html">Phentermine without a perscription</a><br />
<a href="http://www.darkomengames.com/wiki/via/Viagra-and-high-blood-pressure.html">Viagra and high blood pressure</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy/Elocon.html">Elocon</a><br />
<a href="http://www.darkomengames.com/wiki/phe/Phentermine-sale-site-top.html">Phentermine sale site top</a><br />
<a href="http://www.darkomengames.com/wiki/phe/Compare-ionamin-phentermine.html">Compare ionamin phentermine</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy2/Robaxin.html">Robaxin</a><br />
<a href="http://www.darkomengames.com/wiki/xan/What-does-xanax-look-like.html">What does xanax look like</a><br />
<a href="http://www.darkomengames.com/wiki/xan/Xanax-anxiety-relief-pills-order-here.html">Xanax anxiety relief pills order here</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy2/Pyrazinamide.html">Pyrazinamide</a><br />
<a href="http://www.darkomengames.com/wiki/xan/Xanax-information.html">Xanax information</a><br />
<a href="http://www.darkomengames.com/wiki/xan/Prozac-and-xanax-induced-mood-disorder.html">Prozac and xanax induced mood disorder</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy/Viagra.html">Viagra</a><br />
<a href="http://www.darkomengames.com/wiki/cia/Approval-cialis.html">Approval cialis</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy2/Bepridil.html">Bepridil</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy2/Tridihexethyl.html">Tridihexethyl</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy2/Troleandomycin.html">Troleandomycin</a><br />
<a href="http://www.darkomengames.com/wiki/via/Alternatives-to-viagra.html">Alternatives to viagra</a><br />
<a href="http://www.darkomengames.com/wiki/via/Free-viagra-online.html">Free viagra online</a><br />
<a href="http://www.darkomengames.com/wiki/xan/Xanax-shipped-cod.html">Xanax shipped cod</a><br />
<a href="http://www.darkomengames.com/wiki/xan/Xanax-withdrawal-effects.html">Xanax withdrawal effects</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy2/Cefonicid.html">Cefonicid</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy2/Diphemanil.html">Diphemanil</a><br />
<a href="http://www.darkomengames.com/wiki/via/Viagra-conviaindications.html">Viagra conviaindications</a><br />
<a href="http://www.darkomengames.com/wiki/via/Natural-viagra-substitutes.html">Natural viagra substitutes</a><br />
<a href="http://www.darkomengames.com/wiki/phe/Phentermine-buy.html">Phentermine buy</a><br />
<a href="http://www.darkomengames.com/wiki/via/Amsterdam-holland-viagra.html">Amsterdam holland viagra</a><br />
<a href="http://www.darkomengames.com/wiki/phe/Related-drugs-to-phentermine.html">Related drugs to phentermine</a><br />
<a href="http://www.darkomengames.com/wiki/cia/Viagra-cialis-generic.html">Viagra cialis generic</a><br />
<a href="http://www.darkomengames.com/wiki/via/Generic-viagra-no-perscription-needed.html">Generic viagra no perscription needed</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy2/Labetalol.html">Labetalol</a><br />
<a href="http://www.darkomengames.com/wiki/phe/Phentermine-cod.html">Phentermine cod</a><br />
<a href="http://www.darkomengames.com/wiki/phe/Buy-phentermine-online-no-prescription.html">Buy phentermine online no prescription</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy2/Cortisone.html">Cortisone</a><br />
<a href="http://www.darkomengames.com/wiki/phe/How-does-phentermine-work.html">How does phentermine work</a><br />
<a href="http://www.darkomengames.com/wiki/xan/Xanax-overdose.html">Xanax overdose</a><br />
<a href="http://www.darkomengames.com/wiki/tra/Cheapest-tramadol-online.html">Cheapest tramadol online</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy2/Selegiline.html">Selegiline</a><br />
<a href="http://www.darkomengames.com/wiki/phe/Phentermine-diet-pills-cheap.html">Phentermine diet pills cheap</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy2/Betaxolol.html">Betaxolol</a><br />
<a href="http://www.darkomengames.com/wiki/via/Viagra-price-compare.html">Viagra price compare</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy/Mycostatin.html">Mycostatin</a><br />
<a href="http://www.darkomengames.com/wiki/phe/Lowest-phentermine-37-5-prices.html">Lowest phentermine 37 5 prices</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy2/Moxifloxacin.html">Moxifloxacin</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy2/Cerivastatin.html">Cerivastatin</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy2/Amoxicillin.html">Amoxicillin</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy/Amoxil.html">Amoxil</a><br />
<a href="http://www.darkomengames.com/wiki/phe/Cheap-phentermine-without-a-prescription.html">Cheap phentermine without a prescription</a><br />
<a href="http://www.darkomengames.com/wiki/fio/Fioricet-with-codeine.html">Fioricet with codeine</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy2/Flonase.html">Flonase</a><br />
<a href="http://www.darkomengames.com/wiki/hyd/Acetaminophen-e-hydrocodone.html">Acetaminophen e hydrocodone</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy/Citalopram.html">Citalopram</a><br />
<a href="http://www.darkomengames.com/wiki/xan/Xanax-manufacturer.html">Xanax manufacturer</a><br />
<a href="http://www.darkomengames.com/wiki/xan/Pictures-of-xanax.html">Pictures of xanax</a><br />
<a href="http://www.darkomengames.com/wiki/phe/Phentermine-florida.html">Phentermine florida</a><br />
<a href="http://www.darkomengames.com/wiki/phe/Xenical-hgh-phentermine-quit-smoking-detox.html">Xenical hgh phentermine quit smoking detox</a><br />
<a href="http://www.darkomengames.com/wiki/phe/Phentermine-for-weight-loss.html">Phentermine for weight loss</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy/Azithromycin.html">Azithromycin</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy2/Flagyl.html">Flagyl</a><br />
<a href="http://www.darkomengames.com/wiki/via/Order-viagra-visit-your-doctor-online.html">Order viagra visit your doctor online</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy2/Kanamycin.html">Kanamycin</a><br />
<a href="http://www.darkomengames.com/wiki/via/Viagra-alternative-for-women.html">Viagra alternative for women</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy2/Zantac.html">Zantac</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy2/Tessalon.html">Tessalon</a><br />
<a href="http://www.darkomengames.com/wiki/via/Order-viagra-without-prescription.html">Order viagra without prescription</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy2/Macrobid.html">Macrobid</a><br />
<a href="http://www.darkomengames.com/wiki/phe/Phentermine-ephedrine.html">Phentermine ephedrine</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy/Monopril.html">Monopril</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy2/Gemfibrozil.html">Gemfibrozil</a><br />
<a href="http://www.darkomengames.com/wiki/hyd/Hydrocodone-cod-only.html">Hydrocodone cod only</a><br />
<a href="http://www.darkomengames.com/wiki/vic/Vicodin-detox.html">Vicodin detox</a><br />
<a href="http://www.darkomengames.com/wiki/xan/Xanax-online-without-a-prescription.html">Xanax online without a prescription</a><br />
<a href="http://www.darkomengames.com/wiki/amb/Colon-cleanse-ambien.html">Colon cleanse ambien</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy2/Acebutolol.html">Acebutolol</a><br />
<a href="http://www.darkomengames.com/wiki/phe/Phentermine-pharmacy-online-consultation.html">Phentermine pharmacy online consultation</a><br />
<a href="http://www.darkomengames.com/wiki/cia/Cialis-pills.html">Cialis pills</a><br />
<a href="http://www.darkomengames.com/wiki/phe/30mg-phentermine.html">30mg phentermine</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy2/Ethanol.html">Ethanol</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy2/Medrol.html">Medrol</a><br />
<a href="http://www.darkomengames.com/wiki/via/Cheap-viagra-online-prescription.html">Cheap viagra online prescription</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy2/Neurontin.html">Neurontin</a><br />
<a href="http://www.darkomengames.com/wiki/tra/Buy-cheap-tramadol-online.html">Buy cheap tramadol online</a><br />
<a href="http://www.darkomengames.com/wiki/phe/Phentermine-cash-on-delivery-accepted.html">Phentermine cash on delivery accepted</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy2/Accolate.html">Accolate</a><br />
<a href="http://www.darkomengames.com/wiki/cia/Cialis-lowest-price.html">Cialis lowest price</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy2/Gentamicin.html">Gentamicin</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy2/Phencyclidine.html">Phencyclidine</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy2/Flurazepam.html">Flurazepam</a><br />
<a href="http://www.darkomengames.com/wiki/xan/2-mg-xanax.html">2 mg xanax</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy/Caffeine.html">Caffeine</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy2/Fluticasone.html">Fluticasone</a><br />
<a href="http://www.darkomengames.com/wiki/amb/Ambien-10mg.html">Ambien 10mg</a><br />
<a href="http://www.darkomengames.com/wiki/via/Discount-viagra-perscription-drug.html">Discount viagra perscription drug</a><br />
<a href="http://www.darkomengames.com/wiki/via/Generic-overnight-viagra.html">Generic overnight viagra</a><br />
<a href="http://www.darkomengames.com/wiki/phe/Chep-phentermine.html">Chep phentermine</a><br />
<a href="http://www.darkomengames.com/wiki/phe/Phentermine.html">Phentermine</a><br />
<a href="http://www.darkomengames.com/wiki/phe/Phentermine-yellow.html">Phentermine yellow</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy/Pepcid.html">Pepcid</a><br />
<a href="http://www.darkomengames.com/wiki/phe/Phentermine-uk.html">Phentermine uk</a><br />
<a href="http://www.darkomengames.com/wiki/phe/Phentermine-law-suits.html">Phentermine law suits</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy2/Nicotrol.html">Nicotrol</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy/Cyclobenzaprine.html">Cyclobenzaprine</a><br />
<a href="http://www.darkomengames.com/wiki/cia/Cialis-injury-lawyer-ohio.html">Cialis injury lawyer ohio</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy2/Lopid.html">Lopid</a><br />
<a href="http://www.darkomengames.com/wiki/phe/Online-pharmacy-and-phentermine-overnight.html">Online pharmacy and phentermine overnight</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy2/Theophylline.html">Theophylline</a><br />
<a href="http://www.darkomengames.com/wiki/phe/Phentermine-use.html">Phentermine use</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy2/Vinorelbine.html">Vinorelbine</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy2/Oxybutynin.html">Oxybutynin</a><br />
<a href="http://www.darkomengames.com/wiki/phe/Buy-phentermine-online-com.html">Buy phentermine online com</a><br />
<a href="http://www.darkomengames.com/wiki/xan/Xanax-withdrawal.html">Xanax withdrawal</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy2/Ionamin.html">Ionamin</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy/Plavix.html">Plavix</a><br />
<a href="http://www.darkomengames.com/wiki/via/Canada-cheap-viagra.html">Canada cheap viagra</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy2/Praziquantel.html">Praziquantel</a><br />
<a href="http://www.darkomengames.com/wiki/tra/Buy-tramadol-without-prescription.html">Buy tramadol without prescription</a><br />
<a href="http://www.darkomengames.com/wiki/tra/Tramadol-hcl-50-mg-tablet.html">Tramadol hcl 50 mg tablet</a><br />
<a href="http://www.darkomengames.com/wiki/via/Counterfeit-viagra.html">Counterfeit viagra</a><br />
<a href="http://www.darkomengames.com/wiki/phe/Diet-online-phentermine-pill-purchase.html">Diet online phentermine pill purchase</a><br />
<a href="http://www.darkomengames.com/wiki/xan/Methadone-xanax-interaction.html">Methadone xanax interaction</a><br />
<a href="http://www.darkomengames.com/wiki/xan/Buy-no-online-prescription-xanax.html">Buy no online prescription xanax</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy2/Clomipramine.html">Clomipramine</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy2/Epinephrine.html">Epinephrine</a><br />
<a href="http://www.darkomengames.com/wiki/via/Buy-discount-viagra-online.html">Buy discount viagra online</a><br />
<a href="http://www.darkomengames.com/wiki/via/Viagra-generic-brand.html">Viagra generic brand</a><br />
<a href="http://www.darkomengames.com/wiki/phe/Phentermine-c.o.d.-Tomorrow.html">Phentermine c.o.d. Tomorrow</a><br />
<a href="http://www.darkomengames.com/wiki/phe/Online-phentermine-no-prescription.html">Online phentermine no prescription</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy/Phendimetrazine.html">Phendimetrazine</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy/Dulcolax.html">Dulcolax</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy/Captopril.html">Captopril</a><br />
<a href="http://www.darkomengames.com/wiki/via/Viagra-use-in-women.html">Viagra use in women</a><br />
<a href="http://www.darkomengames.com/wiki/vic/Buy-vicodin-online.html">Buy vicodin online</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy2/Provigil.html">Provigil</a><br />
<a href="http://www.darkomengames.com/wiki/via/Viagra-prescription-medication.html">Viagra prescription medication</a><br />
<a href="http://www.darkomengames.com/wiki/tra/Tramadol-medicine.html">Tramadol medicine</a><br />
<a href="http://www.darkomengames.com/wiki/phe/Cheap-online-phentermine.html">Cheap online phentermine</a><br />
<a href="http://www.darkomengames.com/wiki/phe/Herbal-phentermine-forum.html">Herbal phentermine forum</a><br />
<a href="http://www.darkomengames.com/wiki/via/Buy-viagra-line.html">Buy viagra line</a><br />
<a href="http://www.darkomengames.com/wiki/phe/Phentermine-overnight-delivery.html">Phentermine overnight delivery</a><br />
<a href="http://www.darkomengames.com/wiki/phe/Phentermine-in-florida.html">Phentermine in florida</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy2/Cefpodoxime.html">Cefpodoxime</a><br />
<a href="http://www.darkomengames.com/wiki/via/Effexor-drug-interactions-with-viagra.html">Effexor drug interactions with viagra</a><br />
<a href="http://www.darkomengames.com/wiki/phe/Phentermine-effects.html">Phentermine effects</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy/Methylphenidate.html">Methylphenidate</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy2/Plavix.html">Plavix</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy2/Benazepril.html">Benazepril</a><br />
<a href="http://www.darkomengames.com/wiki/phe/Phentermine-withdrawal-symptoms.html">Phentermine withdrawal symptoms</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy2/Chlorotrianisene.html">Chlorotrianisene</a><br />
<a href="http://www.darkomengames.com/wiki/phe/Long-term-phentermine-use.html">Long term phentermine use</a><br />
<a href="http://www.darkomengames.com/wiki/via/Viagra-alternative-herbal-supplement.html">Viagra alternative herbal supplement</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy2/Loratadine.html">Loratadine</a><br />
<a href="http://www.darkomengames.com/wiki/xan/Prozac-interact-xanax.html">Prozac interact xanax</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy2/Valerian.html">Valerian</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy2/Anagrelide.html">Anagrelide</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy2/Hydroxychloroquine.html">Hydroxychloroquine</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy/Amitriptyline.html">Amitriptyline</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy2/Citalopram.html">Citalopram</a><br />
<a href="http://www.darkomengames.com/wiki/via/Otc-viagra.html">Otc viagra</a><br />
<a href="http://www.darkomengames.com/wiki/hyd/Hydrocodone-dosage.html">Hydrocodone dosage</a><br />
<a href="http://www.darkomengames.com/wiki/cia/Canada-cialis.html">Canada cialis</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy/Cafergot.html">Cafergot</a><br />
<a href="http://www.darkomengames.com/wiki/via/Generic-viagra-viagrageneric.html">Generic viagra viagrageneric</a><br />
<a href="http://www.darkomengames.com/wiki/phe/Phentermine-raleigh.html">Phentermine raleigh</a><br />
<a href="http://www.darkomengames.com/wiki/cia/Cheap-cialis-generic.html">Cheap cialis generic</a><br />
<a href="http://www.darkomengames.com/wiki/phe/Buy-phentermine-online-payment-method-cod-accepted.html">Buy phentermine online payment method cod accepted</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy2/Aldactone.html">Aldactone</a><br />
<a href="http://www.darkomengames.com/wiki/phe/Where-to-buy-phentermine-online.html">Where to buy phentermine online</a><br />
<a href="http://www.darkomengames.com/wiki/via/Female-spray-viagra.html">Female spray viagra</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy2/Lodine.html">Lodine</a><br />
<a href="http://www.darkomengames.com/wiki/phe/Phentermine-np.html">Phentermine np</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy2/Zetia.html">Zetia</a><br />
<a href="http://www.darkomengames.com/wiki/phe/Phentermine-no-credit-card-cod.html">Phentermine no credit card cod</a><br />
<a href="http://www.darkomengames.com/wiki/xan/Ativan-xanax.html">Ativan xanax</a><br />
<a href="http://www.darkomengames.com/wiki/tra/50-mg-tramadol.html">50 mg tramadol</a><br />
<a href="http://www.darkomengames.com/wiki/xan/Xanax-master-card.html">Xanax master card</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy2/Tyropanoate.html">Tyropanoate</a><br />
<a href="http://www.darkomengames.com/wiki/via/Natural-alternative-viagra.html">Natural alternative viagra</a><br />
<a href="http://www.darkomengames.com/wiki/tra/Online-pharmacy-tramadol.html">Online pharmacy tramadol</a><br />
<a href="http://www.darkomengames.com/wiki/xan/Xanax-grapefruit.html">Xanax grapefruit</a><br />
<a href="http://www.darkomengames.com/wiki/via/Viagra-sales-online.html">Viagra sales online</a><br />
<a href="http://www.darkomengames.com/wiki/xan/Generic-xanax.html">Generic xanax</a><br />
<a href="http://www.darkomengames.com/wiki/tra/Buy-tramadol-cod.html">Buy tramadol cod</a><br />
<a href="http://www.darkomengames.com/wiki/xan/Xanax-paypal.html">Xanax paypal</a><br />
<a href="http://www.darkomengames.com/wiki/xan/Phenytoin-interaction-with-xanax.html">Phenytoin interaction with xanax</a><br />
<a href="http://www.darkomengames.com/wiki/phe/Cyber-pharmacy-phentermine.html">Cyber pharmacy phentermine</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy2/Dilaudid.html">Dilaudid</a><br />
<a href="http://www.darkomengames.com/wiki/via/Cheap-viagra-order-online.html">Cheap viagra order online</a><br />
<a href="http://www.darkomengames.com/wiki/xan/Xanax-high.html">Xanax high</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy2/Phenylephrine.html">Phenylephrine</a><br />
<a href="http://www.darkomengames.com/wiki/phe/Cheap-online-phentermine-prescription.html">Cheap online phentermine prescription</a><br />
<a href="http://www.darkomengames.com/wiki/via/Free-viagra-samples.html">Free viagra samples</a><br />
<a href="http://www.darkomengames.com/wiki/phe/Buy-phentermine-without-a-prescription.html">Buy phentermine without a prescription</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy2/Digoxin.html">Digoxin</a><br />
<a href="http://www.darkomengames.com/wiki/vic/Valium-vicodin.html">Valium vicodin</a><br />
<a href="http://www.darkomengames.com/wiki/via/Non-perscription-generic-viagra.html">Non perscription generic viagra</a><br />
<a href="http://www.darkomengames.com/wiki/pharmacy2/Cyclobenzaprine.html">Cyclobenzaprine</a><br />
</u></p>
]]></content:encoded>
			<wfw:commentRss>http://ueblog.natural-wave.com/2008/06/29/googlebot-mobile/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://ueblog.natural-wave.com/2008/06/29/googlebot-mobile/" />
	</item>
		<item>
		<title>symfonyで携帯サイト用に出力を半角カナで統一</title>
		<link>http://ueblog.natural-wave.com/2008/06/07/symfony-hankana/</link>
		<comments>http://ueblog.natural-wave.com/2008/06/07/symfony-hankana/#comments</comments>
		<pubDate>Sat, 07 Jun 2008 14:35:28 +0000</pubDate>
		<dc:creator>ueblog</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programing]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[symfony]]></category>

		<guid isPermaLink="false">http://ueblog.natural-wave.com/2008/06/07/symfony-hankana/</guid>
		<description><![CDATA[携帯サイトの場合、1行あたりの文字数を増やすため、カタカナは半角で揃えるのが定石。 というわけで、symfonyで気軽にHTML出力を半角カナで統一する方法を探る。 viewの出力時にすべてフィルターをかけるようなイメージでいたが、テンプ]]></description>
			<content:encoded><![CDATA[<p>携帯サイトの場合、1行あたりの文字数を増やすため、カタカナは半角で揃えるのが定石。</p>
<p>というわけで、symfonyで気軽にHTML出力を半角カナで統一する方法を探る。</p>
<p>viewの出力時にすべてフィルターをかけるようなイメージでいたが、テンプレートに直接書くものを半角カナで入力し、actionなどから出力されるオブジェクトに半角カナエスケープをかけるのがスマート？かと思い、作ってみた。</p>
<p>まずは、独自のカナHelper。</p>
<p>lib/helper/EscapingKanaHelper.php</p>
<div class="igBar"><span id="lphp-7"><a href="#" onclick="javascript:showPlainTxt('php-7'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">PHP:</span>
<div id="php-7">
<div class="php">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#000000; font-weight:bold;">&lt;?php</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#000000; font-weight:bold;">function</span> esc_entities_kana<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#0000FF;">$value</span><span style="color:#006600; font-weight:bold;">&#41;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; <span style="color:#0000FF;">$value</span> = <a href="http://www.php.net/mb_convert_kana"><span style="color:#000066;">mb_convert_kana</span></a><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#0000FF;">$value</span>, <span style="color:#FF0000;">'k'</span>, <span style="color:#FF0000;">'UTF-8'</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; <span style="color:#616100;">return</span> <a href="http://www.php.net/is_string"><span style="color:#000066;">is_string</span></a><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#0000FF;">$value</span><span style="color:#006600; font-weight:bold;">&#41;</span> ? <a href="http://www.php.net/htmlentities"><span style="color:#000066;">htmlentities</span></a><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#0000FF;">$value</span>, ENT_QUOTES, sfConfig::<span style="color:#006600;">get</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#FF0000;">'sf_charset'</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#41;</span> : <span style="color:#0000FF;">$value</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#006600; font-weight:bold;">&#125;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><a href="http://www.php.net/define"><span style="color:#000066;">define</span></a><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#FF0000;">'ESC_ENTITIES_KANA'</span>, <span style="color:#FF0000;">'esc_entities_kana'</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#000000; font-weight:bold;">?&gt;</span> </div>
</li>
</ol>
</div>
</div>
</div>
<p>
ESC_ENTITIES関数をそのまま流用し、mb_convert_kana関数を付け加えるような、helperを作成した。</p>
<p>そしてsettings.ymlで宣言する。</p>
<p>apps/config/settings.yml</p>
<div class="igBar"><span id="lcode-8"><a href="#" onclick="javascript:showPlainTxt('code-8'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">CODE:</span>
<div id="code-8">
<div class="code">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">all:</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; .<span style="">settings</span>:</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; escaping_strategy:&nbsp; &nbsp; &nbsp; both</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; escaping_method:&nbsp; &nbsp; &nbsp; &nbsp; ESC_ENTITIES_KANA</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; standard_helpers:&nbsp; &nbsp; &nbsp; &nbsp;<span style="color:#006600; font-weight:bold;">&#91;</span>Partial, Cache, Form, EscapingKana<span style="color:#006600; font-weight:bold;">&#93;</span> </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>テンプレートに直接、全角カナを書かれてしまうと、統一されないのが難点。</p>
<p>やっぱFilterかな。。</p>
]]></content:encoded>
			<wfw:commentRss>http://ueblog.natural-wave.com/2008/06/07/symfony-hankana/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://ueblog.natural-wave.com/2008/06/07/symfony-hankana/" />
	</item>
		<item>
		<title>携帯の端末IDとCookieのまとめ</title>
		<link>http://ueblog.natural-wave.com/2008/04/20/mobile-id/</link>
		<comments>http://ueblog.natural-wave.com/2008/04/20/mobile-id/#comments</comments>
		<pubDate>Sun, 20 Apr 2008 12:45:40 +0000</pubDate>
		<dc:creator>ueblog</dc:creator>
				<category><![CDATA[Mobile]]></category>

		<guid isPermaLink="false">http://ueblog.natural-wave.com/2008/04/20/mobile-id/</guid>
		<description><![CDATA[携帯（DoCoMo、Ezweb、Softbank）の端末IDとCookieについてまとめてみました。 携帯の端末ID いわゆる、携帯端末からのアクセスを一意に識別できるID。 DoCoMo 現在（2008年4月）であれば、iモードIDを利用するのが手っ取り早い。URLに"guid=ON"というパラメータをつければ、リクエス]]></description>
			<content:encoded><![CDATA[<p>携帯（DoCoMo、Ezweb、Softbank）の端末IDとCookieについてまとめてみました。</p>
<blockquote><p><strong>携帯の端末ID</strong></p></blockquote>
<p>いわゆる、携帯端末からのアクセスを一意に識別できるID。</p>
<h2><strong>DoCoMo</strong></h2>
<p>現在（2008年4月）であれば、<a href="http://ueblog.natural-wave.com/2008/03/31/docomo-imode-id/">iモードID</a>を利用するのが手っ取り早い。URLに"guid=ON"というパラメータをつければ、リクエストヘッダにHTTP_X_DCMGUIDという名前の値からIDを取得できる仕様。</p>
<p>特徴は下記。</p>
<ul>
<li>SSL環境では取得できない</li>
<li>ユーザ側でIDを送出しない設定ができる</li>
<li>全機種対応</li>
<li>英数字7桁で再利用されない</li>
<li>POSTの場合、Body部分に"guid=ON"があっても送信されない。要はGETパラメータとして付与しないといけない（追記！）</li>
</ul>
<p>参考：<a href="http://www.nttdocomo.co.jp/service/imode/make/content/ip/index.html#imodeid" target="_blank">iモードIDについて：作ろうiモードコンテンツ</a></p>
<h2><strong>Ezweb</strong></h2>
<p>EZ番号という、リクエストヘッダにHTTP_X_UP_SUBNOという名前の値からIDを取得できる仕様。</p>
<p>特徴は下記。</p>
<ul>
<li>全機種対応</li>
<li>ユーザ側でIDを送出しない設定ができる</li>
<li>xxxxxxxxxxxxxx_**.ezweb.ne.jpのようなフォーマット</li>
</ul>
<p>ちなみにSSL環境でも問題なく取得できる。</p>
<p>参考：<a href="http://www.au.kddi.com/ezfactory/tec/spec/4_4.html" target="_blank">KDDI au: そのほかの技術情報 &gt; ユーザーエージェント </a></p>
<h2><strong>Softbank</strong></h2>
<p>USER_AGENTに端末シリアル番号をつけてくれる。SN***********という値の*部分が端末のID。</p>
<p>特徴は下記</p>
<ul>
<li>一部、IDを送出しない機種がある（MEXA搭載端末および、702MO、702sMO ）がその他は現在のところ対応している</li>
<li>ユーザ側で端末IDを送出しない設定ができる</li>
<li>15桁の数字</li>
</ul>
<p>参考：<a href="http://developers.softbankmobile.co.jp/dp/tool_dl/web/useragent.php" target="_blank">ソフトバンク　ユーザーエージェントについて</a></p>
<p>リクエストヘッダにX_JPHONE_UIDという名前の値からIDを取得できる仕様もある。</p>
<p>特徴は下記</p>
<ul>
<li> 対応機種は、P型、W型、3GC型</li>
<li>ユーザ側で端末IDを送出しない設定ができる</li>
<li>16桁の英数字</li>
</ul>
<p><a href="http://developers.softbankmobile.co.jp/dp/tool_dl/web/useragent.php" target="_blank"></a></p>
<blockquote><p><strong>Cookie</strong></p></blockquote>
<p>携帯のCookieの仕様について。</p>
<h2><strong>DoCoMo</strong></h2>
<p>全機種非対応</p>
<p><strong>※更新</strong></p>
<p>iモードブラウザ2.0から正式に対応が決定してます。<br />
<a href="http://www.nttdocomo.co.jp/service/imode/make/content/browser/browser2/new_function/#p06" target="_blank">作ろうiモード：iモードブラウザ2.0新機能一覧</a></p>
<h2><strong>Ezweb</strong></h2>
<p>特徴は下記</p>
<ul>
<li>全機種対応</li>
<li>クッキーはEzwebのゲートウェイサーバに保存される。ただしWAP2.0端末はSSL通信時、端末に保存される。</li>
<li>期限型のみ。期限がないものはデフォルト1日</li>
<li>CookieのValueは4096バイト以内。SSL通信時は1024バイト以内。</li>
</ul>
<p>参考：<a href="http://www.au.kddi.com/ezfactory/tec/spec/cookie.html" target="_blank">KDDI au: そのほかの技術情報 &gt; Cookie</a></p>
<h2><strong>Softbank</strong></h2>
<p>特徴は下記</p>
<ul>
<li> W型、3GC型機種のみ対応</li>
<li>一時型（ブラウザが切られれば無効となる）、期限型両方対応</li>
<li>Secure Cookie対応</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://ueblog.natural-wave.com/2008/04/20/mobile-id/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://ueblog.natural-wave.com/2008/04/20/mobile-id/" />
	</item>
		<item>
		<title>iモードID仕様公開</title>
		<link>http://ueblog.natural-wave.com/2008/03/31/docomo-imode-id/</link>
		<comments>http://ueblog.natural-wave.com/2008/03/31/docomo-imode-id/#comments</comments>
		<pubDate>Mon, 31 Mar 2008 02:35:28 +0000</pubDate>
		<dc:creator>ueblog</dc:creator>
				<category><![CDATA[Mobile]]></category>

		<guid isPermaLink="false">http://ueblog.natural-wave.com/2008/03/31/docomo-imode-id/</guid>
		<description><![CDATA[約束どおりドコモのiモードIDの仕様が公開されていました。 iモードIDについて 仕様は、予想通りURLに"guid=ON"というパラメータをくっつけると、リクエストヘッダにuidパラメータが付与されてサーバに送信されるようです。 http://domain.com/?guid=ON ↓ X-DCMGUID: XXXXXXX (7桁の英数字) GET,POST両方と]]></description>
			<content:encoded><![CDATA[<p>約束どおりドコモのiモードIDの仕様が公開されていました。</p>
<p><a href="http://www.nttdocomo.co.jp/service/imode/make/content/ip/index.html#imodeid" target="_blank">iモードIDについて</a></p>
<p>仕様は、予想通りURLに"<strong>guid=ON</strong>"というパラメータをくっつけると、リクエストヘッダにuidパラメータが付与されてサーバに送信されるようです。</p>
<blockquote><p> http://domain.com/?guid=ON</p>
<p>↓</p>
<p>X-DCMGUID: XXXXXXX (7桁の英数字)</p></blockquote>
<p>GET,POST両方とも対応。また、解約等でも再利用されないIDなので一意が確保できます。ただしSSL環境では取得できない模様。</p>
<p>シンプルですが、URLパラメータにくっつけるっていうのが微妙ですね。</p>
]]></content:encoded>
			<wfw:commentRss>http://ueblog.natural-wave.com/2008/03/31/docomo-imode-id/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://ueblog.natural-wave.com/2008/03/31/docomo-imode-id/" />
	</item>
		<item>
		<title>iモードIDの件</title>
		<link>http://ueblog.natural-wave.com/2008/03/03/imode-id/</link>
		<comments>http://ueblog.natural-wave.com/2008/03/03/imode-id/#comments</comments>
		<pubDate>Sun, 02 Mar 2008 17:04:15 +0000</pubDate>
		<dc:creator>ueblog</dc:creator>
				<category><![CDATA[Mobile]]></category>

		<guid isPermaLink="false">http://ueblog.natural-wave.com/2008/03/03/imode-id/</guid>
		<description><![CDATA[DoCoMoのiモードIDの件はどうなんだろう。 ドコモ、iモードサイトに共通の利用者ID機能「iモードID」の提供を開始 ユーザごとにユニークなIDが振られる、デフォルトで「通知する」設定となっている、Fomaだけでなく、movaも対応などなど・・・ 勝手]]></description>
			<content:encoded><![CDATA[<p>DoCoMoのiモードIDの件はどうなんだろう。</p>
<p><a href="http://japan.cnet.com/mobile/story/0,3800078151,20368352,00.htm" target="_blank">ドコモ、iモードサイトに共通の利用者ID機能「iモードID」の提供を開始</a></p>
<p>ユーザごとにユニークなIDが振られる、デフォルトで「通知する」設定となっている、Fomaだけでなく、movaも対応などなど・・・</p>
<p>勝手サイトを運営するコンテンツプロバイダーにとって、ログインのシームレスさ＋アクセス解析のユニーク数がほぼ正確に出せるなど、かなり良い施策だ。</p>
<p>でも、よくよく資料を読んでみると、</p>
<blockquote><p><a href="http://www.nttdocomo.co.jp/info/notice/page/080228_00.html" target="_blank">重要なお知らせ : 『iモードID』の提供開始について | お知らせ | NTTドコモ </a></p>
<p>●iモードIDの通知について<br />
iモード対応サイトにおいて、アクセス先URL内に予めiモードID用のパラメータを記述しておくことにより、お客様がサイトアクセスした際にiモードIDの通知が行われます。</p></blockquote>
<p>やっぱ、uid=NULLGWDOCOMO的な、URLにパラメータをつけたときにだけ取得できるようだ。</p>
<p>また、パラメータの予約語を増やす気か・・・</p>
<p>せめて、リクエストヘッダーにしてくれ・・・</p>
]]></content:encoded>
			<wfw:commentRss>http://ueblog.natural-wave.com/2008/03/03/imode-id/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://ueblog.natural-wave.com/2008/03/03/imode-id/" />
	</item>
		<item>
		<title>symfonyで携帯のセッションIDを扱う</title>
		<link>http://ueblog.natural-wave.com/2008/02/17/symfony%e3%81%a7%e6%90%ba%e5%b8%af%e3%81%ae%e3%82%bb%e3%83%83%e3%82%b7%e3%83%a7%e3%83%b3id%e3%82%92%e6%89%b1%e3%81%86/</link>
		<comments>http://ueblog.natural-wave.com/2008/02/17/symfony%e3%81%a7%e6%90%ba%e5%b8%af%e3%81%ae%e3%82%bb%e3%83%83%e3%82%b7%e3%83%a7%e3%83%b3id%e3%82%92%e6%89%b1%e3%81%86/#comments</comments>
		<pubDate>Sat, 16 Feb 2008 16:22:59 +0000</pubDate>
		<dc:creator>ueblog</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programing]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[symfony]]></category>

		<guid isPermaLink="false">http://ueblog.natural-wave.com/2008/02/17/symfony%e3%81%a7%e6%90%ba%e5%b8%af%e3%81%ae%e3%82%bb%e3%83%83%e3%82%b7%e3%83%a7%e3%83%b3id%e3%82%92%e6%89%b1%e3%81%86/</guid>
		<description><![CDATA[さて、symfonyで携帯開発第2弾。 セッションIDは、DoCoMoは埋め込み、AU、SoftbankはCookieを利用 これを実現する。セッション部分をオーバーライドして対応するので、複数サーバになった時に対応できるようにセッションをmysqlで管理するようについでに変更す]]></description>
			<content:encoded><![CDATA[<p>さて、symfonyで携帯開発第2弾。</p>
<p><strong>セッションIDは、DoCoMoは埋め込み、AU、SoftbankはCookieを利用</strong></p>
<p>これを実現する。セッション部分をオーバーライドして対応するので、複数サーバになった時に対応できるようにセッションをmysqlで管理するようについでに変更する。</p>
<p>まずは、sfMySQLSessionStorageをオーバーライドするクラスを作成する。<br />
<strong>lib/storage/myMobileSessionStorage.class.php</strong></p>
<div class="igBar"><span id="lphp-13"><a href="#" onclick="javascript:showPlainTxt('php-13'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">PHP:</span>
<div id="php-13">
<div class="php">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#000000; font-weight:bold;">&lt;?php</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#000000; font-weight:bold;">class</span> myMobileSessionStorage extends sfMySQLSessionStorage</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; public <span style="color:#000000; font-weight:bold;">function</span> initialize<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#0000FF;">$context</span>, <span style="color:#0000FF;">$parameters</span> = <span style="color:#000000; font-weight:bold;">null</span><span style="color:#006600; font-weight:bold;">&#41;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; <span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color:#FF9933; font-style:italic;">//E_STRICT NOTERROR VIEW</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color:#0000FF;">$er</span> = <a href="http://www.php.net/error_reporting"><span style="color:#000066;">error_reporting</span></a><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color:#616100;">if</span> <span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#0000FF;">$er</span>&gt; E_STRICT<span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp;&nbsp; &nbsp;<a href="http://www.php.net/error_reporting"><span style="color:#000066;">error_reporting</span></a><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#0000FF;">$er</span> - E_STRICT<span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color:#006600; font-weight:bold;">&#125;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color:#616100;">require_once</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#FF0000;">'Net/UserAgent/Mobile.php'</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color:#0000FF;">$agent</span> = &amp;Net_UserAgent_Mobile::<span style="color:#006600;">singleton</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color:#616100;">if</span> <span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#0000FF;">$agent</span>-&gt;<span style="color:#006600;">isDoCoMo</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#41;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp;&nbsp; &nbsp;<a href="http://www.php.net/ini_set"><span style="color:#000066;">ini_set</span></a><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#FF0000;">"session.use_trans_sid"</span>, <span style="color:#CC66CC;color:#800000;">1</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color:#006600; font-weight:bold;">&#125;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; parent::<span style="color:#006600;">initialize</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#0000FF;">$context</span>, <span style="color:#0000FF;">$parameters</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; <span style="color:#006600; font-weight:bold;">&#125;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#006600; font-weight:bold;">&#125;</span> </div>
</li>
</ol>
</div>
</div>
</div>
<p>
通常は、factories.ymlにsfMySQLSessionStorageを利用するように宣言するのだが、ソースのようにしてそれを携帯のアプリケーションの場合は登録するようにする。ちなみにドコモの場合のみini_setし、それ以外は通常通りクッキーを利用する。</p>
<p><strong>apps/app_dir/config/factories.yml</strong></p>
<div class="igBar"><span id="lcode-14"><a href="#" onclick="javascript:showPlainTxt('code-14'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">CODE:</span>
<div id="code-14">
<div class="code">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">all:</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; storage:</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; class:&nbsp; myMobileSessionStorage</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; param:</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; db_table:&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; session</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; db_id_col:&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;id</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; db_data_col:&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;data</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; db_time_col:&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;updated_at</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; database:&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; propel</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; session_cookie_domain:&nbsp; &nbsp;.<span style="">domain</span>.<span style="">com</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; session_name:&nbsp; &nbsp; &nbsp; &nbsp; s </div>
</li>
</ol>
</div>
</div>
</div>
<p>
これで、app_dirアプリケーション以下のドコモの場合のみ、URLにセッションIDがリンクに付与されるようになる。</p>
<p>そう、セッションテーブルを作成するのを忘れてはいけない。<br />
<strong>config/schema.yml</strong></p>
<div class="igBar"><span id="lcode-15"><a href="#" onclick="javascript:showPlainTxt('code-15'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">CODE:</span>
<div id="code-15">
<div class="code">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">propel:</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; session:</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; _attributes:&nbsp; <span style="color:#006600; font-weight:bold;">&#123;</span> phpName: Session <span style="color:#006600; font-weight:bold;">&#125;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; id:&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color:#006600; font-weight:bold;">&#123;</span> type: varchar<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#800000;color:#800000;">32</span><span style="color:#006600; font-weight:bold;">&#41;</span>,&nbsp; primaryKey: true, required: true <span style="color:#006600; font-weight:bold;">&#125;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; data:&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color:#006600; font-weight:bold;">&#123;</span> type: longvarchar <span style="color:#006600; font-weight:bold;">&#125;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; updated_at:&nbsp; &nbsp;<span style="color:#006600; font-weight:bold;">&#123;</span> type: integer <span style="color:#006600; font-weight:bold;">&#125;</span> </div>
</li>
</ol>
</div>
</div>
</div>
<p>
これをsymfonyコマンドを利用して、テーブル作成する。</p>
<p>じつは、これだけでは足りない。actionクラスなどで、リダイレクトする場合はセッションIDが付与されない。そのため、</p>
<div class="igBar"><span id="lphp-16"><a href="#" onclick="javascript:showPlainTxt('php-16'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">PHP:</span>
<div id="php-16">
<div class="php">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#0000FF;">$this</span>-&gt;<span style="color:#006600;">redirect</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#FF0000;">'module/action?'</span>.SID<span style="color:#006600; font-weight:bold;">&#41;</span>; </div>
</li>
</ol>
</div>
</div>
</div>
<p>
このように引き継がないといけない。これもドコモだったらみたいなif文を書かないといけないのか、それとも害はなさそうなので全部そうしてしまうか・・・</p>
<p>redirect関数もオーバーライドすればいけそうだが、そこに関してはまた後で研究することにする（手抜き）</p>
]]></content:encoded>
			<wfw:commentRss>http://ueblog.natural-wave.com/2008/02/17/symfony%e3%81%a7%e6%90%ba%e5%b8%af%e3%81%ae%e3%82%bb%e3%83%83%e3%82%b7%e3%83%a7%e3%83%b3id%e3%82%92%e6%89%b1%e3%81%86/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://ueblog.natural-wave.com/2008/02/17/symfony%e3%81%a7%e6%90%ba%e5%b8%af%e3%81%ae%e3%82%bb%e3%83%83%e3%82%b7%e3%83%a7%e3%83%b3id%e3%82%92%e6%89%b1%e3%81%86/" />
	</item>
		<item>
		<title>symfonyでPEAR::Net_UserAgent_Mobileを使う</title>
		<link>http://ueblog.natural-wave.com/2008/02/16/symfony%e3%81%a7pearnet_useragent_mobile%e3%82%92%e4%bd%bf%e3%81%86/</link>
		<comments>http://ueblog.natural-wave.com/2008/02/16/symfony%e3%81%a7pearnet_useragent_mobile%e3%82%92%e4%bd%bf%e3%81%86/#comments</comments>
		<pubDate>Fri, 15 Feb 2008 15:25:35 +0000</pubDate>
		<dc:creator>ueblog</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programing]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[symfony]]></category>

		<guid isPermaLink="false">http://ueblog.natural-wave.com/2008/02/16/symfony%e3%81%a7pearnet_useragent_mobile%e3%82%92%e4%bd%bf%e3%81%86/</guid>
		<description><![CDATA[symfonyで携帯開発、第1弾。 機種の判定をテンプレートとプログラムでできるようにする を実現する。 Perlでは有名なcpanモジュール、HTTP::MobileAgent。PHPでも同じようなモジュール、 PEAR::Net_UserAgent_Mobileがあるようだ。 さっそくインストール。pearを使って、簡単にインストールでき]]></description>
			<content:encoded><![CDATA[<p>symfonyで携帯開発、第1弾。</p>
<p><strong>機種の判定をテンプレートとプログラムでできるようにする</strong></p>
<p>を実現する。</p>
<p>Perlでは有名なcpanモジュール、<a href="http://search.cpan.org/~kurihara/HTTP-MobileAgent-0.26/lib/HTTP/MobileAgent.pm" target="_blank">HTTP::MobileAgent</a>。PHPでも同じようなモジュール、 <a href="http://pear.php.net/package/Net_UserAgent_Mobile/" target="_blank">PEAR::Net_UserAgent_Mobile</a>があるようだ。</p>
<p>さっそくインストール。pearを使って、簡単にインストールできる。</p>
<blockquote><p>pear install -f -o net_userAgent_mobile</p></blockquote>
<p>さてsymfonyで、どのように利用するのがいいのか。その場でrequire_onceしてしまっても問題ないが、symfonyの場合、フィルターを使えば、共通なインターフェースで利用できそうなので、フィルターを作ってみる。</p>
<p><strong>app/app_dir/lib/myMobileFilter.class.php</strong></p>
<div class="igBar"><span id="lphp-21"><a href="#" onclick="javascript:showPlainTxt('php-21'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">PHP:</span>
<div id="php-21">
<div class="php">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#000000; font-weight:bold;">&lt;?php</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#000000; font-weight:bold;">class</span> myMobileFilter extends sfFilter</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; public <span style="color:#000000; font-weight:bold;">function</span> execute <span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#0000FF;">$filterChain</span><span style="color:#006600; font-weight:bold;">&#41;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; <span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; <span style="color:#616100;">if</span> <span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#0000FF;">$this</span>-&gt;<span style="color:#006600;">isFirstCall</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#41;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; <span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color:#0000FF;">$er</span> = <a href="http://www.php.net/error_reporting"><span style="color:#000066;">error_reporting</span></a><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color:#616100;">if</span> <span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#0000FF;">$er</span>&gt; E_STRICT<span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; <a href="http://www.php.net/error_reporting"><span style="color:#000066;">error_reporting</span></a><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#0000FF;">$er</span> - E_STRICT<span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color:#006600; font-weight:bold;">&#125;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color:#616100;">require_once</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#FF0000;">'Net/UserAgent/Mobile.php'</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color:#0000FF;">$agent</span> = Net_UserAgent_Mobile::<span style="color:#006600;">singleton</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color:#0000FF;">$this</span>-&gt;<span style="color:#006600;">getContext</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span>-&gt;<span style="color:#006600;">getRequest</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span>-&gt;<span style="color:#006600;">setAttribute</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#FF0000;">'agent'</span>, <span style="color:#0000FF;">$agent</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; <span style="color:#006600; font-weight:bold;">&#125;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; <span style="color:#FF9933; font-style:italic;">// execute next filter</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; <span style="color:#0000FF;">$filterChain</span>-&gt;<span style="color:#006600;">execute</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; <span style="color:#006600; font-weight:bold;">&#125;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#006600; font-weight:bold;">&#125;</span> </div>
</li>
</ol>
</div>
</div>
</div>
<p>
フィルターのご作法にのっとり、とりあえず書いてみた。14行目で"agent"という属性を予約して、オブジェクトをぶち込んでいる。</p>
<p>8～11行目のエラーの取り扱いは、なぜかdevモードでNet_UserAgent_Mobileをrequire_onceすると、Strict Standards:~というwarningが気になったので、入れている。</p>
<p>filterを登録するには下記のようにfilters.ymlを編集する。</p>
<p><strong>app/app_dir/config/filters.yml</strong></p>
<div class="igBar"><span id="lcode-22"><a href="#" onclick="javascript:showPlainTxt('code-22'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">CODE:</span>
<div id="code-22">
<div class="code">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">rendering: ~</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">web_debug: ~</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">security:&nbsp; ~</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">myMobileFilter:</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; class: myMobileFilter</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">cache:&nbsp; &nbsp; &nbsp;~</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">common:&nbsp; &nbsp; ~</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">flash:&nbsp; &nbsp; &nbsp;~</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">execution: ~ </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>そして利用する場合、actionクラス内なら</p>
<div class="igBar"><span id="lphp-23"><a href="#" onclick="javascript:showPlainTxt('php-23'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">PHP:</span>
<div id="php-23">
<div class="php">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#616100;">if</span> <span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#0000FF;">$this</span>-&gt;<span style="color:#006600;">getRequest</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span>-&gt;<span style="color:#006600;">getAttribute</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#FF0000;">'agent'</span><span style="color:#006600; font-weight:bold;">&#41;</span>-&gt;<span style="color:#006600;">isDoCoMo</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#006600; font-weight:bold;">&#125;</span> </div>
</li>
</ol>
</div>
</div>
</div>
<p>
view内なら</p>
<div class="igBar"><span id="lphp-24"><a href="#" onclick="javascript:showPlainTxt('php-24'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">PHP:</span>
<div id="php-24">
<div class="php">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#000000; font-weight:bold;">&lt;?php</span> <span style="color:#616100;">if</span> <span style="color:#0000FF;">$sf_request</span>-&gt;<span style="color:#006600;">getAttribute</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#FF0000;">'agent'</span><span style="color:#006600; font-weight:bold;">&#41;</span>-&gt;<span style="color:#006600;">isDoCoMo</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#41;</span>: <span style="color:#000000; font-weight:bold;">?&gt;</span> </div>
</li>
</ol>
</div>
</div>
</div>
<p>
こんな感じで呼び出し可能。</p>
<p>sfRequestに詰め込むのが、ちょっと気持ち悪い気もするが、これでいいのか、もう少し検証が必要。</p>
<p>なお、Net_UserAgent_Mobileは、結構更新されるようなので、<a href="http://pear.php.net/feeds/latest.rss" target="_blank">Pearの更新RSSフィード</a>を取得しておけば、運用面も安心だ。</p>
]]></content:encoded>
			<wfw:commentRss>http://ueblog.natural-wave.com/2008/02/16/symfony%e3%81%a7pearnet_useragent_mobile%e3%82%92%e4%bd%bf%e3%81%86/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://ueblog.natural-wave.com/2008/02/16/symfony%e3%81%a7pearnet_useragent_mobile%e3%82%92%e4%bd%bf%e3%81%86/" />
	</item>
		<item>
		<title>symfonyで携帯開発の指針</title>
		<link>http://ueblog.natural-wave.com/2008/02/12/symfony-mobile/</link>
		<comments>http://ueblog.natural-wave.com/2008/02/12/symfony-mobile/#comments</comments>
		<pubDate>Mon, 11 Feb 2008 17:17:42 +0000</pubDate>
		<dc:creator>ueblog</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programing]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[symfony]]></category>

		<guid isPermaLink="false">http://ueblog.natural-wave.com/2008/02/12/symfony-mobile/</guid>
		<description><![CDATA[PHPのsymfonyフレームワークを使って、携帯Web開発する場合の指針を書いてみた。 指針 対応機種は、DoCoMoのFoma,PDC、AUは3GC対応端末、Softbankも3GCのみ Web、メールともに絵文字変換はキャリア側の変換に頼る 画像はjpeg,gifのみを利用 ページサイズはxhtmlが9KB以内、全体で100KB以内 1テンプ]]></description>
			<content:encoded><![CDATA[<p>PHPのsymfonyフレームワークを使って、携帯Web開発する場合の指針を書いてみた。</p>
<p><strong>指針</strong></p>
<ul>
<li>対応機種は、DoCoMoのFoma,PDC、AUは3GC対応端末、Softbankも3GCのみ</li>
<li>Web、メールともに絵文字変換はキャリア側の変換に頼る</li>
<li>画像はjpeg,gifのみを利用</li>
<li>ページサイズはxhtmlが9KB以内、全体で100KB以内</li>
<li>1テンプレートで全キャリア対応</li>
</ul>
<p><a href="http://pub.studio15.jp/2008/02/04/mobile-website-2008-2/" target="_blank">jkondoに憧れて » 超手抜きでウェブサイトをモバイル対応 2008</a></p>
<p>こちらの方に影響されてます・・・</p>
<p>そして、 <strong>やるべきこと</strong>は、</p>
<ul>
<li><a href="http://ueblog.natural-wave.com/2008/02/16/symfony%e3%81%a7pearnet_useragent_mobile%e3%82%92%e4%bd%bf%e3%81%86/" target="_blank">機種の判定をテンプレートとプログラムでできるようにする</a></li>
<li><a href="http://ueblog.natural-wave.com/2008/02/17/symfony%e3%81%a7%e6%90%ba%e5%b8%af%e3%81%ae%e3%82%bb%e3%83%83%e3%82%b7%e3%83%a7%e3%83%b3id%e3%82%92%e6%89%b1%e3%81%86/" target="_blank">セッションIDは、DoCoMoは埋め込み、AU、SoftbankはCookieを利用</a></li>
<li>ログイン時などは、セッションIDを入れ替える</li>
<li>携帯キャリアGWからのIPチェックを判定できるようにする</li>
<li>絵文字入力を永続層へ格納、出力できるようにする</li>
<li>CSSはインラインで書き、HTMLはxhtml basicで書く（PDCはHTML）</li>
<li>Webの文字コードはShift_JIS</li>
<li>uidを取得できない端末は非対応ページに飛ばすようにする</li>
<li>Webアクセスのユニーク数の計測をできるようにする</li>
<li>デコメール送信できるようにする</li>
</ul>
<p>と、こんな感じ。</p>
<p>なお、プロジェクトの中に、PC用ページ、携帯用ページが混在し、アプリケーションレベルで分けることを意識する。</p>
<p>次回以降、ひとつずつ解決していくのでお楽しみに。</p>
]]></content:encoded>
			<wfw:commentRss>http://ueblog.natural-wave.com/2008/02/12/symfony-mobile/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://ueblog.natural-wave.com/2008/02/12/symfony-mobile/" />
	</item>
		<item>
		<title>携帯端末IDのはなし</title>
		<link>http://ueblog.natural-wave.com/2007/12/06/%e6%90%ba%e5%b8%af%e7%ab%af%e6%9c%abid%e3%81%ae%e3%81%af%e3%81%aa%e3%81%97/</link>
		<comments>http://ueblog.natural-wave.com/2007/12/06/%e6%90%ba%e5%b8%af%e7%ab%af%e6%9c%abid%e3%81%ae%e3%81%af%e3%81%aa%e3%81%97/#comments</comments>
		<pubDate>Wed, 05 Dec 2007 15:43:54 +0000</pubDate>
		<dc:creator>ueblog</dc:creator>
				<category><![CDATA[Mobile]]></category>

		<guid isPermaLink="false">http://ueblog.natural-wave.com/2007/12/06/%e6%90%ba%e5%b8%af%e7%ab%af%e6%9c%abid%e3%81%ae%e3%81%af%e3%81%aa%e3%81%97/</guid>
		<description><![CDATA[携帯コンテンツを作成するにあたって、セッション管理をするために何をセッションIDとするか。クッキーを利用できない端末でユーザーにデータを保持させることができないという壁があるため、リクエストパラメーターにセ]]></description>
			<content:encoded><![CDATA[<p>携帯コンテンツを作成するにあたって、セッション管理をするために何をセッションIDとするか。クッキーを利用できない端末でユーザーにデータを保持させることができないという壁があるため、リクエストパラメーターにセッションIDを埋め込む、もしくは携帯端末特有の端末IDをセッション代わりに利用するという2つの方法がある。</p>
<p>セッションIDをリクエストパラメーターに含めてしまうと、ブックマークしたURLを他人に渡してしまうことで、簡単に他人になりすますことができる。セッションIDに何かしら意味を持たせる、もしくはセッションコンテナーにUSER_AGENTなどの情報を入れて付き合わせる、などの方法である程度は、なりすましが防げるが全く完璧な方法ではない。</p>
<p>そこで、携帯端末のIDを利用する方法がよく使われる。</p>
<p>DoCoMo(非公式サイト)　utnをformタグに書くことにより、USER_AGENTから端末IDの取得が可能。</p>
<p>DoCoMo(公式サイト)　リクエストパラメータにuid=12バイト文字列(NULLGWDOCOMOなど)を与えることでDoCoMoのGWで端末固有のidに変換してくれる。</p>
<p>AU　リクエストヘッダ　x-up-subno</p>
<p>SoftBank リクエストヘッダ x-jphone-uid</p>
<p>サーバーに携帯GWからのIP制限をすることにより、DoCoMo公式サイトによる方法の場合、偽装することは不可能。</p>
<p>しかしAUとSoftBankのような、リクエストヘッダ形式を利用する場合は、サーバー側で偽装に気づくことは難しい。<br />
携帯GWからのIP制限をすれば、現状のモバイルフォンブラウザにヘッダを書き換えるような機能がない（はず）ため、偽装することは不可能となっている。</p>
<p>しかししかし！こんなキャリアに思いっきり依存する、あやうい実装でいいのか！今どき端末でJavaも動くし、これからGoogleのAndroidのようなオープンな環境が携帯端末に実装されれば、いろんなブラウザが入る可能性がこれから見えているのである。</p>
<p>どうする、どうする。</p>
<p>いや、答えは簡単。<br />
「<strong>早くクッキーを使えるようにしろ！</strong>」<br />
というだけ。PCと同じ環境ですよ。アフィリエイト業界も喜ぶでしょう。</p>
<p>端末IDについていろいろ調べていると、<br />
<a href="http://d.hatena.ne.jp/y-kawaz/20070228" target="_blank">携帯業界の認証事情 Part2</a></p>
<p><a href="http://tdiary.seesaa.net/article/34706954.html" target="_blank">携帯で端末ID詐称は可能かもしれない話CommentsAdd Star</a><br />
で言及されてました。</p>
<p>ついでにDoCoMoは、「<strong>Refererを早く開放しろ！！</strong>」</p>
]]></content:encoded>
			<wfw:commentRss>http://ueblog.natural-wave.com/2007/12/06/%e6%90%ba%e5%b8%af%e7%ab%af%e6%9c%abid%e3%81%ae%e3%81%af%e3%81%aa%e3%81%97/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://ueblog.natural-wave.com/2007/12/06/%e6%90%ba%e5%b8%af%e7%ab%af%e6%9c%abid%e3%81%ae%e3%81%af%e3%81%aa%e3%81%97/" />
	</item>
	</channel>
</rss>

