From ram @ hatsuho.co.jp Mon May 2 10:53:21 2011 From: ram @ hatsuho.co.jp (ram) Date: Mon, 02 May 2011 10:53:21 +0900 Subject: [PHP-users 35558] =?iso-2022-jp?b?cG9zdBskQkw/TmEkcjx1JDE8aCRrJTUlJCVIJFgkTiU3GyhC?= =?iso-2022-jp?b?GyRCJXMlMCVrJTUlJCVzJSolcxsoQg==?= Message-ID: <4DBE0E91.5070101@hatsuho.co.jp> こんにちは。 このメーリングリストに出してよいものかと迷ったのですが、質問させて頂きた いと思います。 ID、パスワードを指定してフォーム認証を行っているパッケージがあります。 ソースを見ると、以下のようになっています。
これを別サーバーの認証を使って自動的に行いたいと思っています。 具体的には、個人アカウントで認証して組織を取得、組織毎のアカウントとパス ワードに置き換えて 上記のパッケージに対してログオンする、シングルサインオンもどきのことを行 いたいと思っています。 headerに対するパラメタ値を渡すにはどうしたらよいのでしょうか? 自分で作ったものであれば、GETで受け取るようにするなり、セッション変数で 渡せるように作り直すことも可能でしょうが、パッケージなのでそうもいきません。 ネットで同じような用途かどうか判りませんが、POST送信をPHPで行う方法が書かれて ありましたので、上記のパッケージに対して強制的にPOST送信でログオンさせる スクリプトを作ってみました。(server及びgroupはログインフォーム上になくhtml上 で隠しフィールドとして記述されているパラメタ) パスワードの属性に問題があるのかどうか判りませんが、動作しません。 エラーも何も出ないので調べようもなく行き詰っています。 このパッケージに対して、直接アカウントを指定するシングルサインオン自体は、使 用中のグループウェア上で実装されているので、何か方法があるかと思い、 お知恵を拝借致したくお願い申し上げます。 ▼最終的に動作させたいスクリプトのイメージ Login

ログイン

IDとパスワードを入れて下さい。
ID: PASSWORD:
初穂太郎 From nomurat @ tmo.co.jp Wed May 4 21:43:24 2011 From: nomurat @ tmo.co.jp (Tomoo Nomura) Date: Wed, 04 May 2011 21:43:24 +0900 Subject: [PHP-users 35559] Re: =?iso-2022-jp?b?c2Vzc2lvbl9jYWNoZV9leHBpcmUgGyRCTGEkakNNGyhC?= In-Reply-To: <4D7C6071.5060801@tmo.co.jp> References: <4D7487BC.9070208@tmo.co.jp> <20110308161108.D58713AE2B7@ae0000-mailauth12.eo.k-opti.ad.jp> <22E2B62A-F9AD-4FA7-86FA-98E61A62A084@gmail.com> <4D796EB2.9030403@tmo.co.jp> <4D7C6071.5060801@tmo.co.jp> Message-ID: <4DC149EC.8090409@tmo.co.jp> こんにちは。 だいぶ前の話になりますが、sessionの有効期限について、かなり解明できまし たので、備忘録として投稿しておきます。 まず、Garbage Collectionに関して、 ini_set( "session.gc_maxlifetime", 10 ) ; session_start() ; 上記のようにした場合、12分後に再度アクセスした場合、session fileは存在し ており、$_SESSION['...']の値も生きておりました。 ここで、動きがわからなくなり悩んでいたのですが、どうもsession fileを破棄 するのは、session_start()の最後の部分のようです。つまり、2回目のアクセ スでは、最初存在しているsession fileより通常どおりに値を読み込 み、$_SESSION['...']を復帰します。そして、その後session fileを破棄しま す。事実、2回目のsession_start()後にsession.save_pathを見にいくと、 session fileがなくなっています。従いまして3回目のアクセスをすると、 sessionは引き継がれません。 3回目のアクセスを制限できれば良いということならばこれでも良いのですが、 厳密に2回目のアクセスを制限するためには、Garbage Collection の機構を使 うのは好ましくないように思います。 従いまして、ここは以前ご指摘頂いたように時刻を自分で管理して破棄するよう にするしかないと判断致しました。 session_cache_limiter( 'PRIVATE_NO_EXPIRE' ) ; session_start() ; $sttime = $_SESSION['sttime'] ; $cutime = time() ; $_SESSION['sttime'] = strtotime( "+$SESSION_EXPIRE minutes" ) ; if ( $cutime > $sttime ) logout() ; これで、思う結果が得られました。 野村 > こんにちは。 > ご紹介いただいたSITEは私も見ていたのですが、もう一度詳しく読み直してみま > した。私の場合は、 > session.gc_probability = 1 > session.gc_divisor = 1 > としていますのでGCは毎回走るのですが、先のメールに書きましたとおり、自分 > 自身のsession_idがcookieに残っているので、たとえGCの対象となる日時スタン > プでも削除されないようです。 > ということで、どうもsession_start()時にGCを走らせて自分自身を削除するの > は無理なように感じました。 > > そこで、以前に2番目の方法として書いた方法を試してみました。 > session_set_cookie_params( 600 ) ; > session_start() ; > としてやり、10分でsession_idを忘れるようにしてやれば、新しいsession_idを > 作るのでうまく行くはずです。 > と思ってやったのですが、これでもsession_idを忘れてくれませんでした。 > もう少し、調べてみます。 > > 野村 -- ****** Nomura Technical Management Office Ltd. ***************** Tomoo Nomura nomura @ tmo.co.jp http://www.tmo.co.jp/ Phone: +81-78-797-0240 Fax: +81-50-3743-1336 Worldwide Airline Timetable 'Flight Planner' European Electronic Timetable 'HAFAS' ValueFax Support **************************************************************** From daikame @ gmail.com Wed May 11 23:34:00 2011 From: daikame @ gmail.com (Daichi Kamemoto) Date: Wed, 11 May 2011 23:34:00 +0900 Subject: [PHP-users 35560] =?iso-2022-jp?b?UEhQGyRCJSslcyVVJSElbCVzJTkbKEIgMjAxMSA=?= =?iso-2022-jp?b?GyRCMys6RTlwQ04bKEIgGyRCIXUbKEIgGyRCJTklPyVDGyhC?= =?iso-2022-jp?b?GyRCJVVKZz04GyhC?= Message-ID: PHPカンファレンス実行委員のゆどうふです。 皆様、いかがお過ごしでしょうか。 さて、例年お送りしているPHPユーザーのための一大イベント、 「PHPカンファレンス」ですが、今年も開催いたします! それにあたり、開催告知とスタッフ募集のお知らせをさせていただきます。 *** 開催告知 ************************* 開催日程は下記の通りです。 --------------------------- 日時 : 9月10日(土曜日)10:00 〜 (開場9:30〜) 会場 : 大田区産業プラザPiO アクセス: http://www.pio-ota.jp/plaza/map.html --------------------------- ここ数年のPHPカンファレンスでは、Web言語の中でもっとも業務と密着した言語として、 ビジネス的な側面や、「ソーシャル」など、技術そのものとは少し違った視点を 取り入れた内容や構成でお送りしてきました。 ですが今年は、技術者のための楽しい祭典、という立場に立ち戻り、もっと様々な テーマをちりばめた、「ごった煮のお祭り」を目指します! プログラムの詳細は現在策定中ですが、今回はお祭りモードと言うことで、 LTに限らず、20分程度の枠で一般公募の発表も多く募る予定です。 発表の募集要項も追って公開して参りますので、「我こそは!」という方は ぜひテーマを練ってスタンバイしておいて下さい。 また、プログラム詳細や特設サイト、参加登録などについても順次公開して 参りますので、楽しみにお待ち下さい! *** ボランティア スタッフ募集 ************************* PHPカンファレンス実行委員では、一緒にイベントを盛り上げてくれる方を、 5名前後募集しています。 ・右も左もわからないけど、実行委員にJOINしたい! ・PHPよくわかんないけどイベント盛り上げるの好きです>< ・当日のお手伝いだけでも。。。 などなど、どんな方でも歓迎です。 ぜひ、あなたの力を貸して下さい>< 参加したい!と思われた方は、 https://groups.google.com/group/phpcon2011?hl=ja へ、参加申請をお願いします。 (なお、応募者多数の場合、お断りさせていただくこともございます。 大変心苦しくはありますが、その場合にはご容赦下さい。) また、もしスタッフ募集のことで不明な点などありましたら、このメールへの返信や、 自分のアドレス [ daikame at gmail.com ] 宛てなど、何でも結構ですので、 お気軽にお問い合わせ下さい! 以上、どうぞよろしくお願いいたします。 -- Daichi Kamemoto (a.k.a: yudoufu) Mail: daikame @ gmail.com Blog: http://d.hatena.ne.jp/Yudoufu Twitter: @yudoufu From sumiya-e @ ube-shinko.co.jp Thu May 12 13:06:23 2011 From: sumiya-e @ ube-shinko.co.jp (Etsuo SUMIYA) Date: Thu, 12 May 2011 13:06:23 +0900 (LMT) Subject: [PHP-users 35561] =?iso-2022-jp?b?Q1NWGyRCJE4lQCUmJXMlbSE8JUkkRxsoQkVYQ0VM?= =?iso-2022-jp?b?GyRCJCxKIz90NS9GMCQ5JGsbKEI=?= Message-ID: <20110512.130623.91283385.sumiya-e@ube-shinko.co.jp> sumiyaといいます。 csvのダウンロードを行うプログラムで、ダウンロードしたCSVを開くため、 複数のEXCELが起動してしまう、クライアントがあります。 問題のあるクライアントでは次の3つのシートが開きます。また、問題の あるPCでサーバーを変えて、同じプログラムを実行しても、正しくEXCEL が開くことがあります。 a.空白のシート b.ダウンロードしたcsvのシート c.他のユーザが開いているため、読み取り専用で開きますか?というダイ アログに[OK]をクリックすると同じCSVファイルのシートが開く サーバー: Windows 2008 Server SP2 IIS 7 PHP 5.3.6 fast-cgi 問題のないPC Windows 2008 Server IE 8 Excel 2010 問題のあるPC Windows 7 Pro. IE 8 Excel 2010 ダウンロードするためのヘッダは以下の通りです。 header("Content-type: application/octet-stream;"); header("Content-Disposition: attachment; filename=out.csv"); 何か、情報をお持ちの方はアドバイスをお願いします。 From ml @ infra-lab.net Thu May 12 13:38:41 2011 From: ml @ infra-lab.net (ml @ infra-lab.net) Date: Thu, 12 May 2011 13:38:41 +0900 (JST) Subject: [PHP-users 35562] Re: =?iso-2022-jp?b?Q1NWIBskQiROJUAlJiVzJW0hPCVJJEcbKEIgRVhDRUwg?= =?iso-2022-jp?b?GyRCJCxKIz90NS9GMCQ5JGsbKEI=?= Message-ID: <2396.125.3.83.166.1305175121.squirrel@www.s128.coreserver.jp> クライアント側で、 「excel2010」→「ファイル」→「オプション」→「詳細設定」 →「Dynamic DataExchange(DDE)を使用する他のアプリケーションを無視する」 のチェックを付ける/外す でどうなりますか? // メーラーの仕様により返信のスレッドを切ってしまって申し訳ありません On Thu, 12 May 2011 13:06:23 +0900 (LMT) Etsuo SUMIYA wrote: > sumiyaといいます。 > > csvのダウンロードを行うプログラムで、ダウンロードしたCSVを開くため、 > 複数のEXCELが起動してしまう、クライアントがあります。 > 問題のあるクライアントでは次の3つのシートが開きます。また、問題の > あるPCでサーバーを変えて、同じプログラムを実行しても、正しくEXCEL > が開くことがあります。 > > a.空白のシート > b.ダウンロードしたcsvのシート > c.他のユーザが開いているため、読み取り専用で開きますか?というダイ > アログに[OK]をクリックすると同じCSVファイルのシートが開く > > サーバー: > Windows 2008 Server SP2 > IIS 7 > PHP 5.3.6 fast-cgi > > 問題のないPC > Windows 2008 Server > IE 8 > Excel 2010 > > 問題のあるPC > Windows 7 Pro. > IE 8 > Excel 2010 > > ダウンロードするためのヘッダは以下の通りです。 > header("Content-type: application/octet-stream;"); > header("Content-Disposition: attachment; filename=out.csv"); > > 何か、情報をお持ちの方はアドバイスをお願いします。 > _______________________________________________ > PHP-users mailing list PHP-users @ php.gr.jp > http://ml.php.gr.jp/mailman/listinfo/php-users > PHP初心者のためのページ - 質問する前にはこちらをお読みください > http://oldwww.php.gr.jp/php/novice.php3 -- infra-lab.net From sumiya-e @ ube-shinko.co.jp Thu May 12 13:54:31 2011 From: sumiya-e @ ube-shinko.co.jp (Etsuo SUMIYA) Date: Thu, 12 May 2011 13:54:31 +0900 (LMT) Subject: [PHP-users 35563] Re: =?iso-2022-jp?b?Q1NWIBskQiROJUAlJiVzJW0hPCVJJEcbKEIgRVhDRUwg?= =?iso-2022-jp?b?GyRCJCxKIz90NS9GMCQ5JGsbKEI=?= In-Reply-To: <2396.125.3.83.166.1305175121.squirrel@www.s128.coreserver.jp> References: <2396.125.3.83.166.1305175121.squirrel@www.s128.coreserver.jp> Message-ID: <20110512.135431.107711897.sumiya-e@ube-shinko.co.jp> sumiyaです。返事ありがとうございます。 From: ml @ infra-lab.net Subject: [PHP-users 35562] Re: CSV のダウンロードで EXCEL が複数起動する Date: Thu, 12 May 2011 13:38:41 +0900 (JST) Message-ID: <2396.125.3.83.166.1305175121.squirrel @ www.s128.coreserver.jp> > クライアント側で、 > 「excel2010」→「ファイル」→「オプション」→「詳細設定」 > →「Dynamic DataExchange(DDE)を使用する他のアプリケーションを無視する」 > のチェックを付ける/外す でどうなりますか? 先のメールには詳しく書かなかったのですが、以下のPCでも、複数の EXCELが起動します。 Windows Vista Pro. IE 8 EXCEL 2007 このPCで同じプログラムを入れてある本番機と開発機(VMWare ESXi)で動 かしてみると、本番機では複数のEXCELが起動しますが、開発機では問題 がありません。 EXCELの設定のDDEについて、Vista PCで調べてみると、チェックが外れた 状態でした。今、本番機の環境は客先にあるので、調べることができない のですが、新品のPCにソフトを入れたばかりなので、このチェックは外れ たままだと思います。 また、同じクライアントでも、本番機と開発機で動きが違うので、サーバー 側の、「header出力の方法が問題なのかなー」と思っているのです。 > > // メーラーの仕様により返信のスレッドを切ってしまって申し訳ありません > > On Thu, 12 May 2011 13:06:23 +0900 (LMT) > Etsuo SUMIYA wrote: > > > sumiyaといいます。 > > > > csvのダウンロードを行うプログラムで、ダウンロードしたCSVを開くため、 > > 複数のEXCELが起動してしまう、クライアントがあります。 > > 問題のあるクライアントでは次の3つのシートが開きます。また、問題の > > あるPCでサーバーを変えて、同じプログラムを実行しても、正しくEXCEL > > が開くことがあります。 > > > > a.空白のシート > > b.ダウンロードしたcsvのシート > > c.他のユーザが開いているため、読み取り専用で開きますか?というダイ > > アログに[OK]をクリックすると同じCSVファイルのシートが開く > > > > サーバー: > > Windows 2008 Server SP2 > > IIS 7 > > PHP 5.3.6 fast-cgi > > > > 問題のないPC > > Windows 2008 Server > > IE 8 > > Excel 2010 > > > > 問題のあるPC > > Windows 7 Pro. > > IE 8 > > Excel 2010 > > > > ダウンロードするためのヘッダは以下の通りです。 > > header("Content-type: application/octet-stream;"); > > header("Content-Disposition: attachment; filename=out.csv"); > > > > 何か、情報をお持ちの方はアドバイスをお願いします。 > > _______________________________________________ > > PHP-users mailing list PHP-users @ php.gr.jp > > http://ml.php.gr.jp/mailman/listinfo/php-users > > PHP初心者のためのページ - 質問する前にはこちらをお読みください > > http://oldwww.php.gr.jp/php/novice.php3 > > -- > infra-lab.net > > > _______________________________________________ > PHP-users mailing list PHP-users @ php.gr.jp > http://ml.php.gr.jp/mailman/listinfo/php-users > PHP初心者のためのページ - 質問する前にはこちらをお読みください > http://oldwww.php.gr.jp/php/novice.php3 From daikame @ gmail.com Thu May 12 22:44:10 2011 From: daikame @ gmail.com (Daichi Kamemoto) Date: Thu, 12 May 2011 22:44:10 +0900 Subject: [PHP-users 35564] Re: =?iso-2022-jp?b?UEhQGyRCJSslcyVVJSElbCVzJTkbKEIgMjAxMSA=?= =?iso-2022-jp?b?GyRCMys6RTlwQ04bKEIgGyRCIXUbKEIgGyRCJTklPyVDGyhC?= =?iso-2022-jp?b?GyRCJVVKZz04GyhC?= In-Reply-To: References: Message-ID: 実行委員長のゆどうふです。 スタッフ応募の件、たくさんのご応募ありがとうございます。 もっとチラホラかな。。。と思っていたところ、良い意味で予想を裏切られ、 1日としないうちに大変多くのお申し込みを頂きました。 そのため、スタッフの募集につきましては、現時点をもって終了させていただきます。 また、管理可能な人数の問題で、お断りをせざるを得なかった方もでてしまい、 その方々には、大変申し訳ありませんでした。。。(個別にメールをさせていただきました。) 今年も、楽しいイベントにして参りますので、どうぞよろしくお願いいたします! 2011年5月11日23:34 Daichi Kamemoto : > PHPカンファレンス実行委員のゆどうふです。 > > 皆様、いかがお過ごしでしょうか。 > さて、例年お送りしているPHPユーザーのための一大イベント、 > 「PHPカンファレンス」ですが、今年も開催いたします! > > それにあたり、開催告知とスタッフ募集のお知らせをさせていただきます。 > > > > *** 開催告知 ************************* > > 開催日程は下記の通りです。 > > --------------------------- > 日時 : 9月10日(土曜日)10:00 〜 (開場9:30〜) > 会場 : 大田区産業プラザPiO > アクセス: http://www.pio-ota.jp/plaza/map.html > --------------------------- > > ここ数年のPHPカンファレンスでは、Web言語の中でもっとも業務と密着した言語として、 > ビジネス的な側面や、「ソーシャル」など、技術そのものとは少し違った視点を > 取り入れた内容や構成でお送りしてきました。 > > > ですが今年は、技術者のための楽しい祭典、という立場に立ち戻り、もっと様々な > テーマをちりばめた、「ごった煮のお祭り」を目指します! > > > プログラムの詳細は現在策定中ですが、今回はお祭りモードと言うことで、 > LTに限らず、20分程度の枠で一般公募の発表も多く募る予定です。 > > 発表の募集要項も追って公開して参りますので、「我こそは!」という方は > ぜひテーマを練ってスタンバイしておいて下さい。 > > > また、プログラム詳細や特設サイト、参加登録などについても順次公開して > 参りますので、楽しみにお待ち下さい! > > > > > *** ボランティア スタッフ募集 ************************* > > PHPカンファレンス実行委員では、一緒にイベントを盛り上げてくれる方を、 > 5名前後募集しています。 > > ・右も左もわからないけど、実行委員にJOINしたい! > ・PHPよくわかんないけどイベント盛り上げるの好きです>< > ・当日のお手伝いだけでも。。。 > > などなど、どんな方でも歓迎です。 > ぜひ、あなたの力を貸して下さい>< > > 参加したい!と思われた方は、 > https://groups.google.com/group/phpcon2011?hl=ja > へ、参加申請をお願いします。 > > (なお、応募者多数の場合、お断りさせていただくこともございます。 > 大変心苦しくはありますが、その場合にはご容赦下さい。) > > また、もしスタッフ募集のことで不明な点などありましたら、このメールへの返信や、 > 自分のアドレス [ daikame at gmail.com ] 宛てなど、何でも結構ですので、 > お気軽にお問い合わせ下さい! > > > 以上、どうぞよろしくお願いいたします。 > > > -- > Daichi Kamemoto (a.k.a: yudoufu) > > Mail: daikame @ gmail.com > Blog: http://d.hatena.ne.jp/Yudoufu > Twitter: @yudoufu > -- Daichi Kamemoto (a.k.a: yudoufu) Mail: daikame @ gmail.com Blog: http://d.hatena.ne.jp/Yudoufu Twitter: @yudoufu From sumiya-e @ ube-shinko.co.jp Fri May 13 07:56:35 2011 From: sumiya-e @ ube-shinko.co.jp (Etsuo SUMIYA) Date: Fri, 13 May 2011 07:56:35 +0900 (LMT) Subject: [PHP-users 35565] Re: =?iso-2022-jp?b?Q1NWIBskQiROJUAlJiVzJW0hPCVJJEcbKEIgRVhDRUwg?= =?iso-2022-jp?b?GyRCJCxKIz90NS9GMCQ5JGsbKEI=?= In-Reply-To: <2396.125.3.83.166.1305175121.squirrel@www.s128.coreserver.jp> References: <2396.125.3.83.166.1305175121.squirrel@www.s128.coreserver.jp> Message-ID: <20110513.075635.01368975.sumiya-e@ube-shinko.co.jp> From: ml @ infra-lab.net Subject: [PHP-users 35562] Re: CSV のダウンロードで EXCEL が複数起動する Date: Thu, 12 May 2011 13:38:41 +0900 (JST) Message-ID: <2396.125.3.83.166.1305175121.squirrel @ www.s128.coreserver.jp> > クライアント側で、 > 「excel2010」→「ファイル」→「オプション」→「詳細設定」 > →「Dynamic DataExchange(DDE)を使用する他のアプリケーションを無視する」 > のチェックを付ける/外す でどうなりますか? 遅くなりましたが、実機では確認できないのですが、テスト機で試してみ ました。 Dynamic DataExchange(DDE)を使用する他のアプリケーションを無視する 個のチェックは現在外れており、チェックを入れると、EXCELは起動しま すが、csvファイルが見つからない旨のメッセージが表示されてしまいま す。 ので、このチェックは外しておくのが正しいと思いますが、いかがでしょ うか? From suzuki.ichirou @ gmail.com Fri May 13 08:09:13 2011 From: suzuki.ichirou @ gmail.com (ichirou suzuki) Date: Fri, 13 May 2011 08:09:13 +0900 Subject: [PHP-users 35566] Re: =?iso-2022-jp?b?Q1NWIBskQiROJUAlJiVzJW0hPCVJJEcbKEIgRVhDRUwg?= =?iso-2022-jp?b?GyRCJCxKIz90NS9GMCQ5JGsbKEI=?= In-Reply-To: <20110513.075635.01368975.sumiya-e@ube-shinko.co.jp> References: <2396.125.3.83.166.1305175121.squirrel@www.s128.coreserver.jp> <20110513.075635.01368975.sumiya-e@ube-shinko.co.jp> Message-ID: すずきです。 (略) > ので、このチェックは外しておくのが正しいと思いますが、いかがでしょ > うか? PHPの問題なんですか? From sumiya-e @ ube-shinko.co.jp Tue May 17 17:25:50 2011 From: sumiya-e @ ube-shinko.co.jp (Etsuo SUMIYA) Date: Tue, 17 May 2011 17:25:50 +0900 (LMT) Subject: [PHP-users 35567] Re: =?iso-2022-jp?b?Q1NWIBskQiROJUAlJiVzJW0hPCVJJEcbKEIgRVhDRUwg?= =?iso-2022-jp?b?GyRCJCxKIz90NS9GMCQ5JGsbKEI=?= In-Reply-To: References: <2396.125.3.83.166.1305175121.squirrel@www.s128.coreserver.jp> <20110513.075635.01368975.sumiya-e@ube-shinko.co.jp> Message-ID: <20110517.172550.34008701.sumiya-e@ube-shinko.co.jp> sumiyaといいます。 From: ichirou suzuki Subject: [PHP-users 35566] Re: CSV のダウンロードで EXCEL が複数起動する Date: Fri, 13 May 2011 08:09:13 +0900 Message-ID: > すずきです。 > > (略) > > ので、このチェックは外しておくのが正しいと思いますが、いかがでしょ > > うか? > > PHPの問題なんですか? ご指摘のように、PHPの問題ではありませんでした。具体的な理由については、 不明ですが、IE 8のSmart Screen機能をOFFにすると、発生しなくなりました。 PHPを使ったダウンロードの仕組みを作っている方は多数いらっしゃるよ うなので、類似の現象を経験された方や、回避するためのheaderの指定な どもしかしたらあるのかと思い、メールをお送りしたのですが。 参考にならないかもしれませんが、結果報告をしておきます。 お騒がせしました。 From aug721 @ gmail.com Wed May 18 15:53:22 2011 From: aug721 @ gmail.com (aug721 @ gmail.com) Date: Wed, 18 May 2011 15:53:22 +0900 Subject: [PHP-users 35568] =?iso-2022-jp?b?GyRCMFU/XiQ3JEokJEo4O3pDVjQ5JEskRCQkJEYbKEI=?= Message-ID: 置換結果に関する相談です。 $str = '樫'; $str=str_replace('~','〜',$str); echo $str; を実行すると、 Shift-JIS→ 梶` UTF-8→ 讓ォ という結果になり、「樫」が違う文字に置換されてしまいます。 これは、Shift-JISの場合、 「樫」の文字コード→ 8A7E 「~」(チルダ)の文字コード→ 7E という文字コードが原因になります。 そこで、 $str=str_replace('~','〜',$str); の部分を $str=mb_ereg_replace ('~','〜',$str); に変更すると、 Shift-JIS→ 樫 UTF-8→ 讓ォ となり、Shift-JISでは正しい結果が得られます。 Shift-JISを利用しているので、結果としては問題ないのですが、下記の二点について教えて下さい。 1.この方法で正しいのか?(他に方法はないのか?) 2.UTF-8の場合どうすれば良いのか? 文字に関係しそうなphp.ini設定は以下になります。 [PHP] magic_quotes_gpc = Off magic_quotes_runtime = Off magic_quotes_sybase = Off default_charset = "Shift_JIS" extension=php_mbstring.dll [mbstring] mbstring.language = Japanese mbstring.internal_encoding = SJIS mbstring.http_input = pass mbstring.http_output = SJIS mbstring.encoding_translation = On mbstring.detect_order = auto mbstring.substitute_character = none 以上、よろしくお願いします。 オカムラ From gotou1213 @ gmail.com Wed May 18 18:32:01 2011 From: gotou1213 @ gmail.com (gotou1213 @ gmail.com) Date: Wed, 18 May 2011 18:32:01 +0900 Subject: [PHP-users 35569] Re: =?iso-2022-jp?b?GyRCMFU/XiQ3JEokJEo4O3pDVjQ5JEskRCQkJEYbKEI=?= In-Reply-To: References: Message-ID: <4DD39211.2070905@gmail.com> > 1.この方法で正しいのか?(他に方法はないのか?) その方法で良いと思いますが、str_replace がただの文字列置換なのに対して mb_ereg_replace は正規表現なのでそこに気を付ける必要があります。 > 2.UTF-8の場合どうすれば良いのか? 単に、PHPからUTF-8で出力しているにも関わらず、 Content-TypeでShift_JISが指定されているために化けているのだと思われます。 なので、置換自体は正しく行われています。 From aug721 @ gmail.com Wed May 18 19:30:22 2011 From: aug721 @ gmail.com (aug721 @ gmail.com) Date: Wed, 18 May 2011 19:30:22 +0900 Subject: [PHP-users 35570] Re: =?iso-2022-jp?b?GyRCMFU/XiQ3JEokJEo4O3pDVjQ5JEskRCQkJEYbKEI=?= In-Reply-To: <4DD39211.2070905@gmail.com> References: <4DD39211.2070905@gmail.com> Message-ID: 注意事項を含めて、情報ありがとうございました。 > 単に、PHPからUTF-8で出力しているにも関わらず、 > Content-TypeでShift_JISが指定されているために化けているのだと思われます。 > なので、置換自体は正しく行われています。 ご指摘の通りでした。 ブラウザのエンコードを変更し意図した結果になっている事を確認しました。 UTF-8の場合は、str_replace でも正しい結果になりました。 オカムラ From niwa @ kobuta.com Thu May 19 10:44:58 2011 From: niwa @ kobuta.com (NiwaNobuo) Date: 19 May 2011 10:44:58 +0900 Subject: [PHP-users 35571] Re: =?iso-2022-jp?b?GyRCMFU/XiQ3JEokJEo4O3pDVjQ5JEskRCQkJEYbKEI=?= Message-ID:  にわです。 と入れる・・・というのは大きくはずしてますか? >置換結果に関する相談です。 > >$str = '樫'; >$str=str_replace('~','〜',$str); >echo $str; > >を実行すると、 > >Shift-JIS→ 梶` >UTF-8→ 讓ォ From niwa @ kobuta.com Thu May 19 10:46:37 2011 From: niwa @ kobuta.com (NiwaNobuo) Date: 19 May 2011 10:46:37 +0900 Subject: [PHP-users 35572] Re: =?iso-2022-jp?b?GyRCMFU/XiQ3JEokJEo4O3pDVjQ5JEskRCQkJEYbKEI=?= Message-ID:  にわです。 ごめんなさい。ついうっかり、昨日のメールに返答を書いてしまいました・・・ 解決済みでしたね。 From k-ono @ mica.co.jp Thu May 19 12:31:07 2011 From: k-ono @ mica.co.jp (k-ono @ mica.co.jp) Date: Thu, 19 May 2011 12:31:07 +0900 Subject: [PHP-users 35573] Re: =?iso-2022-jp?b?GyRCMFU/XiQ3JEokJEo4O3pDVjQ5JEskRCQkJEYbKEI=?= In-Reply-To: References: Message-ID: SJISの場合もUTF-8の場合も考え方は同じで良いのですが、今回の例が正しく動作しているのは、内部文字エンコーディング(mbstring.internal_encodingで指定しておられる部分)が置換対象の文字列と一致しているからですね。 今回は内部文字エンコーディングも$strのエンコードもSJISですから、「正しい」わけですが、もし食い違いがあるのであれば、 mb_regex_encoding('SJIS'); $str=mb_ereg_replace ('~','〜',$str); とする必要があります。 その意味で、2 番の御質問が「(同じ設定のままで)UTF-8の処理をする場合」という意味であるならば、 mb_regex_encoding('UTF-8'); $str=mb_ereg_replace ('~','〜',$str); と *しなければならない* ことになると思います。 From yoko00068 @ yahoo.co.jp Thu May 26 17:35:06 2011 From: yoko00068 @ yahoo.co.jp (youo hoko) Date: Thu, 26 May 2011 17:35:06 +0900 (JST) Subject: [PHP-users 35574] =?iso-2022-jp?b?bWNyeXB0X2RlY3J5cHQoKSAbJEIkLEA1JDckL0ojOWcbKEI=?= =?iso-2022-jp?b?GyRCMj0kRyQtJEokJBsoQg==?= Message-ID: <596124.32939.qm@web100207.mail.kks.yahoo.co.jp> 星野と申します mcrypt以外(openssl_*系関数等)でAES256 ECBで暗号化したデータを PHPの mcrypt_*系関数で復号出来ないようです。 サンプルコード --- --- 結果 > openssl:abcd1234 > mcrypt :[バイナリになってしまい表示不能] openssl_decrypt()とmcrypt_decrypt()の結果が違ってしまってます。 その他試したこと ・PHPのmcryptで暗号化したものはPHPのmcryptで復号できる ・PHPのopensslで暗号化したものはPerlのCrypt::Rijndaelで復号できる ・PerlのCrypt::Rijndaelで暗号化したものはPHPのmcryptで復号できない ・mcrypt_module_open() から使っても同じ結果です PHPのmcryptがおかしいように思います というかlibmcryptがおかしいということでしょうか PHPのPKCS#5パディングがjava等と違うという問題もあるようですが、 パディング除去は複合化後の処理なので、関係ないと思います。 環境 # php -v > PHP 5.3.0 (cli) (built: Nov 2 2009 05:23:58) > Copyright (c) 1997-2009 The PHP Group > Zend Engine v2.3.0, Copyright (c) 1998-2009 Zend Technologies # uname -a > Linux web2 2.6.18-164.6.1.el5 #1 SMP Tue Nov 3 16:12:36 EST 2009 x86_64 x86_64 x86_64 GNU/Linux # cat /etc/issue | head -1 > CentOS release 5.4 (Final) # rpm -qa | grep mcrypt > libmcrypt-2.5.8-4.el5.centos > libmcrypt-devel-2.5.8-4.el5.centos From php-users @ itcom.jp Thu May 26 18:59:00 2011 From: php-users @ itcom.jp (php-users @ itcom.jp) Date: Thu, 26 May 2011 18:59:00 +0900 Subject: [PHP-users 35575] Re: =?iso-2022-jp?b?bWNyeXB0X2RlY3J5cHQoKSAbJEIkLEA1JDckL0ojGyhC?= =?iso-2022-jp?b?GyRCOWcyPSRHJC0kSiQkGyhC?= In-Reply-To: <596124.32939.qm@web100207.mail.kks.yahoo.co.jp> References: <596124.32939.qm@web100207.mail.kks.yahoo.co.jp> Message-ID: おく@Workgroupです。 > mcrypt以外(openssl_*系関数等)でAES256 ECBで暗号化したデータを > PHPの mcrypt_*系関数で復号出来ないようです。 鍵のバイト数が25バイト以上であれば、復号できますよ。 mcrypt_module_get_supported_key_sizes(MCRYPT_RIJNDAEL_128) で確認できる鍵長のうち最小のものが選択される仕様のようですので、 $key = substr($key . str_repeat("\0", 31), 0, 32); のように、ヌルでパディングしてあげれば大丈夫です。 2011年5月26日17:35 youo hoko : > 星野と申します > > mcrypt以外(openssl_*系関数等)でAES256 ECBで暗号化したデータを > PHPの mcrypt_*系関数で復号出来ないようです。 > > サンプルコード > --- > $key = 'secret key' ; > $data = 'abcd1234' ; > $data_enc = openssl_encrypt($data,'aes-256-ecb',$key,TRUE) ; > > echo "openssl:" , openssl_decrypt($data_enc,'aes-256-ecb',$key,TRUE),"\n" ; > echo "mcrypt :" , mcrypt_decrypt('rijndael-256',$key,$data_enc,'ecb') ,"\n" ; > ?> > --- > 結果 >> openssl:abcd1234 >> mcrypt :[バイナリになってしまい表示不能] > > openssl_decrypt()とmcrypt_decrypt()の結果が違ってしまってます。 > > その他試したこと > > ・PHPのmcryptで暗号化したものはPHPのmcryptで復号できる > ・PHPのopensslで暗号化したものはPerlのCrypt::Rijndaelで復号できる > ・PerlのCrypt::Rijndaelで暗号化したものはPHPのmcryptで復号できない > ・mcrypt_module_open() から使っても同じ結果です > > PHPのmcryptがおかしいように思います > というかlibmcryptがおかしいということでしょうか > > PHPのPKCS#5パディングがjava等と違うという問題もあるようですが、 > パディング除去は複合化後の処理なので、関係ないと思います。 > > 環境 > # php -v >> PHP 5.3.0 (cli) (built: Nov 2 2009 05:23:58) >> Copyright (c) 1997-2009 The PHP Group >> Zend Engine v2.3.0, Copyright (c) 1998-2009 Zend Technologies > > # uname -a >> Linux web2 2.6.18-164.6.1.el5 #1 SMP Tue Nov 3 16:12:36 EST 2009 x86_64 x86_64 x86_64 GNU/Linux > > # cat /etc/issue | head -1 >> CentOS release 5.4 (Final) > > # rpm -qa | grep mcrypt >> libmcrypt-2.5.8-4.el5.centos >> libmcrypt-devel-2.5.8-4.el5.centos > _______________________________________________ > PHP-users mailing list PHP-users @ php.gr.jp > http://ml.php.gr.jp/mailman/listinfo/php-users > PHP初心者のためのページ - 質問する前にはこちらをお読みください > http://oldwww.php.gr.jp/php/novice.php3 > From hoshino @ digiadv.co.jp Thu May 26 19:15:56 2011 From: hoshino @ digiadv.co.jp (hoshino @ digiadv.co.jp) Date: Thu, 26 May 2011 19:15:56 +0900 Subject: [PHP-users 35576] Re: =?iso-2022-jp?b?bWNyeXB0X2RlY3J5cHQoKSAbJEIkLEA1JDckL0ojGyhC?= =?iso-2022-jp?b?GyRCOWcyPSRHJC0kSiQkGyhC?= References: <596124.32939.qm@web100207.mail.kks.yahoo.co.jp> Message-ID: 星野です おく@Workgroup様 ご指摘ありがとうございます。 しまった、鍵長が256bitが使えるからAES256なのでした。 サンプルコードを作っているときに短くしてしまいました。 恥ずかしい、、、 $key = '12345678901234567890123456789012' ; にしても mcrypt_decrypt() は変なバイナリを返すのです バイナリをbin2hexで表示してみました。 --- --- 結果 > abcd1234 > 6162636431323334 > 242a2e7c099eb918aa51b768442db1ffb90639e68c71eb82261dff762f7a1235 ----- Original Message ----- From: To: "PHP-users ML" Sent: Thursday, May 26, 2011 6:59 PM Subject: [PHP-users 35575] Re:mcrypt_decrypt() が正しく複合化できない > おく@Workgroupです。 > >> mcrypt以外(openssl_*系関数等)でAES256 ECBで暗号化したデータを >> PHPの mcrypt_*系関数で復号出来ないようです。 > > 鍵のバイト数が25バイト以上であれば、復号できますよ。 > > mcrypt_module_get_supported_key_sizes(MCRYPT_RIJNDAEL_128) > で確認できる鍵長のうち最小のものが選択される仕様のようですので、 > $key = substr($key . str_repeat("\0", 31), 0, 32); > のように、ヌルでパディングしてあげれば大丈夫です。 > > > 2011年5月26日17:35 youo hoko : >> 星野と申します >> >> mcrypt以外(openssl_*系関数等)でAES256 ECBで暗号化したデータを >> PHPの mcrypt_*系関数で復号出来ないようです。 >> >> サンプルコード >> --- >> > $key = 'secret key' ; >> $data = 'abcd1234' ; >> $data_enc = openssl_encrypt($data,'aes-256-ecb',$key,TRUE) ; >> >> echo "openssl:" , openssl_decrypt($data_enc,'aes-256-ecb',$key,TRUE),"\n" ; >> echo "mcrypt :" , mcrypt_decrypt('rijndael-256',$key,$data_enc,'ecb') ,"\n" ; >> ?> >> --- >> 結果 >>> openssl:abcd1234 >>> mcrypt :[バイナリになってしまい表示不能] >> >> openssl_decrypt()とmcrypt_decrypt()の結果が違ってしまってます。 >> >> その他試したこと >> >> ・PHPのmcryptで暗号化したものはPHPのmcryptで復号できる >> ・PHPのopensslで暗号化したものはPerlのCrypt::Rijndaelで復号できる >> ・PerlのCrypt::Rijndaelで暗号化したものはPHPのmcryptで復号できない >> ・mcrypt_module_open() から使っても同じ結果です >> >> PHPのmcryptがおかしいように思います >> というかlibmcryptがおかしいということでしょうか >> >> PHPのPKCS#5パディングがjava等と違うという問題もあるようですが、 >> パディング除去は複合化後の処理なので、関係ないと思います。 >> >> 環境 >> # php -v >>> PHP 5.3.0 (cli) (built: Nov 2 2009 05:23:58) >>> Copyright (c) 1997-2009 The PHP Group >>> Zend Engine v2.3.0, Copyright (c) 1998-2009 Zend Technologies >> >> # uname -a >>> Linux web2 2.6.18-164.6.1.el5 #1 SMP Tue Nov 3 16:12:36 EST 2009 x86_64 x86_64 x86_64 GNU/Linux >> >> # cat /etc/issue | head -1 >>> CentOS release 5.4 (Final) >> >> # rpm -qa | grep mcrypt >>> libmcrypt-2.5.8-4.el5.centos >>> libmcrypt-devel-2.5.8-4.el5.centos >> _______________________________________________ >> PHP-users mailing list PHP-users @ php.gr.jp >> http://ml.php.gr.jp/mailman/listinfo/php-users >> PHP初心者のためのページ - 質問する前にはこちらをお読みください >> http://oldwww.php.gr.jp/php/novice.php3 >> > _______________________________________________ > PHP-users mailing list PHP-users @ php.gr.jp > http://ml.php.gr.jp/mailman/listinfo/php-users > PHP初心者のためのページ - 質問する前にはこちらをお読みください > http://oldwww.php.gr.jp/php/novice.php3 From php-users @ itcom.jp Thu May 26 19:48:21 2011 From: php-users @ itcom.jp (php-users @ itcom.jp) Date: Thu, 26 May 2011 19:48:21 +0900 Subject: [PHP-users 35577] Re: =?iso-2022-jp?b?bWNyeXB0X2RlY3J5cHQoKSAbJEIkLEA1JDckL0ojGyhC?= =?iso-2022-jp?b?GyRCOWcyPSRHJC0kSiQkGyhC?= In-Reply-To: References: <596124.32939.qm@web100207.mail.kks.yahoo.co.jp> Message-ID: おく@Workgroupです。 > $key = '12345678901234567890123456789012' ; > にしても mcrypt_decrypt() は変なバイナリを返すのです なぜか、rijndael-128 で復号できますね・・ $mcrypt_data = rtrim(mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $key, $data_enc, MCRYPT_MODE_ECB), "\x00\x05\x08"); mcrypt_encrypt で、rijndael-256 したものは、 rijndael-256 で mcrypt_decrypt できるようです。 encrypt の結果が、openssl と、mcrypt で長さから違うので、 どちらかがおかしいようですね。 2011年5月26日19:15 : > 星野です > > おく@Workgroup様 ご指摘ありがとうございます。 > > しまった、鍵長が256bitが使えるからAES256なのでした。 > サンプルコードを作っているときに短くしてしまいました。 > 恥ずかしい、、、 > > $key = '12345678901234567890123456789012' ; > にしても mcrypt_decrypt() は変なバイナリを返すのです > > バイナリをbin2hexで表示してみました。 > --- > $key = '12345678901234567890123456789012' ; > $data = 'abcd1234' ; > $data_enc = openssl_encrypt($data,'aes-256-ecb',$key,TRUE) ; > > $openssl_data = openssl_decrypt($data_enc,'aes-256-ecb',$key,TRUE) ; > $mcrypt_data = mcrypt_decrypt('rijndael-256',$key,$data_enc,'ecb') ; > > echo $openssl_data ,"\n" ; > echo bin2hex($openssl_data) ,"\n" ; > echo bin2hex($mcrypt_data) ,"\n" ; > ?> > --- > 結果 >> >> abcd1234 >> 6162636431323334 >> 242a2e7c099eb918aa51b768442db1ffb90639e68c71eb82261dff762f7a1235 > > ----- Original Message ----- From: > To: "PHP-users ML" > Sent: Thursday, May 26, 2011 6:59 PM > Subject: [PHP-users 35575] Re:mcrypt_decrypt() が正しく複合化できない > > >> おく@Workgroupです。 >> >>> mcrypt以外(openssl_*系関数等)でAES256 ECBで暗号化したデータを >>> PHPの mcrypt_*系関数で復号出来ないようです。 >> >> 鍵のバイト数が25バイト以上であれば、復号できますよ。 >> >> mcrypt_module_get_supported_key_sizes(MCRYPT_RIJNDAEL_128) >> で確認できる鍵長のうち最小のものが選択される仕様のようですので、 >> $key = substr($key . str_repeat("\0", 31), 0, 32); >> のように、ヌルでパディングしてあげれば大丈夫です。 >> >> >> 2011年5月26日17:35 youo hoko : >>> >>> 星野と申します >>> >>> mcrypt以外(openssl_*系関数等)でAES256 ECBで暗号化したデータを >>> PHPの mcrypt_*系関数で復号出来ないようです。 >>> >>> サンプルコード >>> --- >>> >> $key = 'secret key' ; >>> $data = 'abcd1234' ; >>> $data_enc = openssl_encrypt($data,'aes-256-ecb',$key,TRUE) ; >>> >>> echo "openssl:" , >>> openssl_decrypt($data_enc,'aes-256-ecb',$key,TRUE),"\n" ; >>> echo "mcrypt :" , mcrypt_decrypt('rijndael-256',$key,$data_enc,'ecb') >>> ,"\n" ; >>> ?> >>> --- >>> 結果 >>>> >>>> openssl:abcd1234 >>>> mcrypt :[バイナリになってしまい表示不能] >>> >>> openssl_decrypt()とmcrypt_decrypt()の結果が違ってしまってます。 >>> >>> その他試したこと >>> >>> ・PHPのmcryptで暗号化したものはPHPのmcryptで復号できる >>> ・PHPのopensslで暗号化したものはPerlのCrypt::Rijndaelで復号できる >>> ・PerlのCrypt::Rijndaelで暗号化したものはPHPのmcryptで復号できない >>> ・mcrypt_module_open() から使っても同じ結果です >>> >>> PHPのmcryptがおかしいように思います >>> というかlibmcryptがおかしいということでしょうか >>> >>> PHPのPKCS#5パディングがjava等と違うという問題もあるようですが、 >>> パディング除去は複合化後の処理なので、関係ないと思います。 >>> >>> 環境 >>> # php -v >>>> >>>> PHP 5.3.0 (cli) (built: Nov 2 2009 05:23:58) >>>> Copyright (c) 1997-2009 The PHP Group >>>> Zend Engine v2.3.0, Copyright (c) 1998-2009 Zend Technologies >>> >>> # uname -a >>>> >>>> Linux web2 2.6.18-164.6.1.el5 #1 SMP Tue Nov 3 16:12:36 EST 2009 x86_64 >>>> x86_64 x86_64 GNU/Linux >>> >>> # cat /etc/issue | head -1 >>>> >>>> CentOS release 5.4 (Final) >>> >>> # rpm -qa | grep mcrypt >>>> >>>> libmcrypt-2.5.8-4.el5.centos >>>> libmcrypt-devel-2.5.8-4.el5.centos >>> >>> _______________________________________________ >>> PHP-users mailing list PHP-users @ php.gr.jp >>> http://ml.php.gr.jp/mailman/listinfo/php-users >>> PHP初心者のためのページ - 質問する前にはこちらをお読みください >>> http://oldwww.php.gr.jp/php/novice.php3 >>> >> _______________________________________________ >> PHP-users mailing list PHP-users @ php.gr.jp >> http://ml.php.gr.jp/mailman/listinfo/php-users >> PHP初心者のためのページ - 質問する前にはこちらをお読みください >> http://oldwww.php.gr.jp/php/novice.php3 > > _______________________________________________ > PHP-users mailing list PHP-users @ php.gr.jp > http://ml.php.gr.jp/mailman/listinfo/php-users > PHP初心者のためのページ - 質問する前にはこちらをお読みください > http://oldwww.php.gr.jp/php/novice.php3 > From hideox @ gmail.com Thu May 26 20:21:19 2011 From: hideox @ gmail.com (Hideo) Date: Thu, 26 May 2011 20:21:19 +0900 Subject: [PHP-users 35578] Re: =?iso-2022-jp?b?bWNyeXB0X2RlY3J5cHQoKSAbJEIkLEA1JDckL0ojGyhC?= =?iso-2022-jp?b?GyRCOWcyPSRHJC0kSiQkGyhC?= In-Reply-To: <596124.32939.qm@web100207.mail.kks.yahoo.co.jp> References: <596124.32939.qm@web100207.mail.kks.yahoo.co.jp> Message-ID: さいとうと申します。 $mcrypt_data = mcrypt_decrypt('rijndael-256', $key, base64_decode($data_enc), 'ecb'); とかでもダメですか?未検証ですが; 2011年5月26日17:35 youo hoko : > 星野と申します > > mcrypt以外(openssl_*系関数等)でAES256 ECBで暗号化したデータを > PHPの mcrypt_*系関数で復号出来ないようです。 > > サンプルコード > --- > $key = 'secret key' ; > $data = 'abcd1234' ; > $data_enc = openssl_encrypt($data,'aes-256-ecb',$key,TRUE) ; > > echo "openssl:" , openssl_decrypt($data_enc,'aes-256-ecb',$key,TRUE),"\n" ; > echo "mcrypt :" , mcrypt_decrypt('rijndael-256',$key,$data_enc,'ecb') ,"\n" ; > ?> > --- > 結果 >> openssl:abcd1234 >> mcrypt :[バイナリになってしまい表示不能] > > openssl_decrypt()とmcrypt_decrypt()の結果が違ってしまってます。 > > その他試したこと > > ・PHPのmcryptで暗号化したものはPHPのmcryptで復号できる > ・PHPのopensslで暗号化したものはPerlのCrypt::Rijndaelで復号できる > ・PerlのCrypt::Rijndaelで暗号化したものはPHPのmcryptで復号できない > ・mcrypt_module_open() から使っても同じ結果です > > PHPのmcryptがおかしいように思います > というかlibmcryptがおかしいということでしょうか > > PHPのPKCS#5パディングがjava等と違うという問題もあるようですが、 > パディング除去は複合化後の処理なので、関係ないと思います。 > > 環境 > # php -v >> PHP 5.3.0 (cli) (built: Nov 2 2009 05:23:58) >> Copyright (c) 1997-2009 The PHP Group >> Zend Engine v2.3.0, Copyright (c) 1998-2009 Zend Technologies > > # uname -a >> Linux web2 2.6.18-164.6.1.el5 #1 SMP Tue Nov 3 16:12:36 EST 2009 x86_64 x86_64 x86_64 GNU/Linux > > # cat /etc/issue | head -1 >> CentOS release 5.4 (Final) > > # rpm -qa | grep mcrypt >> libmcrypt-2.5.8-4.el5.centos >> libmcrypt-devel-2.5.8-4.el5.centos > _______________________________________________ > PHP-users mailing list PHP-users @ php.gr.jp > http://ml.php.gr.jp/mailman/listinfo/php-users > PHP初心者のためのページ - 質問する前にはこちらをお読みください > http://oldwww.php.gr.jp/php/novice.php3 > -- /**----------------------------------------- * hideox @ gmail.com */ From hideox @ gmail.com Thu May 26 20:24:09 2011 From: hideox @ gmail.com (Hideo) Date: Thu, 26 May 2011 20:24:09 +0900 Subject: [PHP-users 35579] Re: =?iso-2022-jp?b?bWNyeXB0X2RlY3J5cHQoKSAbJEIkLEA1JDckL0ojGyhC?= =?iso-2022-jp?b?GyRCOWcyPSRHJC0kSiQkGyhC?= In-Reply-To: References: <596124.32939.qm@web100207.mail.kks.yahoo.co.jp> Message-ID: さいとうと申します。 ごめんなさい、先ほどの投稿ですが勘違いでした。 $raw_output = true で暗号化してますね・・・ 2011年5月26日20:21 Hideo : > さいとうと申します。 > > $mcrypt_data = mcrypt_decrypt('rijndael-256', $key, > base64_decode($data_enc), 'ecb'); > とかでもダメですか?未検証ですが; > > > 2011年5月26日17:35 youo hoko : >> 星野と申します >> >> mcrypt以外(openssl_*系関数等)でAES256 ECBで暗号化したデータを >> PHPの mcrypt_*系関数で復号出来ないようです。 >> >> サンプルコード >> --- >> > $key = 'secret key' ; >> $data = 'abcd1234' ; >> $data_enc = openssl_encrypt($data,'aes-256-ecb',$key,TRUE) ; >> >> echo "openssl:" , openssl_decrypt($data_enc,'aes-256-ecb',$key,TRUE),"\n" ; >> echo "mcrypt :" , mcrypt_decrypt('rijndael-256',$key,$data_enc,'ecb') ,"\n" ; >> ?> >> --- >> 結果 >>> openssl:abcd1234 >>> mcrypt :[バイナリになってしまい表示不能] >> >> openssl_decrypt()とmcrypt_decrypt()の結果が違ってしまってます。 >> >> その他試したこと >> >> ・PHPのmcryptで暗号化したものはPHPのmcryptで復号できる >> ・PHPのopensslで暗号化したものはPerlのCrypt::Rijndaelで復号できる >> ・PerlのCrypt::Rijndaelで暗号化したものはPHPのmcryptで復号できない >> ・mcrypt_module_open() から使っても同じ結果です >> >> PHPのmcryptがおかしいように思います >> というかlibmcryptがおかしいということでしょうか >> >> PHPのPKCS#5パディングがjava等と違うという問題もあるようですが、 >> パディング除去は複合化後の処理なので、関係ないと思います。 >> >> 環境 >> # php -v >>> PHP 5.3.0 (cli) (built: Nov 2 2009 05:23:58) >>> Copyright (c) 1997-2009 The PHP Group >>> Zend Engine v2.3.0, Copyright (c) 1998-2009 Zend Technologies >> >> # uname -a >>> Linux web2 2.6.18-164.6.1.el5 #1 SMP Tue Nov 3 16:12:36 EST 2009 x86_64 x86_64 x86_64 GNU/Linux >> >> # cat /etc/issue | head -1 >>> CentOS release 5.4 (Final) >> >> # rpm -qa | grep mcrypt >>> libmcrypt-2.5.8-4.el5.centos >>> libmcrypt-devel-2.5.8-4.el5.centos >> _______________________________________________ >> PHP-users mailing list PHP-users @ php.gr.jp >> http://ml.php.gr.jp/mailman/listinfo/php-users >> PHP初心者のためのページ - 質問する前にはこちらをお読みください >> http://oldwww.php.gr.jp/php/novice.php3 >> > > > > -- > /**----------------------------------------- > * hideox @ gmail.com > */ > -- /**----------------------------------------- * hideox @ gmail.com */ From yoko00068 @ yahoo.co.jp Fri May 27 12:01:51 2011 From: yoko00068 @ yahoo.co.jp (youo hoko) Date: Fri, 27 May 2011 12:01:51 +0900 (JST) Subject: [PHP-users 35580] Re: =?iso-2022-jp?b?bWNyeXB0X2RlY3J5cHQoKSAbJEIkLEA1JDckL0ojGyhC?= =?iso-2022-jp?b?GyRCOWcyPSRHJC0kSiQkGyhC?= In-Reply-To: Message-ID: <103483.76437.qm@web100205.mail.kks.yahoo.co.jp> 星野です 分かったかもです http://www.ipa.go.jp/security/rfc/RFC3602JA.html#2.4 > AES は、16 オクテット(128 ビット)のブロックサイズを使用する。 # php -r "echo mcrypt_get_block_size(MCRYPT_RIJNDAEL_256,MCRYPT_MODE_ECB);" 32 ブロックサイズが256ビットになっちゃってますね さて、報告ですがわたしこの手の報告をしたことが無く、英語もさっぱり。 翻訳機でがんばってみようかな、、、 どなたか報告していただけるとありがたいです --- php-users @ itcom.jp wrote: > おく@Workgroupです。 > > > > $key = '12345678901234567890123456789012' ; > > にしても mcrypt_decrypt() は変なバイナリを返すのです > > なぜか、rijndael-128 で復号できますね・・ > > $mcrypt_data = rtrim(mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $key, > $data_enc, MCRYPT_MODE_ECB), "\x00\x05\x08"); > > mcrypt_encrypt で、rijndael-256 したものは、 > rijndael-256 で mcrypt_decrypt できるようです。 > > encrypt の結果が、openssl と、mcrypt で長さから違うので、 > どちらかがおかしいようですね。 > > > > 2011年5月26日19:15 : > > 星野です > > > > おく@Workgroup様 ご指摘ありがとうございます。 > > > > しまった、鍵長が256bitが使えるからAES256なのでした。 > > サンプルコードを作っているときに短くしてしまいました。 > > 恥ずかしい、、、 > > > > $key = '12345678901234567890123456789012' ; > > にしても mcrypt_decrypt() は変なバイナリを返すのです > > > > バイナリをbin2hexで表示してみました。 > > --- > > > $key = '12345678901234567890123456789012' ; > > $data = 'abcd1234' ; > > $data_enc = openssl_encrypt($data,'aes-256-ecb',$key,TRUE) ; > > > > $openssl_data = openssl_decrypt($data_enc,'aes-256-ecb',$key,TRUE) ; > > $mcrypt_data = mcrypt_decrypt('rijndael-256',$key,$data_enc,'ecb') ; > > > > echo $openssl_data ,"\n" ; > > echo bin2hex($openssl_data) ,"\n" ; > > echo bin2hex($mcrypt_data) ,"\n" ; > > ?> > > --- > > 結果 > >> > >> abcd1234 > >> 6162636431323334 > >> 242a2e7c099eb918aa51b768442db1ffb90639e68c71eb82261dff762f7a1235 > > > From php-users @ itcom.jp Fri May 27 12:24:25 2011 From: php-users @ itcom.jp (php-users @ itcom.jp) Date: Fri, 27 May 2011 12:24:25 +0900 Subject: [PHP-users 35581] Re: =?iso-2022-jp?b?bWNyeXB0X2RlY3J5cHQoKSAbJEIkLEA1JDckL0ojGyhC?= =?iso-2022-jp?b?GyRCOWcyPSRHJC0kSiQkGyhC?= In-Reply-To: <103483.76437.qm@web100205.mail.kks.yahoo.co.jp> References: <103483.76437.qm@web100205.mail.kks.yahoo.co.jp> Message-ID: おく@Workgroupです。 mcrypt のman によると、 http://mcrypt.hellug.gr/lib/mcrypt.3.html 「RIJNDAEL-128 (the AES winner) , RIJNDAEL-192 , RIJNDAEL-256 The numerals 128, 192 and 256 stand for the length of the block size. 」 とありますので、RIJNDAEL-128で復号できて間違いないようです。 2011年5月27日12:01 youo hoko : > 星野です > > 分かったかもです > > http://www.ipa.go.jp/security/rfc/RFC3602JA.html#2.4 >> AES は、16 オクテット(128 ビット)のブロックサイズを使用する。 > > # php -r "echo mcrypt_get_block_size(MCRYPT_RIJNDAEL_256,MCRYPT_MODE_ECB);" > 32 > > ブロックサイズが256ビットになっちゃってますね > > さて、報告ですがわたしこの手の報告をしたことが無く、英語もさっぱり。 > 翻訳機でがんばってみようかな、、、 > > どなたか報告していただけるとありがたいです > > > --- php-users @ itcom.jp wrote: >> おく@Workgroupです。 >> >> >> > $key = '12345678901234567890123456789012' ; >> > にしても mcrypt_decrypt() は変なバイナリを返すのです >> >> なぜか、rijndael-128 で復号できますね・・ >> >> $mcrypt_data = rtrim(mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $key, >> $data_enc, MCRYPT_MODE_ECB), "\x00\x05\x08"); >> >> mcrypt_encrypt で、rijndael-256 したものは、 >> rijndael-256 で mcrypt_decrypt できるようです。 >> >> encrypt の結果が、openssl と、mcrypt で長さから違うので、 >> どちらかがおかしいようですね。 >> >> >> >> 2011年5月26日19:15 : >> > 星野です >> > >> > おく@Workgroup様 ご指摘ありがとうございます。 >> > >> > しまった、鍵長が256bitが使えるからAES256なのでした。 >> > サンプルコードを作っているときに短くしてしまいました。 >> > 恥ずかしい、、、 >> > >> > $key = '12345678901234567890123456789012' ; >> > にしても mcrypt_decrypt() は変なバイナリを返すのです >> > >> > バイナリをbin2hexで表示してみました。 >> > --- >> > > > $key = '12345678901234567890123456789012' ; >> > $data = 'abcd1234' ; >> > $data_enc = openssl_encrypt($data,'aes-256-ecb',$key,TRUE) ; >> > >> > $openssl_data = openssl_decrypt($data_enc,'aes-256-ecb',$key,TRUE) ; >> > $mcrypt_data = mcrypt_decrypt('rijndael-256',$key,$data_enc,'ecb') ; >> > >> > echo $openssl_data ,"\n" ; >> > echo bin2hex($openssl_data) ,"\n" ; >> > echo bin2hex($mcrypt_data) ,"\n" ; >> > ?> >> > --- >> > 結果 >> >> >> >> abcd1234 >> >> 6162636431323334 >> >> 242a2e7c099eb918aa51b768442db1ffb90639e68c71eb82261dff762f7a1235 >> > >> > _______________________________________________ > PHP-users mailing list PHP-users @ php.gr.jp > http://ml.php.gr.jp/mailman/listinfo/php-users > PHP初心者のためのページ - 質問する前にはこちらをお読みください > http://oldwww.php.gr.jp/php/novice.php3 > From php-users @ itcom.jp Fri May 27 12:34:25 2011 From: php-users @ itcom.jp (php-users @ itcom.jp) Date: Fri, 27 May 2011 12:34:25 +0900 Subject: [PHP-users 35582] Re: =?iso-2022-jp?b?bWNyeXB0X2RlY3J5cHQoKSAbJEIkLEA1JDckL0ojGyhC?= =?iso-2022-jp?b?GyRCOWcyPSRHJC0kSiQkGyhC?= In-Reply-To: <103483.76437.qm@web100205.mail.kks.yahoo.co.jp> References: <103483.76437.qm@web100205.mail.kks.yahoo.co.jp> Message-ID: おく@Workgroupです。 まとめると、 ・openssl での、aes-256-ecb の 256 は鍵長。aesなので、ブロックサイズは128。 ・mcryptでの、rijndael-128 の 128 はブロックサイズ。 ・mcryptでは、渡す鍵の長さで鍵長が決まる。 ということではないでしょうか? > さて、報告ですがわたしこの手の報告をしたことが無く、英語もさっぱり。 > 翻訳機でがんばってみようかな、、、 phpの問題でもバグでもないので、報告は不要かと。 2011年5月27日12:01 youo hoko : > 星野です > > 分かったかもです > > http://www.ipa.go.jp/security/rfc/RFC3602JA.html#2.4 >> AES は、16 オクテット(128 ビット)のブロックサイズを使用する。 > > # php -r "echo mcrypt_get_block_size(MCRYPT_RIJNDAEL_256,MCRYPT_MODE_ECB);" > 32 > > ブロックサイズが256ビットになっちゃってますね > > さて、報告ですがわたしこの手の報告をしたことが無く、英語もさっぱり。 > 翻訳機でがんばってみようかな、、、 > > どなたか報告していただけるとありがたいです > > > --- php-users @ itcom.jp wrote: >> おく@Workgroupです。 >> >> >> > $key = '12345678901234567890123456789012' ; >> > にしても mcrypt_decrypt() は変なバイナリを返すのです >> >> なぜか、rijndael-128 で復号できますね・・ >> >> $mcrypt_data = rtrim(mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $key, >> $data_enc, MCRYPT_MODE_ECB), "\x00\x05\x08"); >> >> mcrypt_encrypt で、rijndael-256 したものは、 >> rijndael-256 で mcrypt_decrypt できるようです。 >> >> encrypt の結果が、openssl と、mcrypt で長さから違うので、 >> どちらかがおかしいようですね。 >> >> >> >> 2011年5月26日19:15 : >> > 星野です >> > >> > おく@Workgroup様 ご指摘ありがとうございます。 >> > >> > しまった、鍵長が256bitが使えるからAES256なのでした。 >> > サンプルコードを作っているときに短くしてしまいました。 >> > 恥ずかしい、、、 >> > >> > $key = '12345678901234567890123456789012' ; >> > にしても mcrypt_decrypt() は変なバイナリを返すのです >> > >> > バイナリをbin2hexで表示してみました。 >> > --- >> > > > $key = '12345678901234567890123456789012' ; >> > $data = 'abcd1234' ; >> > $data_enc = openssl_encrypt($data,'aes-256-ecb',$key,TRUE) ; >> > >> > $openssl_data = openssl_decrypt($data_enc,'aes-256-ecb',$key,TRUE) ; >> > $mcrypt_data = mcrypt_decrypt('rijndael-256',$key,$data_enc,'ecb') ; >> > >> > echo $openssl_data ,"\n" ; >> > echo bin2hex($openssl_data) ,"\n" ; >> > echo bin2hex($mcrypt_data) ,"\n" ; >> > ?> >> > --- >> > 結果 >> >> >> >> abcd1234 >> >> 6162636431323334 >> >> 242a2e7c099eb918aa51b768442db1ffb90639e68c71eb82261dff762f7a1235 >> > >> > _______________________________________________ > PHP-users mailing list PHP-users @ php.gr.jp > http://ml.php.gr.jp/mailman/listinfo/php-users > PHP初心者のためのページ - 質問する前にはこちらをお読みください > http://oldwww.php.gr.jp/php/novice.php3 > From yoko00068 @ yahoo.co.jp Fri May 27 12:53:32 2011 From: yoko00068 @ yahoo.co.jp (youo hoko) Date: Fri, 27 May 2011 12:53:32 +0900 (JST) Subject: [PHP-users 35583] Re: =?iso-2022-jp?b?bWNyeXB0X2RlY3J5cHQoKSAbJEIkLEA1JDckL0ojGyhC?= =?iso-2022-jp?b?GyRCOWcyPSRHJC0kSiQkGyhC?= In-Reply-To: Message-ID: <72210.38115.qm@web100214.mail.kks.yahoo.co.jp> 星野です あ、そうか RIJNDAEL はもともとブロックサイズは可変なのですね。 AES256 は RIJNDAEL-256 かつブロックサイズ128bit固定のものが 採用されたとのこと。 つまり、 mycryptで指定するRIJNDAEL-256はあくまでRIJNDAELであって AES256では無いんですね。 RIJNDAEL-128 ならばたまたまブロックサイズ128bitになるので 複合化できると。 でもRIJNDAEL-128を指定したのに256bitの鍵を渡して そのまま動いてしまうのは問題のような。 鍵長を指定できるようにするか、 アルゴリズムにMCRYPT_AES_256を指定できるようになるといいかも たまたま鍵長エラーが出ないからといって AES256をmcryptのRIJNDAEL-128で使うのは気が引けますね --- php-users @ itcom.jp wrote: > おく@Workgroupです。 > > mcrypt のman によると、 > > http://mcrypt.hellug.gr/lib/mcrypt.3.html > > 「RIJNDAEL-128 (the AES winner) , RIJNDAEL-192 , RIJNDAEL-256 The > numerals 128, 192 and 256 stand for the length of the block size. 」 > とありますので、RIJNDAEL-128で復号できて間違いないようです。 > > > 2011年5月27日12:01 youo hoko : > > 星野です > > > > 分かったかもです > > > > http://www.ipa.go.jp/security/rfc/RFC3602JA.html#2.4 > >> AES は、16 オクテット(128 ビット)のブロックサイズを使用する。 > > > > # php -r "echo mcrypt_get_block_size(MCRYPT_RIJNDAEL_256,MCRYPT_MODE_ECB);" > > 32 > > > > ブロックサイズが256ビットになっちゃってますね > > > > さて、報告ですがわたしこの手の報告をしたことが無く、英語もさっぱり。 > > 翻訳機でがんばってみようかな、、、 > > > > どなたか報告していただけるとありがたいです > > > > > > --- php-users @ itcom.jp wrote: > >> おく@Workgroupです。 > >> > >> > >> > $key = '12345678901234567890123456789012' ; > >> > にしても mcrypt_decrypt() は変なバイナリを返すのです > >> > >> なぜか、rijndael-128 で復号できますね・・ > >> > >> $mcrypt_data = rtrim(mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $key, > >> $data_enc, MCRYPT_MODE_ECB), "\x00\x05\x08"); > >> > >> mcrypt_encrypt で、rijndael-256 したものは、 > >> rijndael-256 で mcrypt_decrypt できるようです。 > >> > >> encrypt の結果が、openssl と、mcrypt で長さから違うので、 > >> どちらかがおかしいようですね。 > >> > >> > >> > >> 2011年5月26日19:15 : > >> > 星野です > >> > > >> > おく@Workgroup様 ご指摘ありがとうございます。 > >> > > >> > しまった、鍵長が256bitが使えるからAES256なのでした。 > >> > サンプルコードを作っているときに短くしてしまいました。 > >> > 恥ずかしい、、、 > >> > > >> > $key = '12345678901234567890123456789012' ; > >> > にしても mcrypt_decrypt() は変なバイナリを返すのです > >> > > >> > バイナリをbin2hexで表示してみました。 > >> > --- > >> > >> > $key = '12345678901234567890123456789012' ; > >> > $data = 'abcd1234' ; > >> > $data_enc = openssl_encrypt($data,'aes-256-ecb',$key,TRUE) ; > >> > > >> > $openssl_data = openssl_decrypt($data_enc,'aes-256-ecb',$key,TRUE) ; > >> > $mcrypt_data = mcrypt_decrypt('rijndael-256',$key,$data_enc,'ecb') ; > >> > > >> > echo $openssl_data ,"\n" ; > >> > echo bin2hex($openssl_data) ,"\n" ; > >> > echo bin2hex($mcrypt_data) ,"\n" ; > >> > ?> > >> > --- > >> > 結果 > >> >> > >> >> abcd1234 > >> >> 6162636431323334 > >> >> 242a2e7c099eb918aa51b768442db1ffb90639e68c71eb82261dff762f7a1235 > >> > > >> > > _______________________________________________ > > PHP-users mailing list PHP-users @ php.gr.jp > > http://ml.php.gr.jp/mailman/listinfo/php-users > > PHP初心者のためのページ - 質問する前にはこちらをお読みください > > http://oldwww.php.gr.jp/php/novice.php3 > > > _______________________________________________ > PHP-users mailing list PHP-users @ php.gr.jp > http://ml.php.gr.jp/mailman/listinfo/php-users > PHP初心者のためのページ - 質問する前にはこちらをお読みください > http://oldwww.php.gr.jp/php/novice.php3 > From yoko00068 @ yahoo.co.jp Fri May 27 13:03:16 2011 From: yoko00068 @ yahoo.co.jp (youo hoko) Date: Fri, 27 May 2011 13:03:16 +0900 (JST) Subject: [PHP-users 35584] Re: =?iso-2022-jp?b?bWNyeXB0X2RlY3J5cHQoKSAbJEIkLEA1JDckL0ojGyhC?= =?iso-2022-jp?b?GyRCOWcyPSRHJC0kSiQkGyhC?= In-Reply-To: Message-ID: <74425.97174.qm@web100207.mail.kks.yahoo.co.jp> 星野です > ・mcryptでの、rijndael-128 の 128 はブロックサイズ。 失礼しました。そうだったのですね 鍵長かと勘違いしてました。 問題解決です ありがとうございました MCRYPT_AES_256 はほしいなー --- php-users @ itcom.jp wrote: > おく@Workgroupです。 > > まとめると、 > > ・openssl での、aes-256-ecb の 256 は鍵長。aesなので、ブロックサイズは128。 > ・mcryptでの、rijndael-128 の 128 はブロックサイズ。 > ・mcryptでは、渡す鍵の長さで鍵長が決まる。 > > ということではないでしょうか? > > > さて、報告ですがわたしこの手の報告をしたことが無く、英語もさっぱり。 > > 翻訳機でがんばってみようかな、、、 > > phpの問題でもバグでもないので、報告は不要かと。 > > > 2011年5月27日12:01 youo hoko : > > 星野です > > > > 分かったかもです > > > > http://www.ipa.go.jp/security/rfc/RFC3602JA.html#2.4 > >> AES は、16 オクテット(128 ビット)のブロックサイズを使用する。 > > > > # php -r "echo mcrypt_get_block_size(MCRYPT_RIJNDAEL_256,MCRYPT_MODE_ECB);" > > 32 > > > > ブロックサイズが256ビットになっちゃってますね > > > > さて、報告ですがわたしこの手の報告をしたことが無く、英語もさっぱり。 > > 翻訳機でがんばってみようかな、、、 > > > > どなたか報告していただけるとありがたいです > > > > > From harada @ acekoeki.co.jp Tue May 31 12:54:41 2011 From: harada @ acekoeki.co.jp (Minoru.Harada) Date: Tue, 31 May 2011 12:54:41 +0900 Subject: [PHP-users 35585] =?iso-2022-jp?b?GyRCIVZJPSFXSjg7eiROMDckJCRLJEQkJCRGGyhC?= Message-ID: <805D0EC68E814054B689EAE99362210F@ACE.local> こんにちは。 お世話になります。 原田といいます。 PHPとMySQL、apacheで顧客管理システムを作成しています。 その過程の中で、「表」という文字を登録しようとした場合 に困っています。 外部のデータベースから職業の項目を取得して登録するだけ という簡単なものなのですが、「表」の文字を含んでいたデータを 登録しようとすると、  代表取締役----->データ登録は出来るが、文字化けする  会社代表----->データの登録に失敗 というような現象が発生しています。 Webサイトを検索していて「表」の文字コード(参照するデータはシフト JISコード)が原因であるところまでは突き止めましたが、どのように回 避策を講じればいいのかわからず投稿させていただきました。 http://www.kent-web.com/pubc/jcode/ ・開発環境  PHP5.0 (ソースを保存するときは、Shift JISを選択) MySQL 5.0.15  (my.iniファイルの設定は default-character-set=sjis)  Apache  サーバー Windows Server2008 Standard SP2  クライアント WindowsXP SP2 よろしくお願いいたします。 ♪∵∵∵∵∵∵∵∵∵∵∵∵∵∵∵∵∵∵∵∵∵∵∵ /| /| 原田 実 (harada @ acekoeki.co.jp) =ヽ∂= エース交易株式会社 情報システム室 /. \ η Tel:03-5485-4053 Fax:03-5485-5084 ιι;_)ノ URL http://www.acekoeki.co.jp/ ∴∴∴∴∴∴∴∴∴∴∴∴∴∴∴∴∴∴∴∴∴∴∴♪ From niwa @ kobuta.com Tue May 31 12:58:37 2011 From: niwa @ kobuta.com (NiwaNobuo) Date: 31 May 2011 12:58:37 +0900 Subject: [PHP-users 35586] Re: =?iso-2022-jp?b?GyRCIVZJPSFXSjg7eiROMDckJCRLJEQkJCRGGyhC?= Message-ID:  にわと申します。 いちばんの解決策はシフトJISを使わずにUTF-8にすることだと思いますよ。無理ですか ? >PHPとMySQL、apacheで顧客管理システムを作成しています。 >その過程の中で、「表」という文字を登録しようとした場合 >に困っています。 From masakun @ lily.ocn.ne.jp Tue May 31 13:58:19 2011 From: masakun @ lily.ocn.ne.jp (Masaaki Matsuyama) Date: Tue, 31 May 2011 13:58:19 +0900 Subject: [PHP-users 35587] Re: =?iso-2022-jp?b?GyRCIVZJPSFXSjg7eiROMDckJCRLJEQkJCRGGyhC?= In-Reply-To: <805D0EC68E814054B689EAE99362210F@ACE.local> References: <805D0EC68E814054B689EAE99362210F@ACE.local> Message-ID: <20110531045818.9C117204311@mv-osn-hcb005.ocn.ad.jp> まつやまです。 > Webサイトを検索していて「表」の文字コード(参照するデータはシフト > JISコード)が原因であるところまでは突き止めましたが、どのように回 > 避策を講じればいいのかわからず投稿させていただきました。 > > http://www.kent-web.com/pubc/jcode/ 登録する文字列を mysql_real_escape_string でエスケープしてやってもダメで すか? -- Masaaki Matsuyama From sumiya-e @ ube-shinko.co.jp Tue May 31 14:07:26 2011 From: sumiya-e @ ube-shinko.co.jp (Etsuo SUMIYA) Date: Tue, 31 May 2011 14:07:26 +0900 (LMT) Subject: [PHP-users 35588] =?iso-2022-jp?b?UEhQIDUuMy42GyRCJCskaSROGyhCbXlzcWxfY29ubmVjdCgp?= =?iso-2022-jp?b?GyRCJCxDWSQkGyhC?= Message-ID: <20110531.140726.01372912.sumiya-e@ube-shinko.co.jp> sumiyaといいます。 以下の環境で、PHPからのmysqlの接続が遅く調べております。原因として 思い当たるところがありましたら、教えていただきたいのですが。 Windows server 2008 SP2(IIS) PHP-5.3.6-nts-Win32-VC9-x86.zip mysql-noinstall-5.1.56-win32.zip PHPはfast-cgiで組み込んでいます。 php.iniファイルはテストのため、php-ini-developmentを使用し、以下の 項目のみ変更しています。 user_dir = "c:\Inetpub\wwwroot" extension_dir = "ext" extension=php_mysql.dll --- サンプルプログラム $getstart = microtime(true); $link = mysql_connect('localhost', 'root', ''); if (!$link) { die('接続できませんでした: ' . mysql_error()); } echo '接続に成功しました
'; printf("after connect: %f
", microtime(true)-$getstart); mysql_close($link); printf("after close: %f
", microtime(true)-$getstart); --- ここまで --- 5.3.6での実行結果: 接続に成功しました after connect: 0.997660 after close: 0.997805 --- PHPだけ、以下のバージョンを変更すると、 php-5.2.17-nts-Win32-VC6-x86.zip --- 5.2.17での実行結果: 接続に成功しました after connect: 0.011204 after close: 0.011413 --- よろしくおねがいします。 From sumiya-e @ ube-shinko.co.jp Tue May 31 14:20:19 2011 From: sumiya-e @ ube-shinko.co.jp (Etsuo SUMIYA) Date: Tue, 31 May 2011 14:20:19 +0900 (LMT) Subject: [PHP-users 35589] Re: =?iso-2022-jp?b?UEhQIDUuMy42GyRCJCskaSROGyhCbXlzcWxfY29ubmVj?= =?iso-2022-jp?b?dCgpGyRCJCxDWSQkGyhC?= In-Reply-To: <20110531.140726.01372912.sumiya-e@ube-shinko.co.jp> References: <20110531.140726.01372912.sumiya-e@ube-shinko.co.jp> Message-ID: <20110531.142019.60840757.sumiya-e@ube-shinko.co.jp> sumiyaといいます。 From: Etsuo SUMIYA Subject: [PHP-users 35588] PHP 5.3.6からのmysql_connect()が遅い Date: Tue, 31 May 2011 14:07:26 +0900 (LMT) Message-ID: <20110531.140726.01372912.sumiya-e @ ube-shinko.co.jp> > sumiyaといいます。 > > 以下の環境で、PHPからのmysqlの接続が遅く調べております。原因として > 思い当たるところがありましたら、教えていただきたいのですが。 > > Windows server 2008 SP2(IIS) > PHP-5.3.6-nts-Win32-VC9-x86.zip > mysql-noinstall-5.1.56-win32.zip > PHPはfast-cgiで組み込んでいます。 > http://php.net/manual/en/function.mysql-connect.php に以下の記述があり、localhostを127.0.0.1に変更したところ、速くなり ました。もう少し、調べれば良かったです。お騒がせしました。 Whenever you specify "localhost" or "localhost:port" as server, the MySQL client library will override this and try to connect to a local socket (named pipe on Windows). If you want to use TCP/IP, use "127.0.0.1" instead of "localhost". If the MySQL client library tries to connect to the wrong local socket, you should set the correct path as in your PHP configuration and leave the server field blank.