Session管理してる?at PHP
Session管理してる? - 暇つぶし2ch2:名無しさん@お腹いっぱい。
01/05/23 23:32
クッキーですれば?

3:名無しさん@お腹いっぱい。
01/05/24 01:17
厨房質問でごめんなさい。

>ASPやPHP4ならSession管理楽だよね。
ASPやPHP4が、自分に代わってhiddenのパラメータなり(POSTの場合)、
GETパラメータなりを管理してくれてるのでしょうか?
tcp/ipの接続を持続してるとか、勝手にクッキー使ってるってわけでは
ないと思うのだけど、どうやってSessionを実装しているのかなあ、と疑問
に思ったので。

4:名無しさん@お腹いっぱい。
01/05/24 10:42
>>3
ASPはcookie投げてるという話を聞いたなあ。
僕はperl + Apahce::Session with cookie ばっかだから知らないけど。

5:ナナシファン
01/05/24 10:55 X3JWHld.
>>3
デフォルトで勝手にクッキーを使うよ。クッキーを使えない端末の
ときは、configureの時に--enable-trans-sidしてあれば
全部のリンクにsession idをつけてくれる。
ただ、<a href=だとつくんだけど<a taskだとだめなんだよなぁ~
というわけでHDMLの場合は自分でつける必要アリ

6:俺もナナシファンだったり
01/05/24 12:10 VUBEv.zk
>>4
Apache::Sessionってどうよ?
セッションのガベージコレクションの機能とかないんじゃなかったっけ?
俺は1リクエスト毎にデータベースに書きに行くのがすごくうざくって、
ちょっと触っただけでやめちゃったけれど・・・

7:3
01/05/24 15:32
Session管理は結局どれも内部でクッキーかGET(orPOST)パラメータですか。
そりゃそれ以外ないよな。

あとは携帯電話の固体IDだけど、503iから使えるようになった奴ですが、
210iではどうだろう?

8:4じゃないけど
01/05/24 20:26 CDMAiqEA
>>6
セッションタイムアウトは自動でやってくれないね。
タイムスタンプのフィールド用意しておいて、cronで削除が一般的かな。
mod_perl下で使えば、かなり使えると思う。

9:4
01/05/25 03:05 C8bJzxHM
>>8
言う事なくなっちゃった(笑)
そういや、mod_perlのスレないね...。ま、perl板でも繁盛してなかったけど。

>>7
あと、URLにセッションIDを埋め込む方式があるね。
携帯とPCを両用したいときとかによくつかってます。

10:3
01/05/25 11:07 y6UssZUU
>あと、URLにセッションIDを埋め込む方式があるね。
>携帯とPCを両用したいときとかによくつかってます。

PATH_INFOですか?
それもGETパラメータ(URL)の一種だとは思いますが、
QUERY_STRINGと比べて特に携帯だからPATH_INFOを使う
意味も無いような、、、
逆にPATH_INFOでも使う分には同じなのでどちらでもいいし、
QUERY_STRINGやPOSTパラメータはシステムによっては
自動的に解析される部分に入ってしまうだろうから、それらの
仕組みとぶつからないというメリットかな?

11:名無しさん@お腹いっぱい。
01/05/25 14:35 jbE0alI6
PHP4セッション管理の詳しく説明してる
サイトってありますかねー?

12:名無しさん@お腹いっぱい。
01/05/25 18:47
てかセッションってなんですか?

13:電動ナナシ
01/05/26 00:03
>>11-12
ここ見たら?
URLリンク(www.itboost.co.jp)
URLリンク(www.phpbuilder.com)

14:ナナシファン
01/05/29 12:40 S1fqIqMg
>>13
うぉぉぉ!まさにコレ!
URLリンク(www.phpbuilder.com)

MySQLでセッション管理したかったんだよねーー!!ロードバランサは
(いいものになると)結構お値段が張るので、TurboLinux ClusterServer
とかを使ってWWWのクラスタリングをしたかったんだけど、セッションを
どーしよーかと途方に暮れてたところでした!
電動ナナシさん、サンクス!これからも有益な情報をお願いしますです!

15:名無しさん@お腹いっぱい。
01/05/29 18:09 i2JkDuIg
セッション管理はPostgresでは難しいのかー?
MySQLの方がいいのかな?

16:名無しさん@お腹いっぱい。
01/05/29 18:57 oi4kyUtI
>>10
PATH_INFOじゃなくても、mod_rewriteで
ごにょごにょやる手もあるよ。環境変数として渡したり。

17:名無しさん@お腹いっぱい。
01/05/30 10:48
>>15
webのセッション管理にDBMSって関係有る?
PHPのインターフェースの部分が、DBMSによってセッション管理が
用意されている/いないの差があるということかな?
おれはPHPでないので知りませんが。

18:電動ナナシ
01/05/30 15:13
セッション管理は頻繁に発生する、トランザクションのような一貫性保証は
不要、ということで、PostgreSQL のような重装備の RDBMS よりも MySQL の
ような軽くて高速なデータベースが向いているということでしょ。

すでに PostgreSQL があってそれを使いたいということなら、別にそれでも
いいでしょ。セッションハンドラは別途書かないといけないというのはどの
RDBMS でも一緒。

19:名無しさん@お腹いっぱい。
01/05/31 12:55 6kiiO4aQ
セッション管理ってなんで必要なの?

20:名無しさん@お腹いっぱい。
01/05/31 19:37
>>19
衝撃の質問!

21:名無しさん@お腹いっぱい。
01/06/01 10:08 lW7xbRZQ
PHPLIB+MySQL+PHP3.0.9でセッション管理してます。ただ、レンタル
サーバーなんで都度requireしなければいけないのですが...
しかし、国際版PHPじゃないのがつらすぎる。Perl+DBIのほうが開発早かった
かもしれんッス

22:電動ナナシ
01/06/01 17:50
>>19
常に必要ってわけじゃない。
Web ページ間で変数を引き渡す手段が必要なときに有用ってだけ。

>>20
3.0.9 って思いっきりセキュリティホールがあるじゃん。
バージョンあげてもらうついでに国際化版にしてもらおう。
それが無理なら Perl を使ったほうがマジでいいぞ。

23:名無しさん@お腹いっぱい。
01/06/11 11:59 BchxEcFA
ちょっと質問。
よくユーザ登録のページで情報を入力しsubmitして
確認画面がでますよね。でソースを見ると入力内容をHidden
で渡してるものもあれば、Hiddenを使用していないものもあります。
Hiddenを使用せず渡すのは、s_id見たいなものを
をキーにして入力内容をDBに毎回insertしてページ間でデータが
渡っているのでしょうか?それとも別の方法があるんですかね?
疑問だったので・・・。

24:sage
01/06/11 12:12
>>23 cookie

25:sage
01/06/11 12:11
>>23 cookie

26:名無しさん@お腹いっぱい。
01/06/11 12:44
またはipを基に一時ファイル作成とか…。
まぁ普通はCookieだと思うが

27:名無しさん@お腹いっぱい。
01/06/12 12:44
cookieに依存すると、専用端末や携帯電話やcookie offに対応することに
なったときに面倒っすよ。趣味でPCだけ相手にしているときにはいいけど。

28:名無しさん@お腹いっぱい。
01/06/12 13:16
>>27
ソース見てhiddenがないのはどうなってるのかって聞いたから例としてcookie
と言ったまで。

そりゃ状況によって方法は変えますよ、わたしゃ。

29:名無しさん@お腹いっぱい。
01/06/22 12:49 yGqQ.0ks
age

30:殿堂ナナシ
01/06/22 22:26
>>23
Servlet ではセッションはサーバのメモリに保持する。
ファイルやDBはオーバーヘッドがあるのであまりないね~。
PHP4 はファイルですよね(よく分からんけど)

>>24
クッキーに情報自体を保持するのは、一般的?に
セッション管理とは言いにくいような。。。
# セッションIDは別

31:名無しさん@お腹いっぱい。
01/06/22 22:34
>>30

セッション終了時に消えるクッキーをセッションクッキーって
言うの知らないの?

32:殿堂ナナシ
01/06/22 23:21
>>31
怒ってる~?
そうだね。レスポンスヘッダに設定する有効期限を無しに
すればセッションが続く限りクライアントが情報を保持するよね。

んで、そのセッションクッキーってのを使うと
セッション管理してるということになるの?
hidden と同じでクライアントに投げたら投げっぱなしなので
管理とは言いがたいような気がします~。

毎回切断される HTTP で継続して情報を保持するために
サーバでランダムな ID を発行し、それをキーにクライアントと
やりとりを行う。
それをセッション管理と言う。

33:名無しさん@お腹いっぱい。
01/06/23 03:44
>>32
そのやり取りって、クッキー使ってんじゃないの?

34:名無しさん@お腹いっぱい。
01/06/23 13:09
どっちにしてもcookie使わない方法はないと思うが。
もちろん、擬似的なセッション維持だとは思うけど。
データをどこにもつかって事だと思うけど、
cokkieはドメイン毎に4Kまでの制限があるから、
ふつうサーバーでデータは保持する。

35:殿堂ナナシ
01/06/23 22:56
クッキーだけでなく、サーバで発行したランダムなIDは次の
いづれかでやりとりされる。

・クッキー
・get リクエスト
・put リクエスト

このIDを普通はセッションIDっていうよね。
最近の Java や PHP では意識はしなくてもいいけど。

36:名無しさん@お腹いっぱい。
01/06/24 08:45
>・クッキー
>・get リクエスト
>・put リクエスト

結局hidden以外はcookieじゃん。

37:名無しさん@おへそいっぱい。
01/06/24 12:09
URL Rewrite を忘れてる。<A HREF="/a/b/c;98A30x7"> みたい
なの。現行のステートマネージメントは

 ・Cookie の受け渡し
 ・HIDDEN フィールド
 ・URL Rewrite

で行われている (Servet の話だけど)。
ちなみにセッション ID がランダムに振られるシステムは設計が
おかしい。

38:殿堂ナナシ
01/06/24 21:36
間違えた。。。 put は post です。。。

・クッキー <- Cookie の受け渡し
・post リクエスト <- HIDDEN フィールド
・get リクエスト <- URL Rewrite
私の表現がおかしい~?

URL Rewrite は クッキーが使えないときにAP サーバが
セッションIDを URL に Rewrite するっていうものだよね。
最近、セキュリティ的に問題があるので使ってはいけないというのが
良く言われてるけど。

セッションIDがランダムに振られるのがおかしいというのはなぜ~?
最近はAPサーバにセッション管理が実装されてるから
あまり意識してないもので。。。
一意性の問題?

39:名無しさん@おへそいっぱい。
01/06/25 00:25
そう、一意性の問題。普通はシーケンシャルに採番して一意性を
維持したままシャッフルすると思われる。ちょっと揚げ足を取っ
てみただけ。

現行のステートマネージメントメカニズムは、どの方法も SSL と
組み合わせないとセキュリティ的に問題ありだね。というか
そんなの Web の常識だったはずなのに、なぜ突然ひろみちゅが
騒ぎ始めたのか分からんよ。

URL Rewrite/HIDDEN フィールド
 ソースを見れば一目瞭然。URL 欄にも表示される。ジャンプ先
 サイトでは Referer ヘッダで参照可能 (ブラウザの種類と
 バージョンにもよる)。自サイトを SSL 化しても Referer
 ヘッダは漏れてしまうかも (なりすまし接続は無理だろうが)。

Cookie
 丸見えでない分 URL Rewrite/HIDDEN フィールドよりまし
 だが平文であることには変わりない。プロキシサーバなら
 余裕で盗める。期限付きのはファイルで残る。

# 昔、クライアント側の IP アドレスを使ってセッション ID
# にハッシュかければセキュリティもバッチリでは? と発明
# しかけたが、程なくプロキシの存在を忘れているのに気づ
# いた。

40:名無しさん@お腹いっぱい。
01/06/25 15:58
>>30
クライアント側のクッキーにはIDのみで、
セッション情報はサーバ側に保存されるので
セキュリティ的には問題ない
と、どっかで読んだ覚えがあるんですが。

41:40
01/06/25 15:59
>>30>>39の間違いでした。

42:名無しさん@おへそいっぱい。
01/06/26 10:43
セッション ID を盗まれると言うことは、意味的にサーバサイドの
セッション情報ごと盗まれるのと等しい。ただ、情報が丸見えでは
なく、どのような情報か想像しずらいという人間的な利点があるだけ。
ユーザ認証後のセッション ID を盗まれたら、アプリケーションを
乗っ取られたのと事実上同じ。セキュリティを確保したければ SSL
と併用せれ。

43:名無しさん@おへそいっぱい。
01/06/26 10:45
セッション ID を盗まれると言うことは、意味的にサーバサイドの
セッション情報ごと盗まれるのと等しい。ただ、情報が丸見えでは
なく、どのような情報か想像しずらいという人間的な利点があるだけ。
ユーザ認証後のセッション ID を盗まれたら、アプリケーションを
乗っ取られたのと事実上同じ。セキュリティを確保したければ SSL
と併用せれ。

44:名無しさん@お腹いっぱい。
01/06/26 15:40
>43
ID+有効期限を暗号化して発行すれば、
多少マシになる。

45:名無しさん@おへそいっぱい。
01/06/26 17:27
>>44 その暗号化のキーは?

46:名無しさん@おへそいっぱい。
01/06/26 17:28
>>44 その暗号化のキーは?

47:名無しさん@お腹いっぱい。
01/06/26 23:59 DSIpbR1w
>46
なんでもいいじゃない?
暗号化も複合化もサーバーでやるんだから
実際にやってるけど、SIDとログインタイムをある形式にフォーマットして
BASE64で暗号化して発行。クライアントから返されるSIDは形式のチェックで先ずはじく。
仮に、クッキー盗まれても有効期限内しか使えないし、
まあ、解読も可能だろうけど、一定期間でキーやアルゴリズム変えれば、
それなりに実用的だと思う。
なんか間違ってる?

48:名無しさん@お腹いっぱい。
01/06/27 00:07
Crypt::Blowfishで暗号化でした
つくったのはおいらでないので間違ってるかも

49:名無しさん@おへそいっぱい。
01/06/27 00:52 DNFpNq1I
いくら強力な暗号化アルゴリズムを使っても、キーがサーバ側に
あったら意味ないでしょ。盗んだ側にとっては ID が暗号化され
ているかどうかなんて関係なく、盗んだ Cookie をそのまま送り
返せばよいのだから (だから >>39 でクライアント側の IP ア
ドレスをキーにハッシュかけようとした)。

あ、俺が考えてるのは中継サーバ等で Cookie が盗まれた場合ね。
総当りでのセッション ID 盗難防止という話だったら暗号化だけで
効果は高い。んーでも総当りなんて目立つ方法で盗もうとする莫迦
いるか? だから、わざわざセッション ID を暗号化してもたいした
効果がないと思っただけ。

50:名無しさん@おへそいっぱい。
01/06/27 01:02
すまん、ハッシュではなく可逆符号化だ…。

51:名無しさん@お腹いっぱい。
01/06/27 02:33 IVYsrfFE
間にProxyが入ろうがどうしようが
クライアント固有の識別ID(macアドレスとか)を
簡単に取れる手段があるといいんですがねえ。
プライバシー的には問題おおありですが。
そういうの、MSならやってくれ・・・ないか。さすがに。

52:名無しさん@お腹いっぱい。
01/06/27 16:30
proxyの問題を考えなければ簡単なんだけどね>セッションID盗難対策

503iのような、固体識別番号取得タグをどのブラウザも実装してくれれば
話は簡単だけれども。
確認が入るのでプライバシー的な問題も無いと思うし、MSさん実装して
くれまいか。

53:名無しさん@お腹いっぱい。
01/07/02 04:53
SSL使え

54:名無しさん@お腹いっぱい。
01/07/02 21:19 T7UPCPm6
だめ。SSLで守れたと思っちゃだめ。はー
いま(さらながらに)騒がれてるやつあるよね。
あれは相当驚異だよ。たぶん完全に防げてるサイトなんて数えるほど。

55:名無しさん@お腹いっぱい。
01/07/02 22:08 pL9j.pM6
まじっすか? それって何?

56:名無しさん
01/07/02 22:14
DoCoMoがNULLDOCOMOGW(だっけ?)を一般ユーザーに開放してくれればいいのに…

57:名無しさん@お腹いっぱい。
01/07/02 22:19
>>55
おれは54じゃないけど
クレジットカード情報がサーバ上ではまるみえで、
ブラウザのURL直打ちで見れちゃったというニュースなら読んだ。
URLリンク(hwj-www.hotwired.co.jp)

58:名無しさん@お腹いっぱい。
01/07/03 04:13 PMTadY4o
>>54 SSL とサイトへの侵入とがごっちゃになってないか?
それとも SSL のポートを使って侵入 or 成りすましという話か?

59:名無しさん@お腹いっぱい。
01/07/03 09:04
Cookieは楽々盗めるって話。進入は無関係だけど…

60:名無しさん@お腹いっぱい。
01/07/03 09:58 .3Xwbm0A
ソースはどこよ

61:名無しさん@お腹いっぱい。
01/07/03 11:25
言っちゃってもいいかどうか解らん。広めるならもっと思いっきり広めないとだし。
実は知ってる人にはあたり前のことではあるが、C****S***-S********のことです。
解っててもそうそう防ぎ切れないもんでおれも困ってるの。もうここまでにしとくね。
きっとしかるべき機関なり人がしかるべきところで注意喚起してくれることを期待して。

62:名無しさん@お腹いっぱい。
01/07/03 11:47
被害立証できるんだったらオフラインでなんかすりゃいいじゃん。

63:名無しさん@おへそいっぱい。
01/07/03 13:41 EU3mmkbg
SSL で Cookie 盗んで、なりすましまで出来るものですか?
マジできたら今まで言ったこと撤回するわ。

64:名無しさん@お腹いっぱい。
01/07/04 15:40
GETをはじく方法ってありますかね?
たとえばxxxx.php?id=123がありid部分を違う数字に
変えれば違う情報が表示されます。
直接入力された時は処理できないようにしたいのですが・・・。

65:名無しさん@お腹いっぱい。
01/07/04 15:45
直接って事は自サイト等からリンクされてる場合は良いの?

66:名無しさん@お腹いっぱい。
01/07/04 16:23
PHP4 のセッション変数って、オブジェクト(つまりクラスのインスタンス)は格納できるの?

67:名無しさん@お腹いっぱい。
01/07/04 17:15
>>64
サーバ側で何使ってるんだ?
CGIならREQUEST_METHODを見る
ServletならdoGet()とdoPost()で処理を分ける

68:名無しさん@おへそいっぱい。
01/07/04 21:28 U5Vc3q2o
>>64 Apache 使ってるなら httpd.conf か .htaccess で
GET がはじけるだろう。まにあるみれ。

69:殿堂ナナシ
01/07/04 23:34
>>66
セッションの登録について PHP4 マニュアルには
「変数名を保持する文字列または変数名からなる配列」
ってあるね。

Java だと Serializable なオブジェクト(Javabean とか)は
出来るのにね~。

70:66
01/07/05 01:19
>>69 レスありがと。
あきらめきれずこんなテストコード書いたらちゃんとカウントアプしてくれた。

<?php
class testFoo {
 var $count;

 function testFoo($i) {
  $this->count = $i;
 }

 function inc() {
  $this->count++;
 }

 function hello() {
  $this->inc();;
  echo("hello, " . $this->count . " times.\n");
 }
}

session_start();
if (!isset($obj)) {
 $obj = new testFoo(0);
 session_register("obj");
}
?>
<html>
<h1>
<?php $obj->hello(); ?>
</h1>
</html>

/tmp覗いたら
obj|O:7:"testfoo":1:{s:5:"count";i:3;}
となんとなくシリアライズしてくれてる風味。

71:名無しさん@お腹いっぱい。
01/07/05 12:38
>>69
そのマニュアルの記述は、session_register(); の引数は
変数を表す文字列かその配列だよという意味だったんだね。

72:名無しさん@お腹いっぱい。
01/07/13 13:41
PHP4で各ユーザのセッションファイル(sess_*)の特定は
セッションIDの取得すればよいのですかね?
たとえばxxx.php?session_idのような感じでOKかな?
じゃ、Hiddenで渡すとき、nameは何になるのでしょうか?
疑問だったので・・・・・。

73:名無しさん@お腹いっぱい。
01/07/13 14:14 IqmDBVro
>>64
例:
$value=$HTTP_POST_VARS["hoge"];

これだとGET送信されたhoge(パラメータ名)の値は取れません。
phpの設定によっては使用できませんが。

74:名無しさん@お腹いっぱい。
01/07/13 16:50
>>72 セッションIDって今まで意識してなかったけど、取得しないとなにか不都合あるの?

75:名無しさん@お腹いっぱい。
01/07/18 09:56 pNSSuY1U
>>74
各ユーザのセッション情報を特定するということじゃないのかな?
例えば、各ユーザでカスタマイズされたページを出力
するとか・・・。

76:名無しさん@お腹いっぱい。
01/07/18 13:58 IiBzwOm6
>>74
必要性を感じないなら必要なし。
複数のHTTPセッションに渡ってクライアント情報を維持したいときに便利。

77:名無しさん@お腹いっぱい。
01/07/18 21:33
>>76
PHP4 でしょ? だったら session_start() するだけて
session_register() した変数をとりこんでくれるんだから
スクリプト側は session ID を意識しなくていいじゃん。

78:77
01/07/18 21:36
ああ、そうね。書いてから気づいたよ。
セッション終わっても情報を取っときたいってことね。

79:PHP三日目
01/07/18 23:52
PHPのセッションって
セッションタイムアウトってゆー概念がないの?
(ASPにあるよーなやつ)

80:名無しさん@お腹いっぱい。
01/07/21 00:12
あげましょう。

81:名無しさん@お腹いっぱい。
01/07/30 11:20
あげ。

82:ナナシファン
01/07/30 11:55 gBtO/HQg
>>79
あるよ~。設定はphp.iniじゃなかったかな?覚えてなくてごめん。

83:ほげ
01/07/30 16:03
>>82
消える確率とか設定あったよね。どうしてランダムなのか理解に苦しんだ。

84:名無しさん@お腹いっぱい。
01/07/30 19:30
セッション管理って大丈夫?
二つのページを同時にアクセスした場合とかどうよ
セッション情報に「前のページ」とか残して、
それを信用して組んだりできないよね...

85:名無しさん@お腹いっぱい。
01/07/31 04:37
>>84
>二つのページを同時にアクセスした場合とかどうよ
二つは別セッションになるんじゃないの?

86:コメント無しさん
01/08/03 14:08
>>84
>セッション情報に「前のページ」とか残して、
>それを信用して組んだりできないよね...
セッション管理が大丈夫かどうかとは関係ない気が

>>85
それは、IEでなんか設定したときだけじゃない?

87:名無しさん@お腹いっぱい。
01/08/04 13:47 DQ4jThjY
クッキーに関しての質問です。
クッキーに配列を保存できますかね?
例えば、
$data=array(
"a" => "hoge1",
"b" => "hoge2"
);
SetCookie("hogehoge", $data);
こんな感じで$data配列を作成しクッキーに保存して、
$c_data=$HTTP_COOKIE_VARS["hogehoge"];
で、データを呼び出して
echo"$c_data[a]";
で出力できるようにしたいのですが、
なかなかうまくいかないです。

88:コメント無しさん
01/08/04 17:46
>>87
こんなスレに書いても、セッション使えで終わると思うが。
再びスレ違い?

89:電動ナナシ
01/08/04 18:06 yWM3EPUw
>>87
Cookie は文字列しか受け付けないだろ?
マニュアル (URLリンク(www.php.net)) を
見れば分かるが、引数は "string" と書いてある。
int setcookie (string name [, string value [, int expire [, string path [, string domain [, int secure]]]]])

マニュアルのサンプルコードにやりたいことのやり方が書いてあるぞ。

90:85
01/08/07 15:59
>>86
>それは、IEでなんか設定したときだけじゃない?
(・∀・)?

91:コメント無しさん
01/08/07 16:12
>>90
クッキーの寿命の話ね。
ひとつのブラウザで1つのセッションになる。
IEは、設定すればウィンドウごとに別セッションになる。

セッションで「前のページ」を保存って話題だから、パラメータでセッション変数渡すことは考えてない。
そんときはパラメータに前ページ情報つければなにも問題ないから。

92:名無しさん@お腹いっぱい。
01/08/10 14:12 RmKi09oM
>>91
>IEは、設定すればウィンドウごとに別セッションになる。
どうやってすんの?

93:名無しさん@お腹いっぱい。
01/08/10 14:14
インターネットオプションで変更するの

94:名無しさん@お腹いっぱい。
01/08/10 14:26 RmKi09oM
>>93
クッキーのとこ?
なんないけど

95:名無しさん@お腹いっぱい。
01/11/07 01:49 xHkACnav
そろそろ>>61について教えて欲しかったり。
age

96:名無しさん@お腹いっぱい。
01/11/07 02:15 WNbh62gs
ん?
クロスサイトスクリプティングでしょ?

97:95
01/11/07 02:29 xHkACnav
>>96
あーホントだ、よく見りゃそうだ。どうもありが㌧
これで安心して眠れるぞヽ(´ー`)ノ

98:名無しさん@お腹いっぱい。
01/11/08 22:15 BR2wW00P
PHP4のセッション初めてつかたけど、
/tmpにセッションごとの変数の値ががんがんたまってます。
もういいやと思ったあたりで消すしかないんでしょうか?

99:名無しさん@お腹いっぱい。
01/11/16 10:07 dtqn0qNF
ガーベジコレクションで消えてくんじゃない?

100:名無しさん@お腹いっぱい。
01/11/16 17:01
溜まってるっつってんだろが! ワラ

101:名無しさん@お腹いっぱい。
01/11/16 17:14
俺は、php.iniでsession.save_pathを/var/tmp/phpにしておき、cronで
/var/tmp/php以下を掃除するようにしてる。

102:名無しさん@お腹いっぱい。
01/11/18 03:56
>>100-101
マニュアル読み直した方が良いかと思われ。

103:101
01/11/18 06:25
>>102
gcで消えることが多いんだけど、消えてないこともあるぞ。

104:名無しさん@お腹いっぱい。
01/11/18 12:29
>>101
session.gc_probabilityでGCの開始確率指定かえてみたら?

105:101
01/11/18 21:08
うげ、session.gc_probabilityのマニュアルを良く読むと、in percentって書
いてある。デフォルトは1.0じゃなくて1%ってことだったのカー。
逝ってくる。

106:z
01/11/21 00:38
php3国際版を使ってんだけど、id&pass を hidden で渡してるのはやっぱ気持ち悪い。
早いとこ php4に行きたいなぁ。

ところで、php4のセッション管理って、クラスのインスタンスを
保存できないのだよね? スカラー変数と配列のみ??
インスタンスが保存できればうれしいんだけどな。

107:名無しさん@お腹いっぱい。
01/11/21 21:59
>>106
クラスのインスタンスもセッション登録は可能です。
メンバのみでメソッドはセッションに保存されないけどね

詳細はマニュアルをみれ

108:名無しさん@お腹いっぱい。
01/11/21 23:41
106はマルチだったのか

109:98
01/11/23 14:24 w+gD3nN+
>>99-105
わかりやすい流れで助かりました。
ありがとうございます。

110:名無しさん@お腹いっぱい。
01/11/27 16:01 cyjl29qD
PHP4でのセッション管理なんですが、
PHP4標準のセッション機能とPHPLIBでのセッション機能、
みなさんどちらを使用されていますか?
どちらを使用しようか迷ってます。

111:age
02/01/09 12:58 13jpWnyp
age

112:名無しさん@お腹いっぱい。
02/01/12 14:03
age

113:名無しさん@お腹いっぱい。
02/01/15 09:56
「セキュリティホール memo メーリングリスト」で
Apache::Session (Perl モジュール) の話が出てるね。

114:113
02/01/15 09:58
あ、
URLリンク(memo.st.ryukoku.ac.jp)
URLリンク(memo.st.ryukoku.ac.jp)
です。

115:名無しさん@お腹いっぱい
02/01/23 02:53
WebObjects使えば、Session管理は自動。管理そのものに頭を悩ます必要ないです。
そのSession内でやりたいことを記述することに集中できますよ。
PHPもいいですけど、WebObjectsは比較になりませんでした。

116:名無しさん@お腹いっぱい。
02/01/24 16:18
セッション管理、してる?

117:名無しさん@お腹いっぱい。
02/02/21 16:29
結局のところ、session管理にはcookieは使うべきなのだろうか。
クロスサイトスクリプティング等の問題もあるけど。
セッションIDをURLで持たせて行くのは怖いような気がするんですが、みんなはどうやってる?

118:名無しさん@お腹いっぱい。
02/02/21 17:02
くき。

119:名無しさん@お腹いっぱい。
02/02/23 11:58
$_SESSION変数を使うえば透過的に処理してくれそうなんだけど、
使ってる人居る?

120:age
02/06/20 21:08 iXAPSXQ3
ブラウザを完全に閉じると消える一時的cookieですが、
Proxyサーバーを通している場合、
クライアントがブラウザを閉じてもCookieがProxyサーバーに残りますか?

121:nobodyさん
02/06/28 23:42
>>115
WebObjectsは反則です。あれはVBでWinアプリ作ってる感覚になっちゃいます。

122:nobodyさん
02/07/24 21:42 sfTx1osq
Perl の CGI::Session::DB_File 使ってるんですが、
ロックファイルはどうやって削除するのがイイんで
しょうか? delete() した後も残りますよね。

Apache::Session::Lock::File だと clean() がある
んだけど… (でもバグってる)

123:山崎渉
03/01/15 13:51
(^^)

124:nobodyさん
03/03/09 16:41 xF/AergB
複数ページにまたがるアンケートで
URL埋め込みやhiddenを使ってページ間で値を渡してます

URL埋め込みの場合ですが、直打ちで任意のページを表示できてしまうので
アンケートの解答中にふとしたはずみで
直にページに飛んでしまい、解答済みのデータが飛ぶかもしれないと
PATH_INFOを使って判別してるのですが
PATH_INFOは間違った情報を返したりすることはないんでしょうか?
リファは結構ふっとんだりしてくれるので
似たようなことが起こるかと心配で…


125:nobodyさん
03/03/10 22:33
漏れもhidden良く使うかも。 

126:nobodyさん
03/03/12 17:37 UYTsxMQD
PHPのセッション管理で鯖分散対応の為にセッションハンドラをカスタマイズして、
セッションオブジェクトを外部鯖のDBに保存する方法があるんだが、

URLリンク(www.pgsql.info)
URLリンク(www.phpbuilder.com)

誰か実際にやっている人います?


127:山崎渉
03/03/13 16:59
(^^)

128:nobodyさん
03/03/13 20:01
>>126
ここのスクリプトを改造して、自前でやってるぞ。
URLリンク(itb-tech.itboost.co.jp)

129:nobodyさん
03/03/15 00:57
>>126

おれも使ってる。正月にリニューアルしてwebを2台構成にした。
DBは後ろのネットワークに下げて両方から繋いでる。

www1.hoge.com
www2.hoge.com

の構成でも使えてるヨ。

130:nobodyさん
03/03/15 01:14 Sqe0b8Ey
セッション:負け組
クッキー:勝ち組

131:nobodyさん
03/03/15 18:03 YPCssbUz
POSTメソッドを利用して入力フォームからPHPでPostgreSQLにApache経由でデータを登録するプログラムを書いています。
以下のプログラムを冒頭に置くとプログラムの最後の行を示しパーサーエラーで,
停止してしまいます。
session_start();
ob_start("mb_output_handler");

/* データ登録処理 */
if (isset($_POST["sbmt"])) {
/* enctypeがmultipart/form-dataなのでエンコーディング変換 */
while (list($key, $val) = each($_POST)) {
$_SESSION["post"][$key]
= htmlspecialchars(
mb_convert_encoding($val, "EUC-JP", "auto"),
ENT_COMPAT,
"EUC-JP");
}
原因はセッション変数に明示的に変数が設定されていないからでしょうか?



132:nobodyさん
03/03/15 18:15
>131
ただの構文エラーだろ

133:nobodyさん
03/03/15 18:53 YPCssbUz
>132
サンクス
でも、さっきのプログラムの前に別の関数からデータをセットして
あると動くんだよね
/* セッション変数管理 */
if (!isset($_SESSION["diary_year"])) {
$_SESSION["diary_year"] = date("Y");
}
こんなかんじで
date("Y")って部分は別の関数から定義されてるんだよね
最初にセッション関数が呼び出されたときには、配列の中を空に
しておきたいんですよ、それから簡単なエラーチェックをして
sbmitが実行した時にさっきのプログラムで文字をエンコードしたいよね。

134:nobodyさん
03/03/31 23:27 7tNuLEs3
今までのログを読んだけれど、なんとなくしかわかってないので、
質問させてください。

Perlで会員管理のしくみをつくってるのですが、

会員情報を入れてあるCSVファイルに、セッションIDの列をつくる。
IDパスワードを入れてもらってログインに成功した場合、
$year.$month.$day.$hour.$min.$$をcryptしたものを、
会員情報のセッションID列と、クッキーの両方に書き込んで、
以降は、そのセッションIDをクッキーでもらったら、それに該当する会員情報を表示する・・・

これって、問題ないでしょうか?
また、セッションIDを暗号化するという場合、上記のようにサーバ側とクライアント側両方を、
cryptするべきなんでしょうか?

135:nobodyさん
03/03/31 23:54 lrdCZ3fP
>>134

やりかた自体はOK。

cryptはCookieのマジックナンバーを生成するために行うもの。
だからクッキーを生成するときに1回だけ行う。


136:134
03/04/01 08:35
>>135
なるほど、ありがとうございますた

137:nobodyさん
03/04/01 08:38 CaQk8w76
135です。
自己レスだが134には問題あった。

会員テーブルにセッションIDフィールドを持たせるのはよくない。
セッションはセッション管理用のテーブルを別にもたせる。
そのテーブルには、
 セッションID
 ユーザ識別コード
 セッション間で引き渡すデータ
 セッションの最終アクセス日時
などを入れておく。


138:135
03/04/01 23:57 1YIS/hST
>>137
たびたびすみません。

で、正直、>>137のようにするメリットがわかりません。。。
あと、ユーザ識別コードって、
会員テーブルのユニークな主キー(の外部キー)っていうことですか?

139:nobodyさん
03/04/02 01:33
破壊を防ぐ

140:nobodyさん
03/04/03 06:17 +kJBCXqS
>>138
ユーザ識別コードはユーザごとのユニークなキー
です。セッション間で値を引き渡すだけの簡単な
管理だけなら不要ですね。ログインして利用する
サイトを作るなら必要になると思いますが。

セッション管理の理論は書いてあっても実装まで具体的に
書かれている本って少ないですから、書籍で勉強する
よりホームページで勉強したほうがいいかもね。


141:134
03/04/04 10:45 lpjcObWV
すいません、あとひとつ。

>>137 だと、
もしユーザが「ログアウト」ボタンを押したとき、
クライアントの持ってるクッキーも削除(過去の時間を指定)して、
セッション管理用テーブルから該当レコードを削除すればいいわけですよね?

ただ、ユーザがログアウトボタンを押さずにブラウザを閉じてしまった場合、
該当レコードは削除されないため、レコードがどんどんたまってしまうかと思います。

これは、どうすればいいのでしょう?
ほっとくしかない?あるいは、
どっかのタイミング(そのユーザがまたログインしてきたとき?)に削除するのでしょうか?

あ、そのために「セッションの最終アクセス日時」の列があるのかな?

142:nobodyさん
03/04/04 19:30 tuNiAs90
>>141
ふつうはサーバでクーロン動かして定期的に掃除してやる。


143:141
03/04/04 22:50 fnHSIfLl
>>142
そっかー。
いまつくってるところ、クーロン使えないんですよね・・・
なら、そのユーザがまたログインしてきたときに、
削除(というか新しいセッションIDに書き換える)
でも、問題とくにないですよね?

144:141
03/04/05 02:53 ur80FjBN
($sec, $min, $hour, $mday, $mon, $year,$wday, $yday, $isdst) = localtime(time);
$year += 1900;#気持ちわるいので、一応4桁にしておく
$sessionid = crypt($year.$mon.$mday.$hour.$min.$sec.$$, "AA");

で、セッションIDを取得したのですが、なんかいアクセスしても、
$sessionid = AAwTU6/kNo2jY という文字列になってしまいます。
なぜなんでしょうか

145:nobodyさん
03/04/05 05:27 WWynoIxP
>>143
ユーザが再度ログインしたら、前回のそのユーザのセッション
ファイルだけ削除する必要はない。ログインしたらすべての
セッションファイルをチェックして、時間切れになるものをすべて
削除すればOK。


146:nobodyさん
03/04/05 08:30 LO75gp9Z
ASP VBScriptでsession変数を使ってセッション管理しようおおもうのですが、
ブラウザがわでクッキー無効にされてる場合ってセッション管理できなくなってしまうのでしょうか?その場合はURLにうめこむとか、HiddenでPOSTするとかで対処するしかないのでしょうか?

147:nobodyさん
03/04/05 13:05 Ia1grhBJ
$sessionid = crypt($year.$mon.$mday.$hour.$min.$sec.$$, "AA");
print $sessionid;

・・と、セッションIDを生成してるのですが、
リロードを何度やっても同じ文字列になってしまい、
わけわからん状態です。。。

どうしてなのでしょうか?

148:nobodyさん
03/04/05 14:31
crypt って、先頭の何文字かしかみてなかったと思う。

149:147
03/04/05 18:50
>>148
なーるほど。
調べたら、先頭8文字しか見てないようです

150:nobodyさん
03/04/05 18:53
DES(無印) = 8文字
MD5($1$) = 255文字(?)
BlowFish($2$) = ?

151:nobodyさん
03/04/09 05:08
>>147
セッションを全く理解していないと思われるので、
まずフローチャート描いてみることをお勧めする。

152:山崎渉
03/04/17 12:09
(^^)

153:山崎渉
03/04/20 06:23
   ∧_∧
  (  ^^ )< ぬるぽ(^^)

154:nobodyさん
03/04/22 07:11 WjOOaJ36
セッション管理しつつ、2重ログイン(複数の人が同じIDでログイン)を禁止
するには、どうすればいいのでしょうか?

155:(´д`;)ハァハァ
03/04/22 07:52 dKeQqhoi
URLリンク(www.k-514.com)

156:nobodyさん
03/04/22 08:08
>154
「あなたは本当に○○さんですか?」というダイアログを出す。
SSL 使えないならマジこれしかない。

157:154
03/04/22 08:12 WjOOaJ36
あ、すいません、訂正
2重ログイン(複数の人が同じIDでログイン)

2重ログイン(複数の人が同じIDで、同時に、ログイン)

158:nobodyさん
03/04/22 10:54
>>154
んん? どんなセッション管理の方法を使ってるのかわからんが……。
普通はそんな状況にはならんのではないのか?

IDとセッションを対で運用してる?
一つのIDには一つまでのセッションしかないようにすれば、解決しないか?

159:nobodyさん
03/04/22 18:52
>>157
設計しだいだな。ログイン時の IP アドレスを記録しておいて、
同一 ID に対する最終ログイン IP アドレスしか受け付けないように
するしかないか。

A → ログイン (成功)
A → ページ要求 (成功)
B → ログイン (成功)
A → ページ要求 (失敗)
B → ページ要求 (成功)

これは IP アドレスを個人特定のキーに使っているが、ID に対する
初回ログイン時に Cookie を発行して、ID と Cookie を検証するとか
そういう方法しかない。まぁこの話を聞いてピンとこなきゃあきらめれ。

160:nobodyさん
03/04/22 22:54
Javaを使っている場合、JMSを使ってみるとか。Sessionオブジェクトを一定期間DBなんかに永続化して
ログイン時に同じオブジェクトが永続化されていればログイン中などの判定を下す…
色々な判定基準があるだろうけど。ちょっと実装が難しいかな。

161:154
03/04/24 01:14 Dv9rntoL
>>158
ほんとだ。普通にクッキーと、セッションマスタ.csvをつくってたら、
自然と解決してた。

162:nobodyさん
03/04/24 08:35 g+kZcsKr
あのー、(トップ含めて)すべてのページをcgi'perl)にして、
セッション管理してたら、共用サーバだと追い出されます?

163:nobodyさん
03/04/26 11:29
>>162

そんなもん、鯖の性能次第だろ。

164:162
03/04/26 19:48 bCd38fy3
>>163
そうなんだ。。。
てっきり、「当たり前だろ」みたいなレスがくるかなと思ってた。

165:nobodyさん
03/04/26 20:29 M/JTw+9v
        ∧∧  ミ _ ドスッ
        (   ,,)┌─┴┴─┐
       /   つ.;ダブダブ-│
     ~′ /´ └─┬┬─┘
      ∪ ∪      ││ _ε3
               ゛゛'゛'゛
おかずなら過激に
 URLリンク(www.dvd01.hamstar.jp)


166:bloom
03/04/26 20:29 4lzrogLr
URLリンク(homepage.mac.com)

167:nobodyさん
03/05/10 21:17 NHls6sVf
age

168:nobodyさん
03/05/10 21:48 1U30OwKY
URLリンク(accessplus.jp)
URLリンク(accessplus.jp)
URLリンク(www.39001.com)
URLリンク(www.39001.com)


169:nobodyさん
03/05/22 01:04 Ql5nBZ7C
perlとクッキーで強引につくってしまったが重いー

170:動画直リン
03/05/22 01:08 x2YZ4VCE
URLリンク(homepage.mac.com)

171:山崎渉
03/05/22 01:55
━―━―━―━―━―━―━―━―━[JR山崎駅(^^)]━―━―━―━―━―━―━―━―━―

172:山崎渉
03/05/28 17:22
     ∧_∧
ピュ.ー (  ^^ ) <これからも僕を応援して下さいね(^^)。
  =〔~∪ ̄ ̄〕
  = ◎―◎                      山崎渉

173:山崎 渉
03/07/15 11:14

 __∧_∧_
 |(  ^^ )| <寝るぽ(^^)
 |\⌒⌒⌒\
 \ |⌒⌒⌒~|         山崎渉
   ~ ̄ ̄ ̄ ̄

174:nobodyさん
03/07/20 19:23 H04Zp+KF
申込フォームがたくさんあるサイトを構築していて、
申込フォームが2,3ページまたがるページが多いとする。
(申込1->申込2->確認->完了のような)
この場合、その申込フォーム毎にsessionで
パラメータ受け渡しするのって割と普通にやるもん?

hiddenで持ちまわしてもいいんだけど、
入力不備があって前のページに戻したい時
入力されたパラメータを維持させた状態で前のページに戻そうとすると
LocationだとGETで渡すしかなくて、それだとURLに出てしまう。

sessionでやれるんであればそのページ自体にPOSTして
入力チェックもそのページ内のコードで完結できて
あとはLocationで飛ばせばすむ。

申込フォーム毎にセッション作るっておかしい?
それくらいhiddenでやるべき?
マジレスきぼん。


175:八重洲支店
03/07/20 20:39
URLリンク(life.fam.cx)


176:nobodyさん
03/07/20 21:31
>>174
ある程度の信頼性が求められる場面では、サーバ側にセッション変数保存するのが鉄則。


177:山崎 渉
03/08/02 02:25
   ∧_∧
  (  ^^ )< ぬるぽ(^^)

178:nobodyさん
03/09/04 01:42 wD/9gEl4
PHPのsession.gc_probabilityって変更してます?

179:nobodyさん
03/09/04 16:49 i0S65Zr2
ヤフーのIDってどうやってブラウザーで
セッション情報保持してんの?
クッキーすててもログアウトするまでID残ってんだけど・・・
誰か知らない??

180:nobodyさん
03/09/05 23:35
>>179 サバ側に保存してるのでha?

181:nobodyさん
03/09/05 23:46
>>179
ブラウザがメモリにクッキー持ってるのでは?

182:nobodyさん
03/09/10 23:46 xZuE4Q/q
ファイルとしてのクッキーは捨ててもメモリーには
残るんですね・・・・・・


183:●のテストカキコ中
03/09/10 23:50
URLリンク(ula2ch.muvc.net) (このカキコは削除しても良いです)

184:nobodyさん
03/12/25 17:34
レンタルサーバーにショッピングサイトを作りたいのですが
↓みたいなのでいいと思いますか?

使用可能な環境
SSL CGI SQLDB

 ログイン画面→画面1→画面2→画面3
(全部SSL)

1.ログイン画面でID・パスワードを入れる
  SQLDBと比較してOK

2.セッションIDを生成しクッキー作成(期限無効メモリー内)
  サーバー上のセッションIDファイルへ追加

3.画面2→画面3へ移るたびにクッキーの
  セッションIDとサーバーのセッションIDファイルを
  比較してチェック

今迷っているのはセッションIDをどう生成するかです。
また、画面移動するたびにチェックが必要なのでしょうか。
みなさんはどうしていますか?

185:nobodyさん
03/12/26 13:34
PHP4やクッキーでいろいろセッション管理調べて
試したけど、どれも一長一短でいまいち。

そこで、ふと思いついたんだけど
セッションIDなんて使うから危険?
単純に hidden + POST(GETはダメ) + SSL(必須) で
ID+パスワードをパラメータで毎回送って
全ページで認証すればいいような。

PHP使おうが、クッキー使おうがどっちみち
セッションIDの認証は全ページしないといけない
事を考えるとレスポンス自体もそんなにかわらない
ような気がするし、セキュリティーの
観点から見ても結構いいと思うけど
どうでしょうか。

なによりも
携帯端末でもこの仕組みなら問題ないしね。


186:nobodyさん
03/12/26 19:06
アホか・・・

187:nobodyさん
03/12/27 00:47
>>186
じゃオマエのアホじゃない方法を述べてみろ
そして、どこがアホかも述べろ
アホ

188:nobodyさん
04/01/31 14:44 3hbTQvCa
どなたか、セッション管理について分かりやすく書かれているサイトを教えてくださいませんか


189:nobodyさん
04/02/01 01:26
>>185
セッションIDが何かわかってないな・・

190:nobodyさん
04/02/01 02:24
>>188
URLリンク(itbtech.itboost.co.jp)

191:nobodyさん
04/02/01 11:38 WI3J2wo7
クッキー吐き出さん、携帯端末でブラウザとサーバー間で行う
セッション管理のような真似はできまつか...


192: 
04/02/01 11:41
>1
当時はPearのSessionライブラリも無かったのか。

193:nobodyさん
04/02/01 11:42
>>191
出来るよ。以上。

194:nobodyさん
04/02/01 11:59 WI3J2wo7
>>193
どんなテクニックで行うのか教えてもらえませんか、参考になるURLでもいいでつ
よろぴく。


195:nobodyさん
04/02/01 12:08
質問の仕方を覚えたらまた来てくれ。

196:nobodyさん
04/02/01 23:33 +Nypdzo/
ASPのsession管理ってcookieオフってると使えないのですか?
PHPは?
javaもcookie使ってるの?

197:nobodyさん
04/02/02 00:06
>>194 たとえばJavaServletなら、response.encodeURL("URL")で、クッキー使わないことが可能
>>196 同じく

198:nobodyさん
04/02/02 03:43
マニュアルくらい読めよカスども

199:nobodyさん
04/02/02 03:53
ログを読まずに同じ質問でループさせるカスも終了してほしい。

200:nobodyさん
04/02/03 20:12 lxZMOySb
>>199
ごめんちょ

201:nobodyさん
04/02/07 03:27
どうでもいいけどこの板人少ないね

202:nobodyさん
04/02/09 00:22
>>185
セッションIDの認証は全ページしないといけない

何で全ページで認証させるの?
セッションIDの意味ないじゃん





203:nobodyさん
04/02/09 06:47
セクース相手をセショ-ン管理できますか?
いろんな店に行ってるので、どこ娘とやったのか覚えきらんのです。
だから、無期限の cookie を発行してセショ-ン管理したいなと。

204:nobodyさん
04/02/17 09:58
>>203
寒いです。出直してきてください。

205:nobodyさん
05/03/30 04:26:02
セッションってどのぐらいの容量までいいの?
/tmp/sess_???
ファイルに入るんだよね。
DBにした場合フィールド長をどのくらいにしようかと・・・

206:nobodyさん
05/03/30 11:38:36
age

207:nobodyさん
06/02/19 00:45:24 HErML43B
携帯向けセッション管理がわからないです・・・
hidden連れ回しじゃなくURLリライティング?とかでやりたいんですけど
apacheのmod_rewriteとかでいいんでしょうか?
情報お願いします

208:nobodyさん
06/11/01 10:50:28
保守

209:nobodyさん
07/05/21 17:57:45 6xHZsetU
>>2ならこのスレのみんなに理想どおりの彼女ができる

210:nobodyさん
08/07/18 21:53:52 9ZIfrdcC
Perl CGI::Sessionでセッション管理

Cookieからセッションidを読み取れた = Cookieオンである
と判断して間違いないでしょうか?
それとも、Cookieからセッションidを読み取れたが、
Cookieに書き込みができない、という状況も想定するべきですか?

211:nobodyさん
08/11/24 08:36:45
歴史を感じる

212:nobodyさん
10/11/06 12:14:09
適当に過ぎちゃって、今更ちゃんとやろうとすると難しいなw
Perlのセッションの決定版書籍ってないかな。

213:山崎  渉
11/03/29 00:33:24.36
   ∧_∧
  (  ^^ )< ぬるぽ(^^)


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch