[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 2chのread.cgiへ]
Update time : 02/22 13:24 / Filesize : 213 KB / Number-of Response : 827
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【PHP】PEAR Part2



1 名前:nobodyさん [2005/08/01(月) 21:27:12 ID:pG+mahP3]
落ちてたんで立てとく

■PEAR
pear.php.net/

■前スレ
Pear
pc8.2ch.net/test/read.cgi/php/985665522/

725 名前:nobodyさん mailto:sage [2007/02/15(木) 01:48:19 ID:???]
まず、どのようにインストールしたかかけや

726 名前:nobodyさん [2007/02/15(木) 02:10:56 ID:202bzPy7]
go-pear.orgからインストールしたのよ。


727 名前:nobodyさん [2007/02/15(木) 17:56:46 ID:kYaagmVU]
おまえらどんなPEAR使ってるか教えろ。

728 名前:nobodyさん mailto:sage [2007/02/15(木) 18:18:00 ID:???]
インフラとして必要で、実用的で、枯れてて、
誰でもすぐに馴染める使いやすいパッケージは

・PHPUnit
・PhpDocumentor
・PEAR
・MDB2(+Driver)
・HTTP_Request
・Cache_Lite
・Log
・Mail

あたりとか?
もうPHP4でしか使う機会がないな
PHP5でいいならフレームワークに付属ので間に合わすか、
ZFのライブラリを使う

729 名前:nobodyさん mailto:sage [2007/02/15(木) 19:29:34 ID:???]
Pagerも結構よいよ

730 名前:nobodyさん [2007/02/15(木) 21:50:13 ID:l05otmqr]
まだHTTP_Requestしか使ったことないや。

731 名前:nobodyさん mailto:sage [2007/02/16(金) 09:32:26 ID:???]
Cache_Liteはめちゃくちゃ重宝する。

732 名前:nobodyさん mailto:sage [2007/02/17(土) 12:31:18 ID:???]
HTML_QuickFormで確認ページって出せますか?
入力→確認→登録みたいな感じです。
出せる場合はどのようにしたら良いのでしょうか、、?

733 名前:nobodyさん mailto:sage [2007/02/17(土) 12:33:24 ID:???]
freeze使え



734 名前:nobodyさん mailto:sage [2007/02/17(土) 14:54:17 ID:???]
確認画面用に freeze() 使う時は hidden 要素に setPersistantFreeze(true) も忘れないように

735 名前:732 mailto:sage [2007/02/21(水) 05:59:51 ID:???]
>733,734
やってみる!ありがとう。


736 名前:nobodyさん [2007/02/22(木) 14:28:49 ID:3Rwtxk4J]
PEAR のコーディング規約って、
Java でよく使われているもののほぼコピー?

737 名前:nobodyさん mailto:sage [2007/02/22(木) 18:02:36 ID:???]
PHPUnit PEARから外れちゃったんだよなぁ。
PHP4でFirebirdのある限り
DBを使いつづける選択肢しかないんだよなぁ。

738 名前:nobodyさん [2007/02/22(木) 22:53:30 ID:Ua9elyJa]
MDB2( pear.php.net/manual/ja/package.database.mdb2.php )についての質問です。

スクリプトでMDB2を用いる際に、いちいちDSNやエラーチェックをすると
コードが冗長になってしまいます。

みなさんはどうしていますか?
私が考えたのは、例えば 'DataBase' というクラス(MDB2のクラスを継承)を定義して
そこから使うのがよいかと思っています。

これについて何か参考になるドキュメントがありましたら
ぜひ教えてください。よろしくお願いします。

739 名前:nobodyさん [2007/02/23(金) 23:08:52 ID:yQax9a0k]
無駄なものを覚えるとかえって時間がかかる
何を学ぶかの取捨選択が大事だと思います
HTML_QuickFormのほかに、これには手を出すなというのはありますか?


740 名前:nobodyさん mailto:sage [2007/02/23(金) 23:33:13 ID:???]
>>739
HTML_QuickForm_Controller/DB/DB_DataObject/Auth/Auth_HTTP/Cache_Lite
このくらいかな…

741 名前:nobodyさん [2007/02/24(土) 05:53:48 ID:UYU7E5V9]
Authについて質問です。
MySQLにパスワードと名前を入れておいて、そこを読み取って認証するという
単純な認証を試しに作ってみたのですが、どうも巧く行きません。

具体的には、どのような入力をしても、以下の「MyAuth.php」のswitch($status)でdefaultが選ばれてしまうので、困っています。
どなたか、アドバイスをください。

以下、ソースコードです。

742 名前:これらは、全て同じ階層のフォルダに入ってます [2007/02/24(土) 05:57:38 ID:UYU7E5V9]
//MyAuth.php
<?php
$documentroot=dirname(__FILE__) . '/';
require_once($documentroot . 'config.php');
require_once ('Auth/Auth.php');

function loginFunction ($usr,$status){
switch($status){
case AUTH_IDLED :
case AUTH_EXPIRED :
$err='ログイン期限が切れています。再ログインしてください';break;
case AUTH_WRONG_LOGIN :
$err='メールアドレス/パスワードが間違っています';break;
default:
print ("default");
}
require_once('login.php');
}

$params=array(
'dsn'=> _DSN,
'table'=>'member_table',
'usernamecol'=>'userxxxx',
'passwordcol'=>'password',
'cryptType' => 'MD5',
'db_fields'=>'*');
$myAuth=new Auth('DB', $params, 'loginFunction');
$myAuth->start();
if(!$myAuth->getAuth()){
exit();
}
?>

743 名前:これらは、全て同じ階層のフォルダに入ってます [2007/02/24(土) 05:59:12 ID:UYU7E5V9]
//login.php
<html><head><title>ログインページ</title></head>
<body>
<form method =" POST" action ="<?php print ($_SERVER ['PHP_SELF']) ?>" >
<table border="0">
<tr><th alight="right">メールアドレス</th>
<td><input type="text" name="username" size="30" maxlength="50" /></td></tr>
<tr><th alight="right">パスワード</th>
<td><input type="password" name="password" size="30" maxlength="50" /></td></tr>
<tr><td colspan="2"><input type="submit" value="ログイン" /></td></tr>
</table>
<font color="Red"><?php print($err); ?> </font>
</form></body></html>


//config.php
<?php


define("_DB_USER", "db_user");
define("_DB_PASS", "pass");
define("_DB_HOST", "localhost");
define("_DB_NAME", "db");
define("_DB_TYPE", "mysql");

define("_DSN", _DB_TYPE . '://' . _DB_USER . ':' . _DB_PASS . '@' . _DB_HOST . '/' . _DB_NAME);
?>

以上です。長々とスミマセン。



744 名前:nobodyさん mailto:sage [2007/02/25(日) 00:45:14 ID:???]
>>741
PHPの質問スレ行った方がいいんじゃね?

745 名前:>>741-743 mailto:sage [2007/02/25(日) 01:10:29 ID:???]
>>744
おっしゃる通りですね。
PHPの下質のスレに行きます。
お目汚し失礼しました。

746 名前:nobodyさん [2007/02/28(水) 08:54:35 ID:ZY+YimwX]
SQLビルダーが欲しくて色々さがしてます。
DB_DataObjectがよさげだとおもって、ちょっと読んで
軽く使ってみたのですが
これってSQLだけgetすることは出来ないのでしょうか?

接続にはDBとかMDBは遅いのでPDOを使いたいのですけど・・・

良いのありませんかね?
dinolibっていうのも使ってみたけど、古いし、イマイチ。

DB_DataObjectはマジで便利そうなんだけど・・・

747 名前:nobodyさん mailto:sage [2007/02/28(水) 14:56:36 ID:???]
流れはORマッパーなので。

748 名前:nobodyさん mailto:sage [2007/02/28(水) 20:30:47 ID:???]
>>746
おれも以前に似たような要求で色々と調べたけど
"_" から始まる名前の(PEAR規約で private 扱いの)メソッドやら変数やらをアレコレしないと
生 SQL のみを取得することはできなかったっす

749 名前:745 mailto:sage [2007/02/28(水) 21:39:38 ID:???]
ソース見たら出来なさそうですね。

SQL生成から実行まで、一つのメソッドでやってた。

あれを改造しちゃうか・・・
DBかMDB2を使うか
他のSQLビルダを探すか

自分で作っちゃうか

とりあえずここ過疎化してるので
PHP版に移住します。お騒がせしました。

750 名前:745 [2007/02/28(水) 23:20:38 ID:ZY+YimwX]
>>748
すいません。板のURLが変わってたんですね
2chブラウザ使ってるのでレスが付いてないのかと思っちゃいました。

SQLビルダ作るかな〜


751 名前:nobodyさん mailto:sage [2007/03/01(木) 01:32:14 ID:???]
DB_DataObjectはORマッパであってSQLビルダでない件に関して

752 名前:745 [2007/03/01(木) 10:39:52 ID:vEHHBeZ0]
>>751

純粋にクエリーを発行して配列にオブジェクトを格納するところまでの時間を計測したんですけど
PDO::FETCH_CLASSとかpg_fetch_object(postgresqlなら)を使うと
シチュエーションによっては10倍近い速さなんですよね。

だからSQLビルダだけ使えないかと思ったわけでして。
ただ、取得するデータ件数が少ないと、速度差はごくわずかなので
LIMITで絞ってページングすればほとんど変わらない気もするし・・・

DB_DataObject使うとSQLインジェクションとかプレイスフォルダ使わなくて
ばっちり対策済みなんでしょうか?

もうちょっと色々試してみます・・・

すごい良く出来てると思うので、気になるのは速度だけなんだよな〜

753 名前:nobodyさん mailto:sage [2007/03/01(木) 11:20:12 ID:???]
今更DB_DataObjectもないだろう
PHP4しか使えませんな環境ならしょうがないかもしれんが
最近のフレームワークのO/Rマッパの実装を調べた方がいいと思うよ
ZFやsymfonyで使ってるpropelとかもPDOのアダプタが用意されてるだろう

SQLビルダならPEARにもDB_QueryToolとかあるけど
SQLビルダっつー仕組み自体が古いというかいけてないと思う
基本O/RマッパでシンプルなDBアクセスは
SQLなんて一切気にすることなく操作できて
3つも4つもJOINするような複雑なクエリになる場合は
SQL書いて取得するっていうスタイルが今の流れで
それは理にかなってると思う
実際WEBアプリで必要になるSQLなんてのは
大抵の場合7〜8割方定型でシンプルなクエリだから
複雑なSQLはビルダで組み立てなくても直で書けばいい
ビルダでどうやって複雑なSQLを組み立てるか考えるのは本末転倒

オレオレO/Rマッパ書くためにSQL組み立てる層を書くのが面倒だから
SQLビルダだけ欲しいみたいな感覚ならまあわかるが
INSERT/UPDATE/DELETEは割と簡単に書けるし
SELECTはZFのZend_Db_Selectあたりを参考にするといいんじゃない



754 名前:nobodyさん mailto:sage [2007/03/01(木) 11:23:12 ID:???]
>>753
あなたの言っている全ての機能はDB_DataObjectにも実装されていますが?
それにフレームワーク固有のコードを書いていたら汎用性が全く無くなってしまう。

それこそ、自己満足の時代に逆境したプログラミングでしかない。

755 名前:nobodyさん mailto:sage [2007/03/01(木) 11:29:52 ID:???]
じゃあDB_DataObject使えばいいじゃんw

756 名前:nobodyさん mailto:sage [2007/03/01(木) 11:45:56 ID:???]
PEAR::DB が遅いってのは抽象化インタフェースなんだからある程度は仕方ないと思うが
pdo がいいなら PEAR::DB とインタフェース互換で pdo 直接叩くようなのを書けばいいんじゃないかな
てか書いたら公開してくれw

757 名前:nobodyさん mailto:sage [2007/03/01(木) 12:33:14 ID:???]
>>754
別にDB_DataObjectが機能不足だなんて書いてないし
俺もDBやDB_DataObjectを経て来た上で書いている
あとZend_Dbやpropelにフレームワーク固有のコードとかない
それぞれ独立したライブラリとして作られている
てかDB扱うライブラリに普通FW固有のコードなんて書かない
もうちょっと色んなライブラリ見渡してみてもいいと思うよ

758 名前:nobodyさん mailto:sage [2007/03/01(木) 12:37:31 ID:???]
>それにフレームワーク固有のコードを書いていたら汎用性が全く無くなってしまう。
フレームワークをなんだと思ってるんだ?

759 名前:nobodyさん mailto:sage [2007/03/01(木) 15:51:00 ID:???]
DBからMDB2に移ろうとしているんですが、
MDB2って、なんかDBに比べて不便になってる
気がするんですが、気のせいでしょうか?

insertやupdateの手順がまんどくさくなってるよな。。。

760 名前:nobodyさん mailto:sage [2007/03/08(木) 12:27:01 ID:???]
Html_QuickFormでprocess()を2回使用しようとするとエラーになります。
Fatal error: Cannot redeclare callback1() (previously declared in c:\path\file.php:100)

以下のようにしたい場合はどうすればいいでしょうか?
if($objForm->validate()){
    $objForm->process('callback1');
    $objForm->process('callback2');
}


761 名前:nobodyさん mailto:sage [2007/03/08(木) 12:31:50 ID:???]
単にcallback1()を2回定義しちゃってるだけじゃないの?

762 名前:760 mailto:sage [2007/03/08(木) 14:00:23 ID:???]
>761
仰る通りでした。ありがとうございました。

補足としては、実はと言っては怒られそうではありますが、
クラス内にprocess()を呼び出すメソッドを作り、その中にコールバック関数を定義しておりました。
このような感じ。
class Form extends HTML_QuickForm{
    function actProcess($callbackFuncName){
        function callbackFunc1(){...}
        function callbackFunc2(){...}
        return $this->process($callbackFuncName, false);
    }
}
ですので、actProcess()を2回目に呼び出すと、
callbackFunc1(),callbackFunc2()がもう一度定義されエラーになっていた模様です。

調べたところ、コールバック関数をprocess()呼び出しのメソッド外に置き、
process()の第一引数をarray(&$this, 'callbackFuncName')のようにすると良い事が分かりました。
以下のような感じ。
class Form extends HTML_QuickForm{
    function actProcess($callbackFuncName)
    {
        return $this->process(array(&$this, $callbackFuncName), false);
    }
    function callbackFunc1(){...}
    function callbackFunc2(){...}
}


763 名前:nobodyさん mailto:sage [2007/03/09(金) 15:56:39 ID:???]
RedHatES上のPHP-4.3.2で
$pear upgrade PEAR
をやったら
PEAR 1.5.1 stable
に無事アップデートできたみたいなんですが、良く見ると
/usr/bin/pear
が無くなってしまった様です。

/usr/share/pear/pearcmd.php
を直接実行しようとしてもエラーが出て、中身を見てみると
<?php
//
// +----------------------------------------------------------------------+
// | PHP Version 5                                                        |
// +----------------------------------------------------------------------+
//....'
になっています。

一旦phpを再インストールするしか復旧する方法は無いでしょうか?



764 名前:nobodyさん mailto:sage [2007/03/09(金) 16:07:36 ID:???]
今俺も試しにアップグレードしてみたが特に問題ないな
whichとfindで探しても全くでてこない?

765 名前:nobodyさん mailto:sage [2007/03/09(金) 16:18:35 ID:???]
Html_QuickFormのselectあります。
これにmultiple属性を設定するにはどんな書式にすればいいんでしょうか?

$QuickForm->addElement('select',);

みたいな書式でできるんでしょうか・・・?

766 名前:763 mailto:sage [2007/03/09(金) 19:18:19 ID:???]
>>764
取り合えず、同一構成の別サーバからpearコマンドとpearディレクトリごと持ってきて入れ替えたら

$pear list
INSTALLED PACKAGES:
===================
....
PEAR           1.1     stable
....
となっていて、ここから再度アップグレードして見ました

$sudo pear upgrade PEAR
downloading PEAR-1.5.1.tgz ...
...done: 290,252 bytes
upgrade ok: PEAR 1.5.1

$pear list
pear: Command not found.
Exit 1
で、
$find / -name "pear"
してもコマンドは見つからないですね・・・家の環境だけなのか?

767 名前:nobodyさん mailto:sage [2007/03/09(金) 21:25:55 ID:???]
pearディレクトリ毎持ってきたりして入れ替えたら
そりゃ消えようがしゃあないな
アップグレード時にbinにコピーできなかったとか
go-pearでPEARだけ入れ直したらいいんじゃね

768 名前:nobodyさん mailto:sage [2007/03/09(金) 22:48:15 ID:???]
>>767
おお、go-pearなんて便利なものが・・・
これで無事再インストール出来ました。

769 名前:nobodyさん [2007/03/09(金) 23:08:13 ID:bGciLmRc]
Windowsの話?

770 名前:nobodyさん mailto:sage [2007/03/11(日) 00:25:48 ID:???]
>>765
ttp://www.townmedia.org/tips/PEAR/HTML_QuickForm.html
2-2 addElementで使える要素一覧
をみるかぎり、select のarg5に入れればなんでもアリじゃないでしょうか?

771 名前:nobodyさん mailto:sage [2007/03/13(火) 18:35:18 ID:???]
PEAR::Auth を便利に使っています。
別の場所で別の人が同じ ID/PW でログインできますが、
これを拒否する方法はどういうものがあるでしょうか。
( 後からログインした人を拒否できると嬉しいです )

772 名前:nobodyさん mailto:sage [2007/03/13(火) 20:09:42 ID:???]
ログインユーザをセッションIDと一緒に、DBなりファイルに書き出しとけばいいんじゃないの。
同一ユーザ名ログインの時には、それに対応するセッションIDが残ってるかどうかチェックして
なきゃそれでOK。
でも同一ユーザ名・パスワードの複数保持なんていうのがそもそもセキュリティ的にラフすぎ。




773 名前:nobodyさん mailto:sage [2007/03/14(水) 09:34:15 ID:???]
>>772
ありがとうございます。

何かの拍子に ID/PW が漏れた場合、
同時にアクセスされたら漏洩発覚!としたかったんです。



774 名前:nobodyさん mailto:sage [2007/03/14(水) 09:44:37 ID:???]
>>773
そんなのWWWでやるシステムじゃない

775 名前:nobodyさん mailto:sage [2007/03/14(水) 12:37:17 ID:???]
どうやってログアウトをシステム側で察知するかだな。
操作ミスなり回線不良なりでCookieあぼーんすると
直ぐにログインできないってことになる。

776 名前:nobodyさん mailto:sage [2007/03/14(水) 12:59:55 ID:???]
つかブラウザ二個起動した時点で終了

777 名前:nobodyさん mailto:sage [2007/03/14(水) 14:20:57 ID:???]
>>774
ネットバンクとかで無いか?

778 名前:nobodyさん mailto:sage [2007/03/14(水) 14:35:20 ID:???]
>>777
>>776

779 名前:nobodyさん mailto:sage [2007/03/14(水) 14:41:52 ID:???]
>>778
意味ワカラン

780 名前:nobodyさん mailto:sage [2007/03/14(水) 14:43:11 ID:???]
分かった

781 名前:nobodyさん mailto:sage [2007/03/14(水) 14:46:43 ID:???]
>>776
同じIPならセーフとかは?

782 名前:nobodyさん mailto:sage [2007/03/14(水) 14:57:05 ID:???]
>>781
ルータ経由はどうすんの。

783 名前:nobodyさん mailto:sage [2007/03/14(水) 19:03:09 ID:???]
やっぱり難しいさね。
ストリーミングサイトだったら通信継続してるから
感知して第二ユーザはキック出来るけど、そうじゃなきゃ>>775のような
ケースでクレーム来るほうが怖いからなあ。



784 名前:nobodyさん mailto:sage [2007/03/14(水) 19:07:01 ID:???]
ログイン画面で固定のキーを与えるのどうだろう。

785 名前:nobodyさん mailto:sage [2007/03/14(水) 19:12:34 ID:???]
トークン使う

786 名前:nobodyさん mailto:sage [2007/03/14(水) 19:21:48 ID:???]
明示的なログアウト送信がない限り全部一緒の問題を抱える

787 名前:nobodyさん mailto:sage [2007/03/14(水) 23:04:39 ID:???]
まあセッションクッキーのexpire時間を金融サイトみたいに10分とか短く設定しておいて、
10分以内に通信無きゃ強制ログアウトっていうのが許されるサイトなら問題が少なくなる。
最大10分の再ログインラグが出るけどね。

788 名前:nobodyさん mailto:sage [2007/03/15(木) 00:52:45 ID:???]
昔やったサイトというかWebアプリでは
・ユーザは出来るだけ明示的にログアウトするようお願いする
・メインウィンドウがクローズされる時にログアウトのURLを叩くJavaScriptを仕込んでおく
・最終アクセスを全ユーザの全アクションで記録しておいて、ログアウトなしのユーザがログインしようとしたら最終アクセスが10分以内の場合は弾く

イントラ用のアプリケーションだったから負荷とかも考慮した上でここまでやったけど
一般向けのWebサイトじゃどこまでやるかは難しい判断だろうなぁ

789 名前:nobodyさん mailto:sage [2007/03/15(木) 09:27:34 ID:???]
>>787
それは、パスワード漏洩時の対策にはならんのではないか。
まあそもそもの話として同時アクセス=漏洩なのかというか、常時使うシステムでもない限り使う時間がぶつかることがあるのか疑問。
漏洩するとしたら、内部からユーザ情報持ちだしとか、パソコンに付箋紙貼ってある時だと思うんだが、
したら不正利用する人が夜中とかに使えばまあ、システム上はほとんど不正利用にならないだろうし。

>>788
ログアウトするようにお願いするったって
不特定多数のコンピュータリテラシーがまちまちなユーザじゃ無理。
メインウィンドウをクローズしないかもしれないし。

夢を見すぎじゃないかと。
ユーザに過去のログイン・ログアウト情報を提示して、変だったら通報してもらうほうがいいんじゃねえの。
過去にどういう行動をしたのか知ってるのは本人しかいないわけだし。

790 名前:nobodyさん mailto:sage [2007/03/15(木) 10:01:20 ID:???]
>>789
世の中には「テメエにしか分からないこと」を
自動的に論理矛盾なくプログラム側で判断しろ、
という輩もいるわけでwww


791 名前:nobodyさん mailto:sage [2007/03/15(木) 11:54:09 ID:???]
生体認証かな

792 名前:nobodyさん mailto:sage [2007/03/15(木) 12:14:00 ID:???]
>>789
お願いするだけじゃ無理なのが解ってるから2番目・3番目の仕組を入れてるわけで
無理じゃなけりゃJavaScriptだの全アクセス記録だの不要だろw
あと「イントラ用」って書いたんで不特定多数ではない時の話だってのも読み取ってほしいところ

>>791
ログインには使えるけどログアウトしてくれるかどうかは別問題だねそれはw

PCの不意のハングアップまで考慮しようとすると
それこそJavaScriptか何かでサーバとハートビート交換しまくって
途切れたらログアウト処理にするとかまでやらないと難しいだろうなぁ

793 名前:nobodyさん mailto:sage [2007/03/15(木) 12:35:50 ID:???]
>>792
目的が漏洩対策ならいいんじゃない?<生体認証



794 名前:nobodyさん mailto:sage [2007/03/15(木) 13:00:52 ID:???]
>>792
と言われても、話の元の人はイントラ用とは言ってないわけだし、実際採用されたらどうかなあと思うわけで。


結局のところ、普通に当たり前のことをやっとけばいいと思うよ、としか言えないな。
一応法整備されたからパスワードだけかけておけばノーガードでもいんじゃねという話もある。

795 名前:nobodyさん mailto:sage [2007/03/15(木) 13:58:14 ID:???]
>>787
>それは、パスワード漏洩時の対策にはならんのではないか。
元ネタが同時ログインをキックしたいということだけであって、どこに問題がある?


796 名前:nobodyさん mailto:sage [2007/03/15(木) 14:21:29 ID:???]
>>795
>>773
> 何かの拍子に ID/PW が漏れた場合、
> 同時にアクセスされたら漏洩発覚!としたかったんです。

>>771だけ見ればそんなもんかって感じだが。

797 名前:nobodyさん mailto:sage [2007/03/15(木) 15:40:15 ID:???]
同時アクセス「ゆえに」漏洩発覚というロジックはむちゃくちゃだから
どうでもいいじゃん。同時アクセスキックできる方法だけ話してればいい。

798 名前:711 mailto:sage [2007/03/15(木) 17:59:45 ID:???]
元質問者です。
両方再ログイン促すので十分です。
それで漏洩か運用で分かると思うので。
なんだかいろいろと考えることが多いのですね ^^;
どこかにいい実装例はないでしょうか。
( コードがあると嬉しいです )

799 名前:nobodyさん mailto:sage [2007/03/15(木) 18:50:39 ID:???]
>>798
仮に漏洩してたとして、同時アクセスと思える範疇でアクセスがある、漏洩と判断できる確率って少ないんじゃね。
あれこれ仕掛けてユーザビリティ低下でクレームが発生するほうが高そうに思えるのだが。

まぁどこまでコストをかけるかは措いといて、
>>775で「どうやってログアウトを...」って書いたけど、Cometならできるかもしんない。
Cometシステムを構築したことどころか、lingrさえしたことないので、
どこまで実用的に漏洩を察知できるシステムができるどうかは知らんが。

これでも、ユーザが会社でブラウザを開いたまま帰宅、自宅でログイン出来ねーって言うかもな。

800 名前:nobodyさん [2007/03/15(木) 21:24:01 ID:fuFXgue7]
>ユーザが会社でブラウザを開いたまま帰宅、自宅でログイン出来ねー
イントラ想定してしながらそうじゃないケース想定してるのが痛い

801 名前:799 mailto:sage [2007/03/15(木) 21:34:56 ID:???]
>>800
え〜と、俺はイントラなんて想定しとらんが?
元質はイントラネタだったのか?

802 名前:nobodyさん mailto:sage [2007/03/15(木) 21:35:01 ID:???]
Cometならできるかもしんないwww

803 名前:nobodyさん mailto:sage [2007/03/15(木) 22:37:02 ID:???]
昔、椅子に座ったらログイン、椅子から立ったらログアウト、
っていう仕組みを作ろうかとか考えたことある。
実用性が無さそうなんでやめたけど。




804 名前:nobodyさん mailto:sage [2007/03/15(木) 22:44:26 ID:???]
あきらめたらそこでログアウトだよ

805 名前:nobodyさん mailto:sage [2007/03/15(木) 23:51:51 ID:???]
>>801
元質はイントラじゃない
イントラ云々はおれが>>788
「イントラだったからここまでやったけどそうでなければどれくらい手間をかけたもんかな」的に書いただけ

>>803
迂闊にトイレにも行けねーなw

806 名前:nobodyさん mailto:sage [2007/03/15(木) 23:57:38 ID:???]
実際は、イントラ以外使えないというところではそんなもんだろ

807 名前:nobodyさん [2007/03/15(木) 23:58:51 ID:7hzpmvYO]
でも同じユーザーが同時期にアクセスできないようにするってことは、魅力があるね。
なんか旨い方法ないのかな?

808 名前:nobodyさん mailto:sage [2007/03/16(金) 00:07:36 ID:???]
IPとかUAは?

809 名前:799 mailto:sage [2007/03/16(金) 00:15:29 ID:???]
う〜ん、マジでCometで出来ない?
Cometって時間的にどのくらいコネクションを握ったままできるのかしらんだけど、
擬似サーバプッシュでクライアントからの返答(再リクエスト)がなければログアウト状態と判断できると思う。
保存期間なしのCookieも併用して。

Apacheにmod_cometみたいなモジュールが出てきたらいろいろ面白そうだけどなぁ。
で、PEARとはまったく関係ない話になってしまった。

810 名前:nobodyさん mailto:sage [2007/03/16(金) 00:55:14 ID:???]
>>802が良いこと言ったな。

811 名前:nobodyさん mailto:sage [2007/03/16(金) 00:56:45 ID:???]
プロセス単位じゃなくて、スレッド単位でコネクション維持してくれるモジュールが
無いと、すぐに鯖がパンクするな。


812 名前:nobodyさん mailto:sage [2007/03/16(金) 04:10:01 ID:???]
後のログインを優先させれば解決

813 名前:nobodyさん mailto:sage [2007/03/16(金) 07:13:07 ID:???]
>>812
おまえ脳みそ使ってないだろw




814 名前:nobodyさん [2007/03/16(金) 09:00:07 ID:tL5WlbtE]
で無理やりPHPの話に戻すと、
ttp://hain.jp/index.php/tech-j
にFlashのSocketライブラリを利用してPHP(鯖)+FLASH/JavaScript(客)で
通信を行うという話がのっている(socketjs→ttp://dev.dschini.org/socketjs/)。
これが出来るならなんとかなるんじゃないの。


815 名前:nobodyさん mailto:sage [2007/03/16(金) 09:32:57 ID:???]
>>814
Ajaxでいいじゃないか。

816 名前:nobodyさん mailto:sage [2007/03/16(金) 15:00:47 ID:???]
>>807
利用できる端末を登録制にする。
登録は自分で出来るけど、登録用には別のパスワードを用意して、全てが漏れないと使えないようにする。
端末の登録が変更されると、指定したメールに通知。
たしかソニバンがこれ。
登録済み端末が操作されてしまうのは防げない。

817 名前:nobodyさん mailto:sage [2007/03/16(金) 15:25:46 ID:???]
>>815
Ajaxは、クライアント側の制約(DHTML)がありすぎだからなあ


818 名前:nobodyさん mailto:sage [2007/03/16(金) 15:27:39 ID:???]
>>816
「端末」の同定はどうしてるのだろう?<ソニバン


819 名前:nobodyさん mailto:sage [2007/03/16(金) 15:52:41 ID:???]
>>818
同じPCでブラウザ変えると別端末という認識をされた。
クッキーとかかな。

820 名前:nobodyさん mailto:sage [2007/03/16(金) 16:48:41 ID:???]
>>798
>元質問者です。
>両方再ログイン促すので十分です

これ意味あるかな?
1.そもそも先にログインしている方が「正規ユーザ」とは限らない。
2仮にそうだとしても、.クラックした方が先に再ログインすることも出来る

実際は、こういう事態がおこったら、そのユーザアカウントは仮停止すべきでしょう。


821 名前:nobodyさん [2007/03/21(水) 18:47:33 ID:78nxSnEz]
vistaでpearコマンド、CLIがntdll.dllのエラーで停止しない?

822 名前:nobodyさん mailto:sage [2007/03/22(木) 14:53:02 ID:???]
sage

823 名前:nobodyさん [2007/03/23(金) 14:24:37 ID:cotQkCWi]
すいません

PearでQuickFormを使ってページを作成しています。
controllerを使ってウィザード式にしたいのですが
前のページでデータベースからの検索結果(不特定多数)があり
その結果それぞれにリンクを貼りクリックするとその情報を持って
次のページに行きたいのです。
色々調べたのですがフォームボタンを使ったものしかなく
困ってます。

参考になるページなどありましたら教えてください
よろしくお願いいたします。





824 名前:nobodyさん mailto:sage [2007/03/23(金) 18:09:38 ID:???]
それはQuickFormとかと関係ない。
a href 要素・属性で、POSTで送信したいってことでしょ?
javascriptを使えばいい。
’リンクでPOST’
とかググればすぐ

825 名前:nobodyさん [2007/03/25(日) 05:11:07 ID:2BiXNRYt]
pear.php.net/ や pear.php.net/
アクセスしようとしてもできないのはなんで?

 時間が悪いのかな?






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<213KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef