今、別案件でフレームワークEthna(えすな)を使った携帯向けサイトを構築していますが、そのときに使った携帯でセッションを保持するための処理をメモ。 .htaccessに php_flag session.use_trans_sid On を書いてもいいですが(session.use_trans_sidについては前に書いた記事を参考に)、PC向けの画面も同じ階層にいたりするので、PHPで制御するやり方です。 ログインなどでセッションをスタートした後に output_add_rewrite_var(session_name(), session_id()); を記述して携帯用の共通のコントローラで同じく output_add_rewrite_var(PHPマニュアル) を記述すればO.K。 session.use_trauns_sidだけでいけると思ったけどダメだった。環境はPHP5.1.6
PHPでログインページを作ったりするときに、よくセッションを使ったりすると思いますが、 じゃあセッションってどのようになってるのでしょうか。 [参考]セッション固定攻撃 [参考]GPC(GET/POST/cookie)以外の情報を送るアラワザ [参考]アンダーバーのあるドメインではセッションクッキーは使用できません セッションの破棄されるタイミング ガベージコレクト(ガベージコレクション、ガーベッジコレクション、ガーベッジコレクタともいわれます)とは、『ごみ拾い』という意味です。 session_start()が行われたときに、session.gc_probabilityを分子、session.gc_divisorを分母とする確率で、 session.gc_maxlifetimeよりファイル更新日付の古いファイルをsession.save_pathから削除します。 デフォルトでは、1/10
coreのSession.timeoutを長めに設定していても、php.iniの設定によってはそれより早くセッションが切れてしまう。 これはphpのガベージコレクション*1が働いているのが原因。 解決するにはcore.phpに以下のように書く。 <?php Configure::write("Session.save", "cake"); Configure::write("Security.level", "medium"); // セッションは24時間でタイムアウトし、 Configure::write("Session.timeout", 24 * 60 * 60 /100); // それ以降にリクエストがある度、 ini_set("session.gc_maxlifetime", 24 * 60 * 60); // 1/100の確立でガベージコレクションを行う。 ini_set("
って、そんな機会これまでなかったっす。って、久々の実験ネタ。 そもそも、はじめはデフォルトのファイルによるセッション情報の管理をしていたんですけど、考えてみれば、って、考えなくても、接続先のWebサーバをロードバランサに変えられたら、照会すべきセッション情報が無いから、セッション切れちゃうんですよね。早く気付け自分。 で、こちらにも書かれているように、この場合DBで保持するのが吉と。 PHPのセッションをDBに格納するチュートリアル 複数のウェブサーバーで負荷分散しているような場合、デフォルトのファイルシステムを使う方法ではセッションはきちんと動作しませんね。 こういう場合にDBにセッション情報を格納しますが、そのチュートリアル。 テーブルの定義に始まってsession_set_save_handler()を使ってセッション機能を独自に実装していきます。 で、これに従って、ハンドラを定義し
Photo Location Maroon Bells, CO 39.0508° N 107.0208° W “Although there is no substitute for merit in writing, clarity comes closest to being one.” · E. B. WHITE Published in PHP Magazine on 14 Dec 2004 Welcome to another edition of Guru Speak. I believe that one of the hallmarks of a good writer is the ability to mold a complex topic into something both palatable and interesting. These are the cha
mlmlml @ lily.freemail.ne.jp mlmlml @ lily.freemail.ne.jp 2004年 11月 6日 (土) 12:59:51 JST 前の記事 [PHP-users 23549]PEAR日本語マニュアル 次の記事 [PHP-users 23553]Re: 携帯サイト構築についてメモ 記事の並び順: [ 日付 ] [ スレッド ] [ 件名 ] [ 著者 ] tetuoです。 PHPで携帯サイトを作る場合、internal encodingがShift-JISにしたいが*出来な い*場合があるのではないかと思います。 (確か、Shift-JISに設定できるPHPはあったと思いますが) 携帯サイトをEUC-JPベースで作る際、実際に動いたメモを残しておきます。 (完全ではないと思いますし、世の中にはより良い方法があるかと思います。携 帯サイトをEUC-
■ 32 文字の SHA-1 ハッシュ値を返す関数 先日書いたように、 session.hash_bits_per_character = 5 に設定すると、 SHA-1 を用いたセッション ID を 32 文字で表現できる。 これと同じように、sha1() 関数の返り値も 32 文字の文字列にすることを考えてみた。 残念なことに sha1() 関数にそういったオプションは存在しないが、 検索してみると、rsky さんの作った関数が見つかった。 ハッシュに MD5 を使っているアプリケーションをデータベースのテーブル定義等を変更せずに SHA-1 に移行するために 4bit × 40文字でなく、5bit × 32文字のハッシュを返す関数をつくってみた。 function sha1_32($str) { $hex = sha1($str); $hash = ''; $c = array_ma
Summary 設定すべき項目は以下. ;; Disable Output Buffering output_buffering = Off ;; Set HTTP header charset ; default_charset = EUC-JP ;; Set default language to Japanese mbstring.language = Japanese ;; HTTP input encoding translation is enabled. mbstring.encoding_translation = off ;; Set HTTP input encoding conversion to auto mbstring.http_input = pass ;; Convert HTTP output to EUC-JP mbstring.http_output
PHPで開発してるときに、ふと「リダイレクトは絶対URLで書かなきゃいけないんだったかな?」と思った。 相対パスでもたいていのブラウザは動くが、動かないのもあるだろうし、相対パスの場合と絶対URLの場合を逆に覚えていたらめんどうなことになるので調べてみた。 HTTP/1.1では、スキーム、ホスト名、絶対パスを含む絶対 URIがLocation:の引数として必要だが、いくつかのクライアントでは相対URIも受ける。 - PHP: header - Manual 携帯では絶対URIで書かないと意図した動作をしない場合がある。 - header関数について - PHPプロ!Q&A掲示板 N505で相対パスが動かなかったような気が。 - header関数について - PHPプロ!Q&A掲示板 RFC2616で絶対URLでなければならないと決められている。 - RFC2616 - World Wide
XMLパースエラー回避方法 index.phpでPC用と携帯用のテンプレートへ振り分けています。(Smarty使用) 携帯でスタイルシートを使う為に、index.phpの先頭で header("Content-type: application/xhtml+xml");を設定すると PC側ではXMLパースエラーが生じます。 エラー内容「XML パースエラー: 定義されていない実体が使用されています。」 回避するために色々やってみました。 1、&や などを使わない 2、PCの時は再度header("Content-type: text/html");を設定 3、DOCTYPEのstrictをTransitionalに変更 この状態だとエラーは出ませんが、1の方法はエンコード処理できなくなりますので無理です。 2、3の方法は問題がないのでしょうか。 できればindex.php
使用方法がよく分からないとの意見があったので、今回は使用方法について説明しようと思います。 以下がMPCを使用する上で、最もシンプルなコードです。 <?php require_once 'MobilePictogramConverter.php'; $str = pack('H*', 'F89F'); // DoCoMo 絵文字 (太陽のマーク) $mpc =& MobilePictogramConverter::factory($str, MPC_FROM_FOMA, MPC_FROM_CHARSET_SJIS); echo $mpc->autoConvert(); ?> 上記コードの実行結果 これを実行すると、アクセス元のユーザーエージェントにより、各キャリアの絵文字に変換されます。 とりあえず、MPCに当たる部分を説明して行きます。 $mpc =& MobilePictogramCo
トップ > 設置の基本 > 絵文字の表示について 目次 MobilePictogramConverterの導入 ファイルの入手 ファイルのアップロード 設定ファイルの編集 MobilePictogramConverterの導入 PHP Labo で配布しているプログラムは、MobilePictogramConverterを導入することにより携帯の絵文字を表示できます。 注意点 パソコンからの絵文字入力は、DocomoのWeb入力コード(Unicode)で行います。 メールを送信する際、絵文字はすべて削除されます。 メール投稿機能などでメールを受信する際、絵文字は正しく反映されません。 ファイルの入手 MobilePictogramConverterは、以下の公式サイトからダウンロードすることができます。 MobilePictogramConverter 絵文字変換ライブラリ ダウンロード
2009年03月19日18:00 カテゴリLightweight Languages 「PHP使いはもう正規表現をblogに書くな」と言わせないでくれ ああ、まただよ... かなり使えるPHPの正規表現まとめ - IDEA*IDEA 〜 百式管理人のライフハックブログ 〜 正規表現って、プログラミング言語間の差が少ないサブ言語なのに、なぜ「PHP」がつくとダメ正規表現ばかり登場するのか。うんざりだ。 かなり使えるPHPの正規表現まとめ - IDEA*IDEA 〜 百式管理人のライフハックブログ 〜メールアドレスは厳密にチェックしようとするとなかなか難しいのですが、簡単なチェックだったらこれでOKぽいですね。 /^[^0-9][a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)*[@][a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)*[.][a-zA-Z]{2,4}$
最近、新規プロジェクト案件で携帯サイトの構築についていろいろ調査をしています。最初から携帯サイトの構築については、 かなりいろいろな点で懸念はしていたのですが、蓋を開けてみると「やはり、、」と、いうかハマる点がかなり多いです。 そもそも、今回のプロジェクトにおいていろいろなサイトを調査していたのですが、 まだまだPCサイト(XHTML+CSS+JavaScriptなサイト)に比べて、有益な情報がまとまっていないなぁ、、という感想です。 ウノウラボさんは本当に素晴らしい情報を開示してくださっていると思いましたが、 かゆいところに手が届くような情報はまだまだ世の中に広がっていないようですので、 僕が調べた点や、実装を進める上で得たTipsなどを共有していきたいと思います。 そこで、今回はPHPで携帯サイトを実装する上でのTipsを記しておきたいと思います。 対象機種を3Gに絞る 携帯サイトの構
自分の運営するWebサイトにアンケートシステムを組み込みたい場合、あなたならどうするだろうか? そうした要望は、多機能でセットアップも容易なLimeSurveyというツールを使うことで簡単にかなえられてしまう。 現在LimeSurveyと呼ばれているプロジェクトは、2003年にPHPSurveyorという名称で設立された。現行のプロジェクト名への変更が行われたのは先月のことで、これはタイトルからPHPという表記を削除することでライセンス問題の一部を解消するための措置である。 LimeSurveyのアプリケーションについては、とりあえずデモ版を試用することも、完全版をダウンロードすることもできる。 通常のセットアップでLimeSurveyを運用する場合は、PHPをインストールしたサーバおよびデータ格納用のMySQLデータベースが必要となる。自分の技量でサーバへのインストールを行うのが不安であ
(Last Updated On: 2018年8月13日)一見徳丸さんのブログは分かりやすいように思えますが、それは単純な実験により分かりやすいように見えるだけで複数の間違いがあります。 その間違いとは 意図の取り違い – 誤読 言語の仕様と実装の理解不足 HTTPやPHP仕様の理解不足 セキュリティ対策をすべき場所の理解不足 です。(※0) 徳丸さんは非常勤とは言え、国の出先機関の研究員であるし、その出先機関は職務放棄とも言える文書(「例えば、PHPを使用しない」と勧める文書)を公開している(いた?)のでしっかり反論しておく必用がありますね。IPAのあの文書は職務放棄と言える文書だと思っています。これについても後で意見を述べます。 意図の取り違い – 誤読 最初の間違いは私のブログのエントリ「何故かあたり前にならない文字エンコーディングバリデーション」に対する理解です。特にPHPユーザに
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く