トップページ⇒php
987コメント299KB

【PHP】フレームワーク CakePHP

レス数が950を超えています。1000を超えると書き込みができなくなります。
0001nobodyさん2006/11/18(土) 20:53:22ID:???
おら、とうとうガマンできなくて立てちまっただ

本家
http://www.cakephp.org/

10分で作るCakePHPアプリ for Windows
http://p4life.jp/cake/

マニュアル日本語化
http://www.cakephp.jp/doc/

日本語フォーラム
http://cakephp.jp/modules/newbb/

あとこのへんとか(初心者向けTIPS)
http://www.avatarfinancial.com/pages/cake/
0882nobodyさん2007/10/21(日) 15:54:32ID:???
>>880
俺もアマゾンに通報しますた
0883nobodyさん2007/10/21(日) 17:33:03ID:???
projectmultib-22を検索するとブログが見つかるけど、絶対荒らすなよ!!
0884nobodyさん2007/10/21(日) 21:00:01ID:???
Cake使ってて、Railsを勉強しはじめたんだが、
Cakeの勉強続ける意味ってあるのかな。
Railsと併用とか戻ったとかいう人いる?

もちろん、Rails使えない環境ではCake使えるけどRails知ってて敢えてCake使ってるっていう人。
0885nobodyさん2007/10/21(日) 21:06:47ID:???
  _, ._
(;゚ Д゚) 両方使えて損は無いだろ?時間が問題になるだけで。
0886nobodyさん2007/10/21(日) 21:27:02ID:???
どっちかに自分をコミットしたいじゃん?
0887nobodyさん2007/10/22(月) 12:31:50ID:???
今まであった静的ページにCakeの機能組み込む場合って
どうすればいいんでしょうか?

後プログラマに依存しないで静的ページを追加していく方法とかありますか?
0888nobodyさん2007/10/22(月) 12:53:18ID:???
>>887
適当なディレクトリにインストールすれ
静的ページの定義がわからんが、単にファイルとして設置もできるしCake通った場合もおk
0889nobodyさん2007/10/22(月) 20:39:14ID:???
下手に有名なせいで素人増えすぎ。
0890nobodyさん2007/10/22(月) 20:53:25ID:???
人が多いことは良いことだ
0891nobodyさん2007/10/22(月) 23:22:05ID:???
うざいやつも増えるけど、情報が出やすくなるのはいいかな。
0892nobodyさん2007/10/23(火) 16:42:02ID:???
1.2.0.5875pre-betaきた
0893nobodyさん2007/10/23(火) 22:15:53ID:???
きた!

でもこれが組み込まれていないorz

afterFind not called on associated Model Behaviours - diff attached
https://trac.cakephp.org/ticket/2056

バグだろ? 早く公式で組み込まれないかな・・・
0894nobodyさん2007/10/24(水) 02:28:23ID:???
>>887
.htaccessをそれっぽく書き換える
0895nobodyさん2007/10/25(木) 00:35:51ID:???
同じRailsライクのPHPフレームワークで、symfony、 php on trax 、codeIgniterあたりを実際に使って比較したひといる?とくにtraxとの比較が知りたい
0896nobodyさん2007/10/25(木) 01:04:02ID:???
今日は 1.2.0.5427alpha → 1.2.0.5875pre-beta 移植をやっていたよ。
わかっていたことだけど、alpha版に手を出すと面倒だねw

>857のメールの件だが、動かしてはいないんだがソース見た限りではちゃんと直っているようだ。

コントローラーのnamedArgsがなくなってpassedArgsだけになっていた。ほとんど同じようなものなので、簡単に修正。
namedArgsはもともと使ってはいけないものだったのだろうか?

なんていうんだっけ、名前つきURL? paginationとかで使われている/controller/action/name:value の「:」という区切り記号。
以前はコントローラの、$argSeparatorで指定できたのが、Routeの仕事になっている。まあ意味を考えれば妥当な変更だね。
設定するにはconnectNamedを使う。でいいのだろうか? この関数が何のためにあるのかよくわからない。
とりあえず/app/config/routes.phpにRoute::connectNamed(array(),array('argSeparator'=>'区切り記号'));を追加して設定できた。
これでいいのかわからんが、コードを見る限り区切り記号変更以外に副作用はないようだ。

/app/config/core.phpがことごとく変えられているw
といってもdefine('〜〜〜',〜〜) が Configure::write に変わっただけなんだが。
おかげで、DEBUG定数を見ているコードを修正する必要がある。
Configure::read('debug')に変えるだけだけど。

テストのページ(simpletestを起動するためのtest.phpのところ)の
charasetがUTF-8に修正された。うんよかった。

Single Table Inheritanceなるものをつかっているのだが、動かなくなった。
(詳細 http://cakephp.seesaa.net/article/23101637.html)
(大元 http://www.ifisgeek.com/tutorials/implementing_single_table_inheritance_in_cakephp)

自分はいろいろ変更しているのでそのままあてはまらないかもしれないが、
大元のコードSnippet #3: Complete definition for the Current Model.の $table = $this->__table;の次の行に
$this->useTable = $table;を追加したら動いた。まあこれは大元が悪い気がするが。

とりあえず、俺にとって問題が出た修正点はこんなところかな?
0897nobodyさん2007/10/25(木) 12:48:02ID:???
1.2.0.5875pre-beta で
cakeコマンドの検索パスから、
/app/vendors/shells が無くなった?

/venders/shellsに変えればいいだけなんだが、
1.2.0.5875pre-betaでもパスは残っているしこれはバグだろうか?
08988972007/10/25(木) 13:06:00ID:???
どうやら、パスの扱いに変更があったようだ。

今までは、/cake/consoleに移動して、cakeコマンドを実行していたのだが、
それでは/app/venders/shells/を見てくれなくなって
/app で実行したら見てくれた。

これは、デフォルトの動作で、-app 引数で見るパスは変更可能。
0899nobodyさん2007/10/25(木) 15:21:22ID:QUb8umf5
>>896
わかっていたことだけど、alpha版に手を出すと面倒だねw

同感。ちなみに、まだ本屋いってないけど本でたかな。
cakephpの新しい本。早く読みたい。
0900nobodyさん2007/10/25(木) 16:10:51ID:???
1.1でつくってて本当によかった
0901nobodyさん2007/10/25(木) 17:53:23ID:???
>>896
めんどくさそうだなー。
一応betaまで待とうかな。
うーん…
0902nobodyさん2007/10/25(木) 20:40:27ID:???
>>901
面倒は面倒だが、書いてある文章よりかは面倒じゃないぞw

比較的マイナーなことをしているからそうなるわけで、
ほとんどの人はすんなり移行できるんじゃないかな?

>>900
> 1.1でつくってて本当によかった
それはそれで、1.2へ移行するときに面倒なことが・・・
結構かわっているしね。formヘルパーとかPaginationとか。

俺は、EmailComponentとユーザー関数によるValidationと
Behaviorと名前つきURLパラメータとか使っているから
1.2じゃないともう無理。
09039012007/10/26(金) 00:12:57ID:???
>>902
俺もEmailComponent、Validationの二つが決定的で1.2を使ってる。
1.1からだとhtmlとformヘルパー周りの変更は確かにめんどくさそうだね。
0904nobodyさん2007/10/26(金) 10:45:52ID:???
>>881を実際手に取った感想は無いの?
0905nobodyさん2007/10/26(金) 11:30:28ID:???
見た目よりは滑らかな感じだったよ。
0906nobodyさん2007/10/26(金) 11:31:00ID:???
Modelname.columnnameや
Modelname/columnnameなどの文字列をモデル名とカラム名の配列に
変換してくれる(または、その逆をしてくれる)関数はありませんか?
0907nobodyさん2007/10/26(金) 11:37:40ID:???
いまちょっと混乱しているんだけど、
1.2.0.5427alphaで、admin routingを使ったときの
/admin/controllers/indexにアクセスしたときの
action名(コントローラ->actionおよびコントローラ->params['action'])って
indexじゃなかったっけ?

1.2.0.5875pre-beta の場合、admin_index になっているような・・・。
仕様変更? それともなんか設定不足かなにかかな?
09089072007/10/26(金) 12:02:50ID:???
結局、これもバグか・・・
https://trac.cakephp.org/ticket/3440
これの修正を適用したら直った。

あっ。直ったと言うのは正確にはソートの部分ね。
>>907の直接の問題は、paginationを使ったときテーブルのヘッダ部分が
/admin/controllers/admin_index/page=1/sort=type/direction=asc と
admin_indexが追加されてしまっていること。
パッチを適用したらちゃんと直った。

actionが以前、admin_indexだったかどうかは忘れたが
これからはこれなのだろう。
09099072007/10/26(金) 12:15:32ID:???
/admin/controllers/index/abc
これでアクセスしたときは、

function admin_index($value) {
の$valueにabcが入るのに、


/admin/controllers/index/named:1/abc
これでアクセスしたときは、

function admin_index($value) {
の$valueが、なんで1なんだよ?

/admin/controllers/index/abc/named:1
のときはちゃんとabcが入るくせに


(゚Д゚)ハァ? (゚Д゚)ハァ?

1.2.0.5875pre-beta は
こまかいバグがおおいなぁ。
0910nobodyさん2007/10/26(金) 13:20:41ID:???
>>909
cakeは全体的にパラメータの受け渡し関係はおかしいよね。
数字なのにわざわざ文字列型に直されていたり…
0911nobodyさん2007/10/26(金) 19:16:41ID:???
checkboxって
array('checked'=>($data['Pic_resize']?'checked':null),'value'=>1)
とかにしてパラメータ渡さんとだめなん?
0912nobodyさん2007/10/27(土) 00:05:03ID:???
どういういみだ。生書きできないかということか?
0913nobodyさん2007/10/27(土) 21:04:01ID:euGofwdi
http://ihc.mydisk.jp/
0914nobodyさん2007/10/28(日) 00:56:30ID:agDkXCq3
複数のCakePHPアプリでログイン情報を共有させるいい方法ないのかなあ…
1つのアプリにまとめると、コントローラ名なんかがかぶるから長い名前になってしまう…
0915nobodyさん2007/10/28(日) 12:02:53ID:???
CakePHPだとGDの扱いも簡単にかけるの?
0916nobodyさん2007/10/28(日) 12:36:40ID:???
GDがなんか難しいのか?

それはいいとして、GDの命令自体は同じ。
GDを含んでいるアプリ全体は簡単に書ける。

フレームワークとはそういうもん。
0917nobodyさん2007/10/28(日) 13:52:19ID:???
>>914
そんなにコントローラー名かぶらないと思うけどなあ…
このへん参考にしたら?
http://cakephp.jp/modules/newbb/viewtopic.php?topic_id=786&forum=3&post_id=1464

http://program.alphabrend.com/modules/pukiwiki/42.html
俺は↑という感じでサブドメイン運用しているんだが、
それでもサブドメインが変わると、セッションが切れてしまう。
firefoxでセッションの情報を見ると、対象ドメインは.hoge.jpに
なっているので、hoge.jpでもfuga.hoge.jpでもOKのはずだよね?
0918nobodyさん2007/10/28(日) 14:24:34ID:???
>>917

ありがとう
やっぱりセッション周りいじるのが一番簡単なのかな

コントローラ名がかぶるのはCakePHPの規約に合わせてつくってるから…
(モデルごとにコントローラ作るから)

規約に合わせないで、1つのコントローラでいくつかのモデルをまとめて扱えばいいのかな
今、気づいた orz
0919nobodyさん2007/10/28(日) 15:09:09ID:???
>>896
自分もpre-betaに移行してみたよ。
修正が必要だったのは
>おかげで、DEBUG定数を見ているコードを修正する必要がある。
ここだけ。
defineはconfig.phpと関係ない定数だけで使うようにってことなのかね。
0920nobodyさん2007/10/28(日) 15:16:07ID:???
>>918
よく知らないんだが規約ではモデルごとにコントローラーを作るのを求められてるの?
コントローラーは、ユーザーが何かしらの行動をしたときに動作を振り分けるものだから、
たとえばアクセスログをDBに記録する場合には、モデルだけ必要でコントローラーは
必要ないと思うんだが。
0921nobodyさん2007/10/28(日) 15:18:18ID:???
Cake使っていままでの既存のプロジェクトを後の生産性と保守性のためにかきなおしたやついる?
0922nobodyさん2007/10/28(日) 15:26:23ID:???
>>920

あれ、別に作らなくてもいいんだっけ?
一応、規約だとモデル・コントローラ・ビュー全て一式そろえないといけないことになってたかと思った
(もちろん、$Useとか$UseTableとかで変えられるけど)

掲示板とかのカテゴリ用のテーブル作って、CategoryControllerも作ってたんだけど、
さすがになんか変だなあ、と思って、
別にコントローラのないモデルもあるよなあと気づいた…。

小物は規約に従っててもいいけど、少し変わったもの作るとなると自分で調整したほうがいいみたいね
0923nobodyさん2007/10/28(日) 15:27:08ID:???
>>921

趣味でやってるけど書き直そうとしてる
でもDB使ってないサイトなので、あんまり意味ないかもw
楽だなあ、とは思った
0924nobodyさん2007/10/28(日) 15:29:53ID:???
DB使ってないのにCake使ってるんだw
0925nobodyさん2007/10/28(日) 15:30:43ID:???
モデルだけのためにビヘイビアがあります
0926nobodyさん2007/10/28(日) 16:01:28ID:???
ビヘイビアはよくわかりません。
0927nobodyさん2007/10/28(日) 16:26:52ID:???
>>924

DB使わなくてもCakeで組み直すと楽だよ
まあDB使ってるときほどメリットはないけど
0928nobodyさん2007/10/28(日) 16:54:10ID:???
みんなどれくらいのDBのパフォーマンスでやってるのか気になって検索したら出てきたんだけど、
http://www.google.com/search?num=50&hl=ja&q=%22*+queries+took+*+ms%22&lr=lang_ja
これ既出?

0929nobodyさん2007/10/28(日) 17:15:20ID:???
>>928
へぇそれはしらなかった
0930nobodyさん2007/10/28(日) 22:46:21ID:???
Amazonから届かんぞーーーー
0931nobodyさん2007/10/28(日) 22:49:07ID:???
「アマゾ・・」
ピンポーン
0932nobodyさん2007/10/28(日) 23:07:44ID:???
>>930

きのう届いたよ
0933nobodyさん2007/10/28(日) 23:09:53ID:???
1.1のときはcake/scripts/ で php bake.php をやるとCAKEPHPっていうのが出てきて対話に入ったんですけど、
1.2 pre-betaにしてからbake.phpの場所が変わっていたので cake/console/libs で php bake.phpをしても何も表示されません。

ほかに何か変更になったんでしょうか?
0934nobodyさん2007/10/29(月) 02:13:31ID:???
1.2からは、cake bake だよ。

cakeコマンド自体は、/cake/consoleにあるが、
実行する場所は、/app にいることが想定されていると思う。
なぜなら、なんのオプションもつけずに、/app/venders/shells/に作った
独自のスクリプトを読むためにはここにいなければいけないから。

だから、俺は環境設定のPATHに、/cake/consoleを追加している。
0935nobodyさん2007/10/29(月) 14:18:29ID:???
pre-betaになってから$form->createが変わったな。
なぜか知らんが、$this->params['controller']があると、
それを優先的にモデルに設定してしまう。
https://trac.cakephp.org/browser/trunk/cake/1.2.x.x/cake/libs/view/helpers/form.php?rev=5811#L160
/post/view/1を表示しているときに/comment/addとかにactionが
設定できなくなった。
0936nobodyさん2007/10/29(月) 14:53:23ID:???
>>935
'url' => array('controller'=>'comment', 'action'=>'add')
とかoptionsに入れればいいんじゃないの?
それでダメと言う話?
0937nobodyさん2007/10/29(月) 16:33:09ID:???
>>936
あー、optionsをそう書くのか。
前は
$form->create('Comment', array('action'=>'add'))
でいけてたはずなんだけど。
0938nobodyさん2007/10/30(火) 00:17:43ID:???
>>934

さんくす。

php cake/console/cake.php bake

で、うまくいった。
0939nobodyさん2007/10/30(火) 00:46:08ID:???
グループごとにログインする場所って分けた方がいいんでしょうかね?
0940nobodyさん2007/10/31(水) 00:16:45ID:???
cake本をぱらっと見たけど、1.1向けなのね。
pre-betaも出たし、なんかタイミング悪い。
これなら前に出たPHPフレームワーク本の方がいいかも。
購入は1.2に改訂されるまで待ちかな。
0941nobodyさん2007/10/31(水) 02:13:47ID:???
1.2に改訂とか出ても相当かかるだろ。
0942nobodyさん2007/10/31(水) 16:03:44ID:???
1.2って仕事でつかっちゃっても大丈夫な位には出来てますか?
0943nobodyさん2007/10/31(水) 17:07:27ID:y/Xrur+h
本かってみたー。

cakephp1.1で作ってるので個人的には今まで出た本の中では良いと思う。
なにせcakephp1.1使ってますから。

ただ、文字が多すぎ。カラーで出してくれたら嬉しかったなと思う。
0944nobodyさん2007/10/31(水) 17:35:10ID:???
でも薄っぺらい本よりはいい
0945nobodyさん2007/10/31(水) 17:38:10ID:???
漫画じゃないと認めない
0946nobodyさん2007/10/31(水) 22:44:43ID:???
もうちょっと具体的なのがあるとよかったね

半分くらいはまとめただけって感じなのが…

もうちょい実践で使えるノウハウがほしいなあ

入門書としては悪くないと思う
0947nobodyさん2007/10/31(水) 22:47:25ID:???
そう感じたらRailsへの移行時だな
0948nobodyさん2007/11/01(木) 00:36:06ID:???
おれはrailsからcakeにきた
0949nobodyさん2007/11/01(木) 01:32:04ID:???
なぜ?
0950nobodyさん2007/11/01(木) 03:19:40ID:???
phpのほうが楽じゃね?
0951nobodyさん2007/11/01(木) 11:57:40ID:???
単純にRubyに対応している共有サーバーが少ないからだな。
もちろん専用サーバーならなんでもありだけど、
それならJavaでいいんじゃね?という感じだし。
0952nobodyさん2007/11/01(木) 12:52:33ID:???
だな、オレくらいしょぼいプログラマだと、
PHPしか需要がねーよ orz
0953nobodyさん2007/11/01(木) 17:14:54ID:???
tagErrorMsgってリダイレクトすると消えちゃうんですが、
これってSessionとか使って記憶しておく事とかできませんか?
0954nobodyさん2007/11/01(木) 20:53:29ID:40qfpM4a
ちがった。
別の作って見たらちゃんとRedirect後もエラー表示されてる。

「リダイレクトするとtagErrorMsgの表示が見えなくなったんですが、
どなたか原因わかりませんか? 」

に質問を買えます。
お願いします。
0955nobodyさん2007/11/01(木) 21:27:48ID:???
ちがった・・
エラーの後のリダイレクトは駄目なんですね
質問取り下げます。失礼しました。
0956nobodyさん2007/11/03(土) 15:26:30ID:???
ユーザ登録系で簡単な方法って無い?
メール返して本人確認するみたいな・・
0957nobodyさん2007/11/03(土) 17:59:33ID:???
>>956
前に探したけど、特になかった気がするなあ。

Postされる情報の中にidが含まれていると任意のidが
設定できちゃうのね。
いちいちnullを入れるのがめんどくさい&不安なんだけど
みんなどうやって解決してる?
0958nobodyさん2007/11/04(日) 00:16:12ID:???
自由に投稿されてはいけないなら、何らかの認証機構を付けるべきなんじゃない
0959nobodyさん2007/11/04(日) 01:40:38ID:???
idいれなきゃいいじゃんw
nullもいらないじゃんw
0960nobodyさん2007/11/05(月) 04:20:02ID:bzvMK5G5
DOCUMENT ROOT以下しか触れないときのファイル配置のお手本ってどっかにないですか?
僕はとりあえず全部DOCUMENTO ROOT直下にそのまま配置して、cakeとかappとかには直接アクセスできないように.htaccessで設定してるんですがそれで十分なのか不安なんですが。
(あとweb_rootが下の階層にあるのがデザイナーさんに気持ち悪がられる)
0961nobodyさん2007/11/05(月) 04:27:55ID:???
webrootとコアを別のディレクトリにわければいいんじゃ
0962nobodyさん2007/11/05(月) 16:55:08ID:???
>>960
http://massat.jp/2007/01/08/110
この辺参考にしたら?
dorument_root/
にwebroot突っ込んで
document_root/cake
にコアを入れて
で、cakeディレクトリはアクセス制限。
って感じで
0963nobodyさん2007/11/07(水) 16:56:26ID:???
>>958
んー、例えばSNSの日記とかで/diaries/read/$idみたいなURLの場合。
悪意のあるだれかが日記を投稿するときにidをPostに含めて投稿した場合、
オートインクリメントが無効になって、いきなりidが飛んじゃう。
0964nobodyさん2007/11/07(水) 20:37:33ID:???
そうならないように作ればいいだけじゃね?
0965nobodyさん2007/11/07(水) 23:41:09ID:???
>>660
0966nobodyさん2007/11/08(木) 02:15:59ID:???
>>965
ほほー。
これでまあなんとかマシにできるかも!
0967nobodyさん2007/11/08(木) 04:05:21ID:???
いちいちそれやるのめんどくせーから
app_controllerにそれ用の関数書いとくというのはありですか?
0968名無しさん@Vim%Chalice2007/11/08(木) 14:05:02ID:???
好きなの選べ

プラン1
app_modelでsave()をオーバーライドして
idを指定してきてたらidがデータベース上に存在するかチェックする

プラン2
controllerごとに$whitelistの配列を定義。
app_controllerのコンストラクタで$this->actionを見て、
editだったら$whitelistにこっそりidを付加

プラン3
save()で統一するメリットなんてたかが知れてるんだから
もういっそadd()とかedit()とかのラッパーを作ってmodel側で完結

プラン4
ママに頼む
0969nobodyさん2007/11/08(木) 14:37:50ID:???
>>968
プラン4でうまく動きました。
ありがとうございました。m(*_*)m
0970nobodyさん2007/11/08(木) 14:44:38ID:???
idだけじゃなくて、createdとmodifiedも、ほぼ間違いなく存在するフィールドだから
推測されやすいし、ポストされるとまずいよね。
その辺を考えると>>968のプラン2が一番いいのかなあ。

この問題について言及しているブログとか見つからないんだけど、
みんなどうやって解決しているのかね。
もしかして普通にセキュリティホールになってたりするのか?
0971nobodyさん2007/11/08(木) 15:50:07ID:???
別にセキュリティホールにはならないと思うが?
単に、createdとmodifiedが編集可能フィールドになるってだけで。
0972nobodyさん2007/11/08(木) 16:44:49ID:???
みんなどうやってログイン状態保持するようにしてる?

「情報を保存する」オプションを有効にする(CakePHP修行 #34) | IDEA*IDEA
http://www.ideaxidea.com/archives/2007/07/cakephp_34.html
これを見ると、
usersテーブルに、ユーザーごとのhashを保存
↓
ログイン時に「保持する」にチェックが入っていたら、hash値をcookie発行
↓
ログインチェック時にcookieを見てhash値があったら、それでログイン。
って感じの処理をやっているんだけど。
なんでこんなことをやっているのかわからない。

sidをcookie発行しちゃだめなの?
0973nobodyさん2007/11/08(木) 17:05:29ID:???
セッションID 固定化
でぐぐる
0974nobodyさん2007/11/08(木) 21:38:53ID:???
>>973
CakeってSession Fixation対策はある程度されているような。
少なくとも?CAKEPHP=1234みたいなのは効かないと思うんだけど。
0975nobodyさん2007/11/08(木) 21:57:56ID:???
セッション固定化は問題
↓
セッション固定化しないようにした
↓
そんなsidをcookieに保存しておくのか?
0976nobodyさん2007/11/09(金) 03:59:48ID:???
bakeで吐き出されるコードの
delアクションって最悪だな。
アドレスにアクセス(GET)しただけで削除される。
普通こういうのはPOSTを使って削除するもんだろ。
0977nobodyさん2007/11/09(金) 14:17:29ID:???
bakeは使わないのが基本とどこかで見たから、それ以来全然触ってない。
普通に書けばいいんじゃね?
0978nobodyさん2007/11/09(金) 17:07:22ID:???
>>975
sidをcookieで保存しておくとどういう攻撃が想定されるかわからないんだけど、
すまんが攻撃名だけでも教えて貰えないか。
0979名無しさん@Vim%Chalice2007/11/09(金) 17:07:32ID:???
1.2prebataで搭載されたRESTルーチングを試してはいかが
0980名無しさん@Vim%Chalice2007/11/09(金) 17:13:33ID:???
たいぽってた
誤)prebata
正)predator
0981nobodyさん2007/11/10(土) 02:09:58ID:???
攻撃も何も、不定期に変化するsidをcookieに保存しておいても
次回アクセスされたときにcookieから取り出したsidが
有効である保障はないだろう?
レス数が950を超えています。1000を超えると書き込みができなくなります。