0

【IE6】facebookページからinframeで読み込んだアプリがCookieを受け付けない現象

変な日本語だな。
facebookアプリを作っていているドキュメントは古いわ、仕様は急に変わるわで、日本のソーシャルアプリをやってる感覚でやってると痛い目にあいます。
試行錯誤を繰り返し開発中に一つ大きく嵌まったのが、IE6でログイン状態がとれない。
普通のアプリを動かしてる場合は問題ないけど、アプリをfacebookページのiframeで読みこんで動かしてる時に発生する。
この状況で、ログイン状態がとれない→sessionが使えてない→Cookieが使えてないと気付くまでが長かった。

IE6はデフォルトだと、自分以外のドメインから来た Cookie は受け入れないようになっています。
確かに受け入れると危険だなーと思う気もするけど、iframeの内と外が別ドメインの場合困った事になります。
解決方法は、明示的に自分以外のドメインからのCookieも受け入れるようにヘッダーに情報を付与する事です。

phpだと、
header("P3P: CP='UNI CUR OUR'");
のようにすれば、Cookieを読み込めるようになります。

P3PというのはW3Cの仕様です。IE6、こういうところはW3Cの仕様に準拠してるんですね。
CPが「コンタクトポリシー」の略。
他にも、”NON DSP ADM DEV PSD IVDo OUR IND STP PHY PRE NAV UNI”ってのがあります。
今回、ヘッダーに埋め込んだ3つは、以下の通りです。

UNI
個人を識別するために生成されるID

CUR
情報は、情報提供や通信、双方向サービスなど、利用者がそのために情報を与えたところの活動を遂行するために、サービス提供者によって利用されるかもしれない。

OUR
当組織または当組織の業務を委託している法人やサイトの運営者

facebookアプリは色々嵌りポイントがあるけどとりあえずはこれ。

0

APC

微妙な時間が空いたので、メモレベルで貯めてたものをブログを書いてみる。
phpのアクセレータで有名なAPCの最新版は実はphp5.3に対応してないので、beta版を入れないとダメ。

pecl install apc-beta

コンパイルでコケる。

yum install -y httpd-devel pcre-devel

httpd-develはともかくpcre-develなんて入ってないのでこれをyumで入れる。

無事インストールが完了すれば、php.iniに追記して完了。
extension=apc.so

インストールが簡単なのに効果は抜群。
インストールするだけでLoad Average半分くらいに減ります。

0

ツイエバ現状

地味なスタートを切ったはずのツイエバが、想定外のスピードで目標(限界)としてたユーザー数に達したので新規登録を一旦ストップしました。
webとdbとかの負荷はまったく余裕で、問題なのはクローラーの配送のスピードと正確さです。
「ツイートを翌日届ける」といっても翌日の23:59とかに届いてたらあまり意味もないし、ひょっとしたら届かないかもってサービスも困りモノなのでそこに注力してます。目標は12時までに100%配送させるということでそれが達成できなさそうなのが止めた理由です。
金をかければ、ec2でクローラーのインスタンスを新たに立ち上げてスケールアウトして対処すればいい(一応そんな設計にしてる)のだけど、そんなお金をこの少ないお小遣いから捻出することができずにアプリケーション側をチューニング中です。
急遽ということで、会社のサーバーも少し融通してもらいました。
今週中にこのチューニングを完成させて要望のあった機能追加を行います。

  • ハッシュタグにリンクをつける
  • 時系列を昇順降順にするかを選択できるように
  • 日付を指定してEvernoteにツイートを送れるように

そんな感じです。

0

Twitterのつぶやきやお気に入り等をEvernoteに自動保存するtwieve公開しました


管理画面のアイパスを忘れるくらい久しぶりの更新です。

ゴールデンウィークどこにも行かずに細々と作り始めたtwieveというサービスがようやく公開する事ができました。
タイトルのままですが、twieveとはTwitterのツイート、ダイレクトメッセージ、お気に入り、リツイートをまとめて毎日Evernoteに配送するサービスです。
日々のツイートをライフログとして保存するのも良し、お気に入りだけを保存してあとで読み返すのも良し、とりあえずEvernoteに保存しておくというのも良しです。

twieveでは短縮URLを展開して、画像もサムネイル化してEvernoteに配送し検索に引っかかりやすくしています。
Evernoteをタグやノートブックでガチガチに整理してなくて、ただポンポン情報を保存させて検索で情報を掘り返すという使い方をしてる人にはお役に立てるのではと思っています。

ちなみに「ツイエバ」と読みます。ツイッターとエバーノートで「ツイエバ」です。なんとも安直な名前ですね。
はてなブックマークを全文化してEvernoteに保存するhatebteも合わせてよろしくお願いします。