【PHP】PEAR Part2
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2005/08/01(月) 21:27:12ID:pG+mahP3■PEAR
http://pear.php.net/
■前スレ
Pear
http://pc8.2ch.net/test/read.cgi/php/985665522/
0773nobodyさん
2007/03/14(水) 09:34:15ID:???ありがとうございます。
何かの拍子に ID/PW が漏れた場合、
同時にアクセスされたら漏洩発覚!としたかったんです。
0775nobodyさん
2007/03/14(水) 12:37:17ID:???操作ミスなり回線不良なりでCookieあぼーんすると
直ぐにログインできないってことになる。
0776nobodyさん
2007/03/14(水) 12:59:55ID:???0780nobodyさん
2007/03/14(水) 14:43:11ID:???0783nobodyさん
2007/03/14(水) 19:03:09ID:???ストリーミングサイトだったら通信継続してるから
感知して第二ユーザはキック出来るけど、そうじゃなきゃ>>775のような
ケースでクレーム来るほうが怖いからなあ。
0784nobodyさん
2007/03/14(水) 19:07:01ID:???0785nobodyさん
2007/03/14(水) 19:12:34ID:???0786nobodyさん
2007/03/14(水) 19:21:48ID:???0787nobodyさん
2007/03/14(水) 23:04:39ID:???10分以内に通信無きゃ強制ログアウトっていうのが許されるサイトなら問題が少なくなる。
最大10分の再ログインラグが出るけどね。
0788nobodyさん
2007/03/15(木) 00:52:45ID:???・ユーザは出来るだけ明示的にログアウトするようお願いする
・メインウィンドウがクローズされる時にログアウトのURLを叩くJavaScriptを仕込んでおく
・最終アクセスを全ユーザの全アクションで記録しておいて、ログアウトなしのユーザがログインしようとしたら最終アクセスが10分以内の場合は弾く
イントラ用のアプリケーションだったから負荷とかも考慮した上でここまでやったけど
一般向けのWebサイトじゃどこまでやるかは難しい判断だろうなぁ
0789nobodyさん
2007/03/15(木) 09:27:34ID:???それは、パスワード漏洩時の対策にはならんのではないか。
まあそもそもの話として同時アクセス=漏洩なのかというか、常時使うシステムでもない限り使う時間がぶつかることがあるのか疑問。
漏洩するとしたら、内部からユーザ情報持ちだしとか、パソコンに付箋紙貼ってある時だと思うんだが、
したら不正利用する人が夜中とかに使えばまあ、システム上はほとんど不正利用にならないだろうし。
>>788
ログアウトするようにお願いするったって
不特定多数のコンピュータリテラシーがまちまちなユーザじゃ無理。
メインウィンドウをクローズしないかもしれないし。
夢を見すぎじゃないかと。
ユーザに過去のログイン・ログアウト情報を提示して、変だったら通報してもらうほうがいいんじゃねえの。
過去にどういう行動をしたのか知ってるのは本人しかいないわけだし。
0790nobodyさん
2007/03/15(木) 10:01:20ID:???世の中には「テメエにしか分からないこと」を
自動的に論理矛盾なくプログラム側で判断しろ、
という輩もいるわけでwww
0791nobodyさん
2007/03/15(木) 11:54:09ID:???0792nobodyさん
2007/03/15(木) 12:14:00ID:???お願いするだけじゃ無理なのが解ってるから2番目・3番目の仕組を入れてるわけで
無理じゃなけりゃJavaScriptだの全アクセス記録だの不要だろw
あと「イントラ用」って書いたんで不特定多数ではない時の話だってのも読み取ってほしいところ
>>791
ログインには使えるけどログアウトしてくれるかどうかは別問題だねそれはw
PCの不意のハングアップまで考慮しようとすると
それこそJavaScriptか何かでサーバとハートビート交換しまくって
途切れたらログアウト処理にするとかまでやらないと難しいだろうなぁ
0794nobodyさん
2007/03/15(木) 13:00:52ID:???と言われても、話の元の人はイントラ用とは言ってないわけだし、実際採用されたらどうかなあと思うわけで。
結局のところ、普通に当たり前のことをやっとけばいいと思うよ、としか言えないな。
一応法整備されたからパスワードだけかけておけばノーガードでもいんじゃねという話もある。
0795nobodyさん
2007/03/15(木) 13:58:14ID:???>それは、パスワード漏洩時の対策にはならんのではないか。
元ネタが同時ログインをキックしたいということだけであって、どこに問題がある?
0796nobodyさん
2007/03/15(木) 14:21:29ID:???>>773
> 何かの拍子に ID/PW が漏れた場合、
> 同時にアクセスされたら漏洩発覚!としたかったんです。
>>771だけ見ればそんなもんかって感じだが。
0797nobodyさん
2007/03/15(木) 15:40:15ID:???どうでもいいじゃん。同時アクセスキックできる方法だけ話してればいい。
0798711
2007/03/15(木) 17:59:45ID:???両方再ログイン促すので十分です。
それで漏洩か運用で分かると思うので。
なんだかいろいろと考えることが多いのですね ^^;
どこかにいい実装例はないでしょうか。
( コードがあると嬉しいです )
0799nobodyさん
2007/03/15(木) 18:50:39ID:???仮に漏洩してたとして、同時アクセスと思える範疇でアクセスがある、漏洩と判断できる確率って少ないんじゃね。
あれこれ仕掛けてユーザビリティ低下でクレームが発生するほうが高そうに思えるのだが。
まぁどこまでコストをかけるかは措いといて、
>>775で「どうやってログアウトを...」って書いたけど、Cometならできるかもしんない。
Cometシステムを構築したことどころか、lingrさえしたことないので、
どこまで実用的に漏洩を察知できるシステムができるどうかは知らんが。
これでも、ユーザが会社でブラウザを開いたまま帰宅、自宅でログイン出来ねーって言うかもな。
0800nobodyさん
2007/03/15(木) 21:24:01ID:fuFXgue7イントラ想定してしながらそうじゃないケース想定してるのが痛い
0802nobodyさん
2007/03/15(木) 21:35:01ID:???0803nobodyさん
2007/03/15(木) 22:37:02ID:???っていう仕組みを作ろうかとか考えたことある。
実用性が無さそうなんでやめたけど。
0804nobodyさん
2007/03/15(木) 22:44:26ID:???0805nobodyさん
2007/03/15(木) 23:51:51ID:???元質はイントラじゃない
イントラ云々はおれが>>788で
「イントラだったからここまでやったけどそうでなければどれくらい手間をかけたもんかな」的に書いただけ
>>803
迂闊にトイレにも行けねーなw
0806nobodyさん
2007/03/15(木) 23:57:38ID:???0807nobodyさん
2007/03/15(木) 23:58:51ID:7hzpmvYOなんか旨い方法ないのかな?
0808nobodyさん
2007/03/16(金) 00:07:36ID:???0809799
2007/03/16(金) 00:15:29ID:???Cometって時間的にどのくらいコネクションを握ったままできるのかしらんだけど、
擬似サーバプッシュでクライアントからの返答(再リクエスト)がなければログアウト状態と判断できると思う。
保存期間なしのCookieも併用して。
Apacheにmod_cometみたいなモジュールが出てきたらいろいろ面白そうだけどなぁ。
で、PEARとはまったく関係ない話になってしまった。
0811nobodyさん
2007/03/16(金) 00:56:45ID:???無いと、すぐに鯖がパンクするな。
0812nobodyさん
2007/03/16(金) 04:10:01ID:???0814nobodyさん
2007/03/16(金) 09:00:07ID:tL5WlbtEttp://hain.jp/index.php/tech-j
にFlashのSocketライブラリを利用してPHP(鯖)+FLASH/JavaScript(客)で
通信を行うという話がのっている(socketjs→ttp://dev.dschini.org/socketjs/)。
これが出来るならなんとかなるんじゃないの。
0816nobodyさん
2007/03/16(金) 15:00:47ID:???利用できる端末を登録制にする。
登録は自分で出来るけど、登録用には別のパスワードを用意して、全てが漏れないと使えないようにする。
端末の登録が変更されると、指定したメールに通知。
たしかソニバンがこれ。
登録済み端末が操作されてしまうのは防げない。
0820nobodyさん
2007/03/16(金) 16:48:41ID:???>元質問者です。
>両方再ログイン促すので十分です
これ意味あるかな?
1.そもそも先にログインしている方が「正規ユーザ」とは限らない。
2仮にそうだとしても、.クラックした方が先に再ログインすることも出来る
実際は、こういう事態がおこったら、そのユーザアカウントは仮停止すべきでしょう。
0821nobodyさん
2007/03/21(水) 18:47:33ID:78nxSnEz0822nobodyさん
2007/03/22(木) 14:53:02ID:???0823nobodyさん
2007/03/23(金) 14:24:37ID:cotQkCWiPearでQuickFormを使ってページを作成しています。
controllerを使ってウィザード式にしたいのですが
前のページでデータベースからの検索結果(不特定多数)があり
その結果それぞれにリンクを貼りクリックするとその情報を持って
次のページに行きたいのです。
色々調べたのですがフォームボタンを使ったものしかなく
困ってます。
参考になるページなどありましたら教えてください
よろしくお願いいたします。
0824nobodyさん
2007/03/23(金) 18:09:38ID:???a href 要素・属性で、POSTで送信したいってことでしょ?
javascriptを使えばいい。
’リンクでPOST’
とかググればすぐ
0825nobodyさん
2007/03/25(日) 05:11:07ID:2BiXNRYtアクセスしようとしてもできないのはなんで?
時間が悪いのかな?
0826nobodyさん
2007/03/25(日) 10:38:49ID:???今は普通にできるから。
0827nobodyさん
2007/03/28(水) 09:11:39ID:???ステートレスのHTTPでは無理。
社員にICタグつけておいて、部屋に入ってきたらアクセス許可、退室したらアクセス拒否でいいかと。
0828nobodyさん
2007/03/28(水) 17:44:14ID:OFFYL5la具体的なやり方が分かりません。参考になる書籍かページを教えていただけないでしょうか。
0829828
2007/03/28(水) 18:55:20ID:???function LoginLog( $user, $params) {
$usrname = $user;
$etc_value = $params->post['postしたname'];
ログ書き込み;
・
・
}
・
・
$a = new Auth("DB", $params);
$a -> setLoginCallback("LoginLog");
$a -> start();
・
・
ってな感じでlogincallback を使うことが出来るようになりました。
postUsername の使い方は分かりませんでしたが、とりあえず上で行こうと思います。
お騒がせしました。
0830nobodyさん
2007/04/08(日) 03:01:58ID:n+ShWf8j>キャッシュをメモリに置けばお手軽に負荷テストの結果を一桁あげられる
cacheLiteってメモリ云々とかしてたのか
単にキャッシュを作ってreadfile()で表示してるだけなのかと思ってた
ってか、ふーん楽勝〜車輪の再発明でもいいもんね〜とか調子にのって
myCacheSystemを作ってしまったんだが、単にreadfile()で表示するだけでも効果あるよね
携帯3キャリアごとの絵文字が入ったページの表示切り替えなんだが
(いちいち変換するより作りおきと思って)
今は一つのファイルで3キャリア分岐(if...else if...)のPHPコード交じりの静的?に書き出しているんだけど、
アクセスが集中すると、ロックが変になるのかファイルが途中で途切れてパースエラー頻発
おまけにパースエラーはハンドリングできない?ので目視でエラーチェックorz
0831nobodyさん
2007/04/10(火) 10:33:43ID:???0832nobodyさん
2007/04/10(火) 13:41:55ID:???横レスごめんなさい。携帯3キャリアの絵文字のコード(変換コード?)って
どうやって手に入れたんですか?
それと、最近の携帯は3社共通仕様になってますが、そこのコードも手に入りますか?
将来的に携帯を視野に入れてるので、是非お聞かせ下さい。
0833nobodyさん
2007/04/11(水) 04:58:32ID:xStB8qdyで作成されたキャッシュデータがファイルの所有者がapacheになっちゃうので
FTPソフトでは消せないんですが、全て削除するような関数はありますか?
(Cache_liteでいうclean関数みたいな)
0834nobodyさん
2007/04/11(水) 05:00:07ID:xStB8qdy共用サーバ(ロリポ)で、PEARのCache(Cache_Liteじゃない)
で作成されたキャッシュデータの所有者がapacheになっちゃうので
FTPソフトでは消せないんですが、全て削除するような関数はありますか?
(Cache_liteでいうclean関数みたいな)
まだ変、ごめんなさい(´;ω;`)
0835nobodyさん
2007/04/11(水) 06:30:50ID:???そうすればapacheのUIDで消す事ができるでしょ?
0836nobodyさん
2007/04/11(水) 11:14:51ID:???0837nobodyさん
2007/04/11(水) 12:40:28ID:???コンテナのFILEのクラスをextendsしてsaveメソッドあたりの時にchmodすればいいだけだ。
0838nobodyさん
2007/04/11(水) 15:29:36ID:???共有鯖使うなって感じ。占有鯖使えば?
0839nobodyさん
2007/04/11(水) 18:00:02ID:???0840nobodyさん
2007/04/11(水) 18:00:33ID:???ディレクトリ内のファイル一覧出してunlinkにぶち込んだら綺麗に消えました!
所有者が「apache」ってのに尻込みして、PHPプログラムじゃ消せないだろうと
先入観を持った私がバカでした。
ありがとうございました、本当に助かりました。
>>836
おっしゃるとおり、サクッと消したい気持ちもあったんですが、
純粋にPHPプログラムで消せると思ってなくて・・・ゴメンナサイ、ありがとです。
>>837
私には難しくてよく分かりませんでしたが、優しさは伝わりました、ありがとです。
>>838
貧乏でゴメンナサイ(´・ω・`)
0841nobodyさん
2007/04/12(木) 09:52:37ID:???>ディレクトリ内のファイル一覧出してunlinkにぶち込んだら綺麗に消えました!
Cache/Container/file.phpを勉強のつもりでいいから読め。
flushで一発だろ。
$cache = new Cache('file',なんたら);
$id = $cache->generateID('なんたr');
ってやってるんだろうから
$cache -> flush($id);
で消えるはずだ。やってないけど。
0843nobodyさん
2007/04/12(木) 11:17:40ID:???0844nobodyさん
2007/04/18(水) 10:27:31ID:???$tmpArray = array();
foreach ($list as $row) {
$tmpCheckBox =& $form->createElement('checkbox');
$tmpCheckBox->setName($i);
$tmpCheckBox->setText($row['name']);
$tmpCheckBox->updateAttributes(array(
'value' => $row['id'],
'id' => 'check_'.$i
));
$tmpArray[] = $tmpCheckBox;
$i++;
}
$form->addGroup($tmpArray, 'ques_01', '', '');
こんな感じで checkbox の value の値は変えられるようになったのですが
freeze() すると値が1に戻ってしまいます。
何とか freeze() を経由しても、継承する方法はないのでしょうか?
0845nobodyさん
2007/04/18(水) 12:30:05ID:???nameを foo[] とか foo[$i] にした方がいいと思う
0846nobodyさん
2007/04/18(水) 12:33:12ID:???http://pear.php.net/package/HTML_QuickForm2/
0847844
2007/04/19(木) 11:31:58ID:???name は修正しました。ご指摘ありがとうございます。
いろいろとやってみてるんですが setPersistantFreeze(true) 指定してもだめ。
$_POST の値では渡っているんですが…。
0848nobodyさん
2007/04/22(日) 19:06:46ID:???だからfreezeしてvalueの値が変わる変わらないに関わらず
該当チェックボックスのnameのPOSTがあるかないかで
判断するようにロジックを組め
チェックボックスってのはチェックするためのボックスのことだ
0849nobodyさん
2007/05/07(月) 22:53:29ID:???XHTMLヘッダ部分を生成するPEARって他にないのですか?
0850nobodyさん
2007/05/10(木) 17:54:10ID:???○○○ <test@example.com>
の○○○の部分に []()<>@,;\:". があると送れなくなりました。
mb_encode_mimeheader() は、英数字だけだと
=?ISO-2022-JP〜 のようにしてくれないためメール送信できません。
英数字だけでも =?ISO-2022-JP〜 にしてくれる
関数なりモジュールはないでしょうか?
0851nobodyさん
2007/05/10(木) 19:40:51ID:???$to = '=?ISO-2022-JP?B?' . base64_encode($name) . '?=' . '<' . $to_addr . '>';
みたいな感じで
0853nobodyさん
2007/05/11(金) 10:38:49ID:???MIME は 74 文字で折り返します。
その実装例はないでしょうか?
# メールに関することなので、
# 自分がコードを書くより、
# 実績のあるコードがあるとうれしいです。
0854nobodyさん
2007/05/11(金) 15:36:48ID:???こんなのはどうだろう?
修正よろしく>PHP ハッカーたち江
<?php
$string = 'あいうえお かきくけこ さしすせそ たちつてと なにぬねの はひふへほ まみむめも やゆよ';
$fold = 24;
$MIME = array();
$indent = '';
$line = 0;
$start = 0;
for ($i = 0; $i < mb_strlen($string, 'ascii') + 2; $i += $fold) {
$from = mb_strcut($string, $start, $fold);
if ($line > 0) {
$indent = ' ';
}
$MIME[] = $indent . '=?ISO-2022-JP?B?' . base64_encode(mb_convert_encoding($from, 'JIS', 'EUC-JP')) . '?=';
$start += mb_strlen($from, 'ascii');
$line++;
}
?>
0855nobodyさん
2007/05/11(金) 16:25:45ID:???> mb_encode_mimeheader() は、英数字だけだと
> =?ISO-2022-JP〜 のようにしてくれないためメール送信できません。
そうだっけ? ちょっと試してみたが、
$ php -r 'echo mb_encode_mimeheader ("あいうえお かきくけこ さしすせそ たちつてと なにぬねの はひふへほ まみむめも やゆよ");'
=?ISO-2022-JP?B?GyRCJCIkJCQmJCgkKhsoQiAbJEIkKyQtJC8kMSQzGyhCIBskQiQ1GyhC?=
=?ISO-2022-JP?B?GyRCJDckOSQ7JD0bKEIgGyRCJD8kQSREJEYkSBsoQiAbJEIkSiRLGyhC?=
=?ISO-2022-JP?B?GyRCJEwkTSROGyhCIBskQiRPJFIkVSRYJFsbKEIgGyRCJF4kXyRgGyhC?=
=?ISO-2022-JP?B?GyRCJGEkYhsoQiAbJEIkZCRmJGgbKEI=?=
0856nobodyさん
2007/05/11(金) 17:33:32ID:???0857nobodyさん
2007/05/11(金) 17:38:04ID:???mimeエンコードしなくていいんじゃないの?
だからmb_encode_mimeheaderは変換せずに返すんじゃないのか
0858nobodyさん
2007/05/11(金) 19:02:14ID:???0859855
2007/05/12(土) 00:43:49ID:???0860nobodyさん
2007/05/13(日) 16:24:10ID:???今読むとなかなか大変だけど…
まーbase64とjisですましちゃうお手軽でinvalidなコードはよくないとおもうよ
0861nobodyさん
2007/05/13(日) 17:12:19ID:???0862nobodyさん
2007/05/13(日) 22:27:06ID:???ひょっとして落ちてる?
0863850
2007/05/14(月) 10:05:14ID:???いろいろありがとうございます。
jcode.pl の移植は私の手に余ります…。
皆さん、どうしているんでしょうね。
0864nobodyさん
2007/05/20(日) 21:58:47ID:???0865nobodyさん
2007/05/21(月) 16:48:40ID:???0866nobodyさん
2007/05/28(月) 13:54:38ID:???0867nobodyさん
2007/05/28(月) 14:01:21ID:???0868nobodyさん
2007/05/28(月) 15:36:20ID:???0869nobodyさん
2007/05/31(木) 11:01:08ID:???0870nobodyさん
2007/05/31(木) 20:11:10ID:???0871nobodyさん
2007/05/31(木) 20:24:41ID:???ノ /,.-‐'"´ `ヾj ii / Λ
,イ// ^ヽj(二フ'"´ ̄`ヾ、ノイ{
ノ/,/ミ三ニヲ´ ゙、ノi!
{V /ミ三二,イ , /, ,\ Yソ
レ'/三二彡イ .:ィこラ ;:こラ j{
V;;;::. ;ヲヾ!V ー '′ i ー ' ソ
Vニミ( 入 、 r j ,′
ヾミ、`ゝ ` ー--‐'ゞニ<‐-イ
ヽ ヽ -''ニニ‐ /
| `、 ⌒ ,/
| >┻━┻'r‐'´
ヽ_ |
ヽ _ _ 」
ググレカス [ Gugurecus ]
( 2006 ? 没年不明 )
0872nobodyさん
2007/06/01(金) 01:17:38ID:???■ このスレッドは過去ログ倉庫に格納されています