【PHP】フレームワークについて語るスレ12【総合】
at PHP
[前50を表示]
150:nobodyさん
09/01/21 12:27:49
求人するのタダじゃないんだぞ。
そう簡単に切ったり雇ったりできるか!
言語を教材なんて言ってる時点で仕事じゃない
コスト考えるなら即戦力。即戦力を考えたら普及している言語が有利に決まってるだろ。
今話題の派遣とかが会社にとって効率がいい
151:nobodyさん
09/01/21 13:08:07
雇って育ててるのは相当余裕がある会社ということか。
プログラマ堅気を見抜けるエスパーが社に一人いると便利だよ。
152:nobodyさん
09/01/21 13:38:39
即戦力なんてほとんどいない
特に新卒とか
153:nobodyさん
09/01/22 03:26:59
Rubyの習得コストが低いって嘘はどっから出てきたんだ
まさか日本人が作った言語だから日本人に解りやすいとでも思ったのか
154:nobodyさん
09/01/22 03:33:43
まぁ、派遣メインの場合、本当は戦力じゃないPGを、
ねじ込んでしまえば、人材という商品にはなれちゃうからな。
とりえずphpかJavaできますと言って、嘘にならなければ戦力。
今となっては、というお話だったとさとしか言えんがw
155:nobodyさん
09/01/22 04:44:46
金融なんかは人月稼いでなんぼみたいな所あるからね
どれだけ大人数で時間書けてやったかがリーダーの実績みたいなw
だからコンサルファームはとにかくスキル関係なく人を入れたがる
156:nobodyさん
09/01/22 04:53:28
問題化しないギリギリまで長期化させて、
ギリギリ成功といえる状態で、案件を終わらせるのが、
優れたリーダーってことか。
とても楽しくなさそうだ。
157:nobodyさん
09/01/22 05:37:45
客が怒る寸前まで常駐させて貰うのがキモです
運用は儲からないんです
158:nobodyさん
09/01/23 02:44:44
フレームワークスレでも土方さん多いのな。
そんなもんか。
159:nobodyさん
09/01/23 08:09:25
お前はアホか
160:nobodyさん
09/01/27 00:00:53
Yiiいいじゃん
161:nobodyさん
09/01/27 23:42:06
>>160
そうなの?
162:nobodyさん
09/01/28 00:04:30
サーバ側でmemcacheとか用意しないとならんけどな
DBアクセスするならPDOとかもPear側で準備しとかないとならん
あと結構依存するライブラリたくさんある
フレームワークの意味あんのか
163:nobodyさん
09/01/28 00:05:19
ZendFW使ってるけど、他の使ってない俺から見ればこれで十分な気ガス
164:nobodyさん
09/01/28 00:12:52
PDOをPear側で準備・・・?
165:nobodyさん
09/01/28 00:26:31
ああごめん
PDOがPearじゃなくて"とか"をPearで用意する必要があるものもあるって事ね
CakeとかZendとかPearフリーじゃん
それの対比でYiiは違うよと
166:nobodyさん
09/01/28 00:52:28
PDOとかをPearで準備・・・?
167:nobodyさん
09/01/28 00:55:30
ZendFWでのDB接続は基本PDOだけど・・・
168:nobodyさん
09/01/28 01:01:34 VWeywu5Y
>>162
memcacheは必須じゃないでしょ?
逆にCakeでもZendでもキャッシュのバックエンドにmemcacheを使うなら
サーバ側で用意するのは一緒。
> あと結構依存するライブラリたくさんある
例えば?
> フレームワークの意味あんのか
依存するライブラリの多寡とフレームワークの意味は関係ない概念だと思います。
169:nobodyさん
09/01/28 07:10:16
信者w
170:nobodyさん
09/01/28 08:17:44
>>162はmemcacheって言いたかっただけじゃないかと
ActiveRecordをシンプルに使えてちょっといい感じだけどな > Yii
ただ、拡張をどうすればいいのかちょっとまだよくわからん
171:nobodyさん
09/01/28 08:19:43
ペドなんか使うなよ
172:nobodyさん
09/01/28 11:10:45
最近、イスラエルがたくさん人を殺しているというニュース
どっちもどっちなのかもしれないけど、ほめられたことじゃないな
Zendはそんなイスラエルの会社
PHP以外でWEBアプリを作ったことがない俺
はぁ〜、PHPでプログラミングしていると軽く鬱になる(=これはイスラエルとは関係ないかもしれんwww)
plugger(Perl)、Google App Engine(Python)でもやってみるかな?
173:nobodyさん
09/01/28 11:22:29
なんだよその上っ面だけの意見は
174:nobodyさん
09/01/28 12:50:21
PHPER=ユダヤ人
そう考えたら色々納得いくぜ!
175:nobodyさん
09/01/28 15:17:58
イスラエルで納得っていうと差別されたり、虐殺されたり、病院爆撃したりっていうこと?
あと金持ち属性もあるか。
PHPERは差別はされてるかもしれないけど、虐殺はされてないし、
病院ごとテロリストをぶっとばすのもしてないぞ、なにより金持ちでもないし。
...いや、この先IT不況が来たら大量に首を切られて虐殺されるかも...
176:nobodyさん
09/01/28 15:47:25
PHPはもうダメポと思った俺は開発をPerlに切り替えたのだが、
顧客の多くはPHP指定してくる。今のところ予想は外れたまま。
ええ、結局PHP書いてますよ。
177:nobodyさん
09/01/28 22:52:50
>>172
そこまで考えるんならさぁ。
欧米由来の言語って一切つかえなくね?
178:nobodyさん
09/01/28 23:53:34
>>176
なんで思ったの?
179:nobodyさん
09/01/29 00:07:10
>>168
Yii使いならメモとかドキュメントとかその他なんでもいいから晒してくれ
180:nobodyさん
09/01/29 01:00:41
Javaの企業需要はまだなくならない
ASP.NET系も同じく糞ゲイツ派企業の鉄板
PHPはなんだかんだでライトユーザーシェアはなくならない
---かべ---
PerlはもうすでにWebProgのCOBOL
Rubyは永遠に下火
そのた:話題に上らないほどにマイナー
>>176
PHPがだめぽってのはすごく理解できるが、
そこで何ゆえPerlなんかを選んでしまった理由を聞いてみたいw
181:nobodyさん
09/01/29 01:21:22
つうか、web屋ならPerl、PHP、Rubyあたりは一通り理解できて然るべきだろ。
軽量言語如きで信者論争とか、アホらしいっつうかアホそのものだ。
182:nobodyさん
09/01/29 01:35:52
理解できるのと実際組めるのとは別物だよなぁ。
昔、簡単な物ならPerlで書けたけど、今はうpロダでさえ作れないかも。
PHPしか書けないWeb屋が居てもいいよねw
183:nobodyさん
09/01/29 01:41:58
そりゃ理解できるし組めるが、できることなら糞言語は使いたくないんだ。
184:nobodyさん
09/01/29 01:51:42
組めないってことは理解できてないんだろ
185:nobodyさん
09/01/29 18:23:40
調べてみたけどいまいち情報が無いので聞かせてください。
フレームワークのSSL対応ってどうなっているのでしょうか?
単純にページをhttps://以下に置けばSSL対応になるとかいうのではありません。
http://以下の特定のページに着たらhttps://以下にリダイレクトするというものでもありません。
私が聞きたいのは、SSLページと非SSLページにまたがったアクションで
情報がどのようにセキュアに扱われているかということです。
具体的に言えば、たとえばAmazonなど、非SSLページでカートに入れて、そこからSSLページにとんで
住所などの個人情報とカートの情報を結びつけて会計処理を行えます。
また逆に個人情報を入れてからカートに追加と言う処理もあります。
SSLページと非SSLページでセッションIDを共通にしたらセッションハイジャックされますよね。
こういう部分をフレームワークは解決してくれているのでしょうか?
解決してくれているとしたら、どういった設計になっているのでしょうか?
186:nobodyさん
09/01/29 18:26:56
そこまで気にするならセッションIDなんてアクセス毎に変えればいいじゃん
187:nobodyさん
09/01/29 18:31:21
というかセッションIDを取れたからってどうなるというのか
188:nobodyさん
09/01/29 18:42:10
あらためて、明確にしておきます。
私が知りたいのは、フレームワークで
この問題をどう解決しているのか?
または解決していないのか?
ということです。
189:nobodyさん
09/01/29 20:08:05
百聞は一見にしかず、実際に見てみるのが早かろう
190:nobodyさん
09/01/29 20:15:44
所詮PHPプログラマ的なやりとりでワロタw
PHPはアンセキュアな糞フレームワークばかり
secure属性もしらなそうだな。
191:nobodyさん
09/01/29 20:45:27
フレームワークでって言われても何のフレームワークの話なのか
PHPにフレームワーク1つしかないと思ってるんだろうか
192:nobodyさん
09/01/29 20:52:01
セキュアなシステムを組んだ経験が浅い子の戯言です。
気にしないでやってください。
なぜなら、フレームワークに依存するレベルの話じゃない。
フレームワークを使ってどう実装するかという設計の問題です。
193:nobodyさん
09/01/29 21:12:16
Yiiはこんな感じ
URLリンク(www.yiiframework.com)
194:nobodyさん
09/01/29 22:59:54
>>185,188
195:nobodyさん
09/01/29 23:22:59
>>194
俺には結構まっとうかつこのスレにふさわしい質問だと思うんだが。
>>193で端的に答えられているが、それ以外はわざとか限界か知らんが
ことごとくピントはずれでいい感じだなw
で、そのYiiのようなクッキーValidationは他のフレームワークにもあったような。
196:195
09/01/29 23:33:39
って書いたが、これはCookieの改竄はチェックできてもそもそものセッションキーを盗まれた
場合には意味ないね。
考えられるシンプルな対策で、非セキュアなページではセッションを使わない、もしくは
セキュアページと共有しないってのは正味ありえないか
197:nobodyさん
09/01/29 23:48:44
非セキュアなページと、セキュアなページを同一セッションで結ぶのはユーザーの利便性の問題。
セキュアなページに入ってきたら、必ず一度はそのユーザーの有効性を確認するように実装するのが当然。
その上で、承認後はセッションIDを毎ページ切り替えるってのが普通。
非セキュアなゾーンでセッションキーを盗んでも、匿名の個人情報が見れるだけで
実害はほとんどない。
これはフレームワーク層じゃなくて、ビジネスロジック層で実装するもんだよ。
198:nobodyさん
09/01/30 00:47:54
だからアクセス毎にセッションID変えればええやん
199:nobodyさん
09/01/30 00:56:28
YOU全部HTTPSでやっちゃいなよ
200:nobodyさん
09/01/30 02:29:11
俺には結構まっとうかつこのスレにふさわしい質問だと思うんだが。 (キリッ
201:nobodyさん
09/01/30 03:47:52
煽ってるとこすまんが、同意するよ。
PythonやらRubyやらPerlがphpと比べてどうのとか、
ぜんぜん関係なかったし。
202:nobodyさん
09/01/30 08:04:53
>>197
>セキュアなページに入ってきたら、必ず一度はそのユーザーの有効性を確認するように実装するのが当然。
これがわからん。どうやって確認するの?
例えばユーザでログインした後、トップページからお問い合わせフォーム(もしくはその確認画面)に進んだだけで
パスワード入力を求められるようなサイトは現実的かな?
Amazonみたいに、重要な操作の前にいちいちパスワード入力を求めるっていう感じかな。
それとも、セッションに頼らない確認方法があるんだろうか。
流行の一時トークンも、ぶっちゃけクッキーやらPOSTだったら一緒に盗まれるんじゃないの。
203:nobodyさん
09/01/30 08:27:30
だから、個別のサービス思想に絡んだ設計の問題なわけでそ。
アマゾンのように、長いセッションを維持するサイトでは、重要な操作の前に、
必ずパスワードを確認させて、セキュアなセッションは短くしている。
Yahooでもクッキーを数種類使いつつ、クラムというフォーム追跡を埋め込んで、
通常ログイン状態とセキュアログイン状態を識別、追跡している。
だから、パスワードの再確認を求められるケースとそうじゃないケースがある。
そういうギミックを持ってないところは、ショップなどのように金銭が絡むところは
まるっとHTTPSで実装する。
> 流行の一時トークンも、ぶっちゃけクッキーやらPOSTだったら一緒に盗まれるんじゃないの。
それはどういうレイヤーで話をしてるの?
プロトコルの欠陥?ネットワーク盗聴?ブラウザーのバグ?
204:nobodyさん
09/01/30 08:44:58
>>202
盗まれても良いための「ワンタイム」トークンじゃないの?
205:nobodyさん
09/01/30 10:08:00
>>203
クッキーが盗まれる、っていう現象で想定のメインは「ネットワーク盗聴」じゃね?
他にもあるのか俺は知らんが。
例えばXSSで盗まれるのであればSSLなんて関係ないわけだし
>>204
毎回セッションIDを変えるってので兼用できてそうな気がするから、併用して
冗長にしてチェック、かな?
どのみちタイムアウトの設定次第の様な気がする。
206:nobodyさん
09/01/30 10:33:33
>>205
ネットワーク盗聴ならSSL下では問題ないって前提でいいわけだよな。
(SSL下でも解読できるとか行っちまったら元もこもない)
SSL下でsecure属性をつけたクッキーを出すのが普通なんで、
復路の盗聴はないし、ワンタイムトークンを使う限り
タイムアウトはセキュアセッションと同等でいいよな。
あんまりにも普通なこと過ぎて書くのが恥ずかしくなってきたわ。
207:nobodyさん
09/01/30 10:39:58
>>203
> だから、個別のサービス思想に絡んだ設計の問題なわけでそ。
そういう場合に、どっちの方式をとるかは設計の問題だね。
だけどフレームワークの意味をもう一度思い出してほしい。
汎用的で複雑な処理を簡単に実装できることだ。
重要な操作の前に確認したいのなら、
プロパティ一つ程度の簡単なコードですむようにしてくれるものだろう?
YAHOOのパスワードの再確認を求められるケースとそうじゃないケースを
作る為のサポート機能。それこそフレームワークが提供するべきものだろう?
あと、毎回セッションIDを変える方法は、
別ウインドウを出したとき問題になる。
208:nobodyさん
09/01/30 10:43:17
>>197
> 匿名の個人情報が見れるだけで実害はほとんどない。
これは笑う所かいな?w
個人情報=本名・住所等
匿名の本名・住所等が見れるだけで実害はほとんどない。
匿名になってないじゃないか〜い。
209:nobodyさん
09/01/30 10:46:19
>別ウインドウを出したとき問題になる。
AmazonやYahooでいつ別ウインドウが出るってんだ
その手のサイトでログイン後に別ウインドウとかアホ設計だろうに
210:nobodyさん
09/01/30 10:49:28
>>209
別ウインドウってのは人間が出すんだよ。
ネットワークが遅いから、過去の履歴の詳細をいくつも別ウインドウで開くとか
(一つのウインドウの内容を見ている間に、他のページの読み込みが終わっている)
211:nobodyさん
09/01/30 10:51:55
>>208
もしかしてそこが笑うところ?
> 個人情報=本名・住所等
そんな決めつけでよくやってられるな。
たとえば、性別とか好みとかカートの中身とか、クリック動向とか
個人を特定できないが個人に関係する情報も個人情報だろが
212:nobodyさん
09/01/30 10:52:36
>>207
あと、毎回セッションIDを変える方法は、
別ウインドウを出したとき問題になる。
ない。
213:nobodyさん
09/01/30 10:55:22
毎回セッションIDを変える方法は
連続でリロードすると問題になる。
サーバーでは値が変わっているが、
クライアントでは新しい値を受け取っていないなど。
214:nobodyさん
09/01/30 10:55:54
>>207
> だけどフレームワークの意味をもう一度思い出してほしい。
> 汎用的で複雑な処理を簡単に実装できることだ。
セキュアセッションは汎用的でも複雑でもないだろ。
関数一発挟むだけなのに、それをプロパティで設定しろってか。
215:nobodyさん
09/01/30 10:57:40
>>213
あほ?
別ウインドウを出したり、連続リロードで動作しちゃいけないのがセキュアゾーン
216:nobodyさん
09/01/30 10:57:52
セキュアページに入る前に
必ず認証が必要だというが、
Amazonはそうなっていない。
これを実現できるフレームワークは皆無ってことでおk?
217:nobodyさん
09/01/30 11:00:03
>>215
だが、Amazonは別ウインドウを出しても、連続リロードしても問題ない。
これを実現できるフレームワークは皆無ってことでおk?
218:nobodyさん
09/01/30 11:01:38
>>216
アマゾンはそうなってるよ。
すでにセキュアトークンを持ってれば別
フレームワーク乞食乙
219:nobodyさん
09/01/30 11:04:46
>>218
それは、ブラウザ起動して初めてログインした場合だろ。
一度ログインしていれば、非セキュアページから
セキュアページに入るときにパスワードは要求されない。
一度注文履歴を見たあとで、トップに戻れ。
トップから、もう一度注文履歴を見る間にパスワードを聞かれるか?
220:nobodyさん
09/01/30 11:12:49
>>214
> 関数一発挟むだけなのに、それをプロパティで設定しろってか。
関数一発挟むだけじゃないな。
Windowsプログラミングじゃあるまいし。
パスワード入力ダイアログを出して終わりじゃないんだよ。
認証が必要になった場合に、他のページに飛ばさないといけない。
そこから戻らないといけない。
一回目(認証前)と戻ったときの二回目(認証後)で違う処理をしないといけない。
必ずパスワードを出すというわりに、認証後はパスワードを出さないという風に矛盾している。
221:nobodyさん
09/01/30 11:23:06
>>207
> あと、毎回セッションIDを変える方法は、
> 別ウインドウを出したとき問題になる。
ただ単に、どっちかのセッションが使えなくなるだけじゃない?
問題なし
222:nobodyさん
09/01/30 11:24:24
>>219
それで何が不満なの?
なにかセキュリティ上の問題があるなら指摘してください
>>220
よーくわかった。(ry
223:nobodyさん
09/01/30 11:25:39
>>219
> すでにセキュアトークンを持ってれば別
ってちゃんと書いてるだろ。
224:nobodyさん
09/01/30 11:39:10
そもそもAmazonはJavaで独自実装だから
PHPフレームワークスレでこんな機能が全て実現できるフレームワークは
PHPにないよね!って言われた所でなんなんだっていう
ちなみにPerlでもJavaでもASPでもそんなフレームワークはない
その辺は自分で実装する
225:nobodyさん
09/01/30 12:33:45
>>207
>だけどフレームワークの意味をもう一度思い出してほしい。
>
>汎用的で複雑な処理を簡単に実装できることだ。
>重要な操作の前に確認したいのなら、
>プロパティ一つ程度の簡単なコードですむようにしてくれるものだろう?
>
>YAHOOのパスワードの再確認を求められるケースとそうじゃないケースを
>作る為のサポート機能。それこそフレームワークが提供するべきものだろう?
これがフレームワークが提供すべき汎用的な機能かと言うとどうだろうね?
226:225
09/01/30 12:35:02
追記:
「Webアプリケーションフレームワークが」提供すべきかどうか、ね。
227:nobodyさん
09/01/30 12:46:45
重大なセキュリティに絡む部分をオープンなフレームワークで吸収したら
そこにバグがあったらそれ使ってるシステムみんな死亡じゃん
クリティカルな部分は独自に実装するからバグがあってもなんとななるわけで
228:nobodyさん
09/01/30 13:17:58
>>227
んなこといったら、プレースホルダ使いたい、使わせたい為だけにPEAR::DB使ってた人間とか涙目だろ。
実際そういった判断は、凡PGに任せるより遙かにセキュアだったと思うがな
フレームワーク(というか基底ライブラリ)の有用性の一面を完全否定っすか。
229:nobodyさん
09/01/30 13:34:34
>>227
問題はバグがどうたらじゃないよ
設計や計画にはちゃんとした理解が必要だが、コーディングが難しかったり
面倒だったりするわけじゃないからFWに任せる内容じゃないってことだよ。
コーディングの助けっていう意味程度なら、どのFWにもセキュアセッション
を扱う機能や、ワンタイムトークンを自動でハンドリングするフォーム要素とか
一通りのものは揃ってる。
が、ページ遷移設計まで自動化してほしいとは思わないけどな。
PieceFrameworkあたりなら、その辺はすでに実装済みかもしれんけど。
230:nobodyさん
09/01/30 13:36:33
CakePHPは実際AuthComponentで誰でもログインできるってバグ出して死亡したけどなw
ああいうのはFWで吸収しない方がいい
231:nobodyさん
09/01/30 13:38:02
>>229
きちんと実装されるかどうかじゃなくて、フレームワークの場合は
そういうバグがありましたって公開されちゃうから、フレームワーク使ってるのバレると
悪用されるってことじゃないの?
独自実装ならクソみたいな実装でも中はどうなってるかアタックするまで解らんのだし
232:nobodyさん
09/01/30 13:43:38
>>230
言ってみれば各フレームワークも、それぞれの独自実装の固まりだからな
ある程度のライブラリくらい共用して欲しいような気もする今日この頃。
APIも統一されるし。
233:nobodyさん
09/01/30 13:53:53
cookieのsecure属性を理解してないヤツが混じってる予感。
234:nobodyさん
09/01/30 13:57:42
>>230
それは、バグがあるのがわるいだけだろw
235:nobodyさん
09/01/30 14:24:52
ごっつい根本的な質問で恐縮ですが
PHPって複数のセッションを同時に利用することってできるの?
それができるかできないかで、ものすごく話が変わってくるような。
・・・できないんだろうな。$_SESSION だもんな・・・
236:nobodyさん
09/01/30 14:32:51
>>235
微妙にスレチだぞ>くだすれ行けって感じだが・・・
無理やりFWレイヤーの話に持ってくると、Zend_Sessionではセッションの配列で
ネームスペース的な扱いをして、使い分けている。
でも、そういう意味じゃなくて、上の流れで、セキュアセッションと平文セッションを
分割して持てるか?って話をしたいわけだよな?
PHPが受け入れるセッションID自体は一つ。それは正しい。
解は二つ。
クッキーと独自のバックエンドを使って、自前でセッション機構を作る。
セッションを理解してれば、簡単。
ちなみにYahoo!はPHPでこの方式を採用してる。
もう一つは、セッションそのものは永続化しておいて、セッションネームスペース内
に侵入を許す際に、そのネームスペースに対する適切なアクセスかどうかを個別のクッキーで検証する。
ZFで実装してるやつはたぶんこれがFA
237:nobodyさん
09/01/30 14:42:03
>>234
いや
これがCakePHPだから、セキュリティ情報として全世界にこういうバグありますよって公開されちゃうわけよ。
その情報を見てクラッカーが仕掛けてくる可能性が高い。
もし仮に自分で全て実装したものに同じバグがあったとしても、よっぽどしっかりクラックされない限り、誰にも知られることはない。
238:nobodyさん
09/01/30 14:47:27
>>236
> でも、そういう意味じゃなくて、上の流れで、セキュアセッションと平文セッションを
> 分割して持てるか?って話をしたいわけだよな?
ですです。それができれば、盗聴(非SSL)でセッションハイジャックされたとしても
その中には非セキュア用の情報しかないし、セキュア用のセッション(ログイン状態)等と
簡単に切り分けできるなーと。
ただ、他の言語の実装をみても、「セッション」ってもの自体の考え方が、どうやらサーバ-
クライアントで1対1っぽい?
>解は二つ。
もう一つ、セッションはあくまでsecureで利用して、非セキュアな情報はみんなCookieに
放り込めばいいじゃない!ってふと思いついた。
最低4KB×20(50?)個なら、とりあえず普通に使えそうとか。
239:nobodyさん
09/01/30 14:54:52
Cookie切ってる奴多いのに通用するのかそれ
セキュリティソフトのせいで動きませんみたいなサイトになるぞ
240:nobodyさん
09/01/30 15:02:01
Cookie切ってる奴多い?
根拠は?
241:nobodyさん
09/01/30 15:09:40
>>239
もしかしてセッションIDをフォームに手で埋めるのが標準?
まじでか
242:nobodyさん
09/01/30 15:14:39
>>239
Cookie切ったら普通にセッション動かないけど?
243:nobodyさん
09/01/30 15:15:10
みなさ〜ん、そろそろスレチですよっと。
244:nobodyさん
09/01/30 15:18:00
ほかの言語の話になってるよりましだし、いいんじゃないの?
245:nobodyさん
09/01/30 15:32:12
SSLの話題が出ているので便乗質問。
共有SSLに対応しているフレームワークってある?
URLリンク(www.aaa.com)
URLリンク(www.rental-server.com)
こうなっているときに、ドメイン名違うし、パス違うしで
セッション保てないわで、困るんだよね。
246:nobodyさん
09/01/30 15:33:30
クッキー切ってるような変人相手にする必要なし
むしろブラクラに飛ばしてやれ
247:nobodyさん
09/01/30 15:34:14
Cookie切ってセッション動かないとかどんなクソ実装だよ
それじゃ携帯サイト対応できねーじゃん
248:nobodyさん
09/01/30 15:39:41
うーん。セキュリティ周りをちゃんと説明しているサイトが見つからない。
クッキー切っている場合(携帯対応)のセッションで
cookieにsecure属性をつけた場合の動作と同じことを
ちゃんとやっているのか確証を得たいが見つからない。
249:nobodyさん
09/01/30 15:48:16
Cookieが普通で携帯が異常なだけだろ。
250:nobodyさん
09/01/30 15:54:21
DoCoMoの携帯がクッキー非対応で異常だからってことで、
非対応にしてるサイトってあんまないけどな。
結局Cookie使わなくてもセッションは維持できる。
251:nobodyさん
09/01/30 16:09:01
>>247
携帯サイト、なんて、そりゃぁもう。機種ごとにハンドメイドだよ。
これを解決してるオープンソースのフレームワークはない。
PerlならMobaSifがあるけどなぁ。
252:nobodyさん
09/01/30 16:17:17
>>245
>>236,238の流れから言うと、まさにセキュアと非セキュアでセッションが
分離出来てていいじゃないかw
分離されすぎてクッキーすらデータの受け渡しに使えないけどな
どうやってフレームワークに組み込めばいいんだろう
クッキー切ってる人相手にシステム作ってる人なら、もともとドメイン関係ないし
素晴らしいフレームワークを持ってるんでは無かろうか
253:nobodyさん
09/01/30 16:23:31
URLにセッションID差し込んでCookie使わない実装にするのなんて普通だろ
IDはアクセス毎に変える
254:nobodyさん
09/01/30 16:30:00
>>253
これを言い出すと、もうセッションIDのクッキーをsecureにする意味もないな
255:nobodyさん
09/01/30 16:40:23
>>253
PHPの$_SESSION自体そういう仕様になってなかったか?
256:nobodyさん
09/01/30 17:04:49
use_trans_sid
257:nobodyさん
09/01/30 17:05:43
まぁ、URLに差し込むだけじゃ携帯全機種対応は無理だけどな。
258:nobodyさん
09/01/30 18:19:42
っていうか議論に問題だらけの端末の話を持ってくるのは暴論じゃないか?
携帯サイト対応ってそれだけで一仕事だよ。
259:nobodyさん
09/01/31 01:06:04
SSL対応議論、参考になります!(キリッ)
この手の話は、頭がこんがらがって十分に理解できていないです。
もっと勉強しなくちゃ、買い物サイトは作れないな〜><
260:nobodyさん
09/01/31 02:01:11
誰も十分に理解できていないから、
はっきりとした答えが出せないんだろうな。
261:nobodyさん
09/01/31 02:27:29
土日を利用して勉強してみましょう
継続を使ったWEBアプリ
URLリンク(www.thinkit.co.jp)
Kahuaは継続ベースのアプリケーションサーバ/フレームワーク
URLリンク(www.kahua.org)
セッションも良いけど継続もね☆
262:nobodyさん
09/01/31 04:23:52
クッキーはサイズの制限があるから結局セッションを使うとして、
そのセッションをどうやって実現しているかだ。
セッションIDの格納にクッキーを使う場合。
非セキュアサイトでのセッションIDは盗聴されるから
非セキュアサイトでのセッションIDと、セキュアサイトのセッションIDは別に持たないといけない。
(セキュアサイトのセッションIDはセキュアサイトでしか送信されない。)
問題は、セキュアサイトでセッションに格納した情報が、非セキュアサイトとセキュアサイトの
セッションIDのどちらに関連付けられているかということ。
もし、非セキュアサイトでのセッションIDに関連付けられていたら、そのセッションIDを
盗聴して使えば、他人がセッションの情報を取得することが可能になる。
そもそも、セキュア、非セキュア、二つのセッションIDを持つことがPHP or フレームワークで可能なのか?という問題もある。
263:nobodyさん
09/01/31 07:40:31
>>262
おまいさんの理解が浅いということだけはわかった。
何も書かないと単なる煽りと思われるので一つだけ例示すると、
> もし、非セキュアサイトでのセッションIDに関連付けられていたら、そのセッションIDを
> 盗聴して使えば、他人がセッションの情報を取得することが可能になる。
それは実装が甘いだけ。
非セキュアサイトに関連付けられたセッションIDを使いまわしたとしても、
たとえば、
「セキュアな情報を表示するためのトークンを持っていなければ表示しない」
という基本的なロジックでラップしてあればセキュアな情報を見ることはできない。
情報のキーになるのはセッションIDだけじゃない。普通にクッキー使うだろ。
264:nobodyさん
09/01/31 11:43:58
>セキュアな情報を表示するためのトークン
それって一般にはセッションIDって呼ぶと思うの。
265:nobodyさん
09/01/31 11:53:41
いいえ
266:nobodyさん
09/01/31 12:16:29
おせっかいなオレが例を出したるわ。
・SSL下でログインに成功したら、トークン($uniq)を育成
・非セキュアなセッションでもいよいので$_SESSION['tokens'][] = sha1($uniq);
・$uniqをsecure属性をつけて、setcookie
・セキュアサイト内では、sha1($_COOKIE['uniq'])がセッションtokensに含まれるか検証。だめなら再認証に飛ばす
すくなくとも$uniqをセッションIDとは言わない。
267:nobodyさん
09/01/31 12:29:26
>>266
で、これが有効な手段として、ここまでをライブラリ化して標準装備した
フレームワークは無いのか?無いとしたらどんな問題があるのってところで
やっと>>185,188の質問に戻るわけだし、このスレでの話題になるわけだな。
まあそれに関する議論?もちょろちょろあるが。
おれとしては、添付ライブラリとしてはあってもいいと思うな。くだらんヘルパーを
ごちょごちょつけてるんだから、ついでに。
268:nobodyさん
09/01/31 12:48:08
なんで、1行で済む処理をライブラリかしたがるのか、いまだに疑問
269:nobodyさん
09/01/31 12:55:21
そんなに欲しかったら開発リクエストすればいいんじゃない?
投票が集まればサクッと作るでしょ。
270:nobodyさん
09/01/31 13:09:29
>>268
>>266の処理を一行で書かれたら絶対に読みたくない。
271:nobodyさん
09/01/31 13:31:24
>>268が冗長なだけ
272:nobodyさん
09/01/31 13:32:03
>>268じゃなくて、>>266
273:nobodyさん
09/01/31 15:14:35
>>262-272
マジで参考になります^^(もっとやれ的な意味で)
274:nobodyさん
09/01/31 15:30:40
フレームワークを勘違いしたひとが沸いて荒らしてくれたおかげでスレの進みが半端ネェ!
たまにこういうことがあるから面白い
275:nobodyさん
09/01/31 15:51:36
>>274
フレームワークの話題も振れずかといって実装についての話もできないのに
レスするのって寂しくならないか?
276:nobodyさん
09/01/31 15:51:43
>>266
そこら辺の処理をちゃんと説明している本って無い?
277:nobodyさん
09/01/31 15:55:18
>>268
> なんで、1行で済む処理をライブラリかしたがるのか、いまだに疑問
それは、君が説明した事からも分かるように、実装の説明をする余地があるからだよ。
そしてこれは汎用的に使える処理であり、ビジネスロジックではない。
ビジネスロジックに集中できるようにしてくれるのがフレームワークのよいところ。
278:nobodyさん
09/01/31 16:03:23
汎用的ではない。
インフラの扱いやサイトのセキュリティポリシーや集金ロジックに密接に関係する。
279:nobodyさん
09/01/31 16:04:02
>>277
それはフレームワークのよいところを語りたかったわけ?
280:nobodyさん
09/01/31 16:10:55
>>277
それが汎用的な処理だっていうんなら、汎用的なクラスを書いてここに貼ってくれ
みんな喜ぶ。
281:nobodyさん
09/01/31 16:45:58
>>280
ヒントやるから実装は自分でやれな。
SSL_Login_Class
セキュアにするべきページの一覧や正規表現を設定配列に入れておく。
全てのコントローラのアクション実行前に、セキュアにするべきか一覧に入っているか調べる。
セキュアページにhttpでアクセスしていたら、httpsにリダイレクト
セキュアトークンを持っていなければ、ログインページにリダイレクト
ログインが許可されればセキュアトークンをセット(secure属性を負荷したクッキーを発行)し元のページに戻す。
ログインページはデフォで用意するがカスタマイズ可能。要するにscaffold(土台)
セキュアトークンのサーバー側のデータは、セッションでも独自のファイルやデータベースにも格納可能。
ハッシュはsha1でもそれ以外でも選択可能。
以上のことをやってくれるクラス。
使い方は簡単。CakePHP風に言えば共通のコントローラAppControllerの
componentsに上記のクラスを入れるだけ。これとセキュアページのリストさえあれば
具体的な実装を書かなくてすむ。
282:nobodyさん
09/01/31 16:52:07
それのどこが汎用的なんだよ。個別実装べったりじゃん。
日本語の蘊蓄はいらないから、汎用的にするためのインターフェースでも示してくれ。
283:nobodyさん
09/01/31 17:04:17
>>282
お前にとって汎用的とはどういうことを指す言葉なんだ?
例を出して説明したまえ。
284:nobodyさん
09/01/31 17:13:02
セキュアにするためのロジックだよ。
>>266に書いてあるのは、セキュアなサイトを作る時のHelloWorld
実サイトでは、Yahooにしろamazonでも楽天でも>>266とは別のロジック。
そういうロジックを設定でインジェクションできないなら汎用的とは言わない。
285:nobodyさん
09/01/31 17:15:21
>>284
>>281のはロジックの一つだよ。
別のロジックを使いたければ、別のロジックを実装したクラスを
AppControllerのcomponentsに設定すればいいだけ。
これで汎用的になりましたね(笑)
286:nobodyさん
09/01/31 17:18:05
あほか、だったら、FWが持ってる認証クラスで十分やんけ
287:nobodyさん
09/01/31 17:20:51
んだ。
288:nobodyさん
09/01/31 17:22:06
>>286
本当に十分なのか? FWが持っている認証クラスが
このようなロジックになっているのか?
>>266のロジックなのか? それともYahoo、Amazon、楽天のロジックのなのか?
それが、そもそもの>>185,188の質問だろうが。
> フレームワークのSSL対応ってどうなっているのでしょうか?
それで答えは?
289:nobodyさん
09/01/31 17:24:30
>>288
結局、>>281に書いたクラスで、何かサービスを実装しようと思ったら、その
ロジックを実装したクラスを設定するわけだろ。
それなら、FWが持ってる認証クラスのアサーションにそのロジックを指定するだけ。
>> フレームワークのSSL対応ってどうなっているのでしょうか?
> それで答えは?
対応する必要なし。
290:nobodyさん
09/01/31 17:26:44
>>289
> それなら、FWが持ってる認証クラスのアサーションにそのロジックを指定するだけ。
そのロジックをお前は毎回作るのか?
そのロジックは使いまわし出来るだろ?
それを汎用的という。
291:nobodyさん
09/01/31 17:27:35
>>285
> >>281のはロジックの一つだよ。
うは、コンクリートじゃんおもいっきり
292:nobodyさん
09/01/31 17:28:05
> 結局、>>281に書いたクラスで、何かサービスを実装しようと思ったら、その
考え方がおかしいね。 >>281のクラスを使ってサービスを実装するんじゃない。
なにかのサービスを実装したとき、>>281のクラスを利用する。
考え方が逆だよ。
293:nobodyさん
09/01/31 17:28:45
>>291
コンクリートだねぇ。だからなに?
294:nobodyさん
09/01/31 17:29:28
>>290
元はといえば、お前さんの書いたクラスのサンプルが汎用的じゃないわけだろ。
ロジックはサイトの管理ポリシーによって違うでしょ。
それをカバーできるようは汎用的な設計を示してから言ってくれ。
295:nobodyさん
09/01/31 17:30:02
>>293
汎用的じゃないって、告白ありがとう
296:nobodyさん
09/01/31 17:31:17
>>292
>>281のクラスじゃ実装できないサービスがてんこ盛りなんですが
297:nobodyさん
09/01/31 17:32:13
>>294
お前はロジックという言葉の使い方がおかしい。
管理ポリシーは違っても、それを実装するロジック(数パターンある)は同じ。
ロジックと管理ポリシーは違うもの。
298:nobodyさん
09/01/31 17:35:29
>>297
まぁ、そういうことだろうな。
数パターンしか思いつかないレベルならいいや。おまえさんすごいよ。
299:nobodyさん
09/01/31 17:38:04
>>295
あのなぁ。お前、コンクリートと汎用的とは別の考え方だよ。
GUIの例で言えば分かるだろ。
テキストボックスはコンクリートクラスであるが、
汎用的に使われるパーツだ。
抽象クラスと汎用的つ使えるクラスをごっちゃにするなよ。
300:nobodyさん
09/01/31 17:40:29
>>299
君の汎用的ってのは、1つのロジックを複数のサイトで使えるってことね。了解
301:nobodyさん
09/01/31 17:42:09
ちょっと、みなさん、クールダウンしません?発散しすぎ
302:nobodyさん
09/01/31 17:42:45
>>300
いや常識(笑)
汎用的なパーツは、一つのパーツを複数のサイトで使える物。
それ以外の意味なんて無いだろw
まさか今まで抽象クラスの話をしていたのか。驚きだw
303:nobodyさん
09/01/31 17:48:13
やっぱおかしいと思ったんだよ。なんかずれてるって。
この質問をしたのは正しかった。 ↓
> 282 :nobodyさん:2009/01/31(土) 16:52:07 ID:???
> それのどこが汎用的なんだよ。個別実装べったりじゃん。
> 日本語の蘊蓄はいらないから、汎用的にするためのインターフェースでも示してくれ。
>
> 283 :nobodyさん:2009/01/31(土) 17:04:17 ID:???
> >>282
> お前にとって汎用的とはどういうことを指す言葉なんだ?
>
> 例を出して説明したまえ。
この質問の時点で抽象クラスのことって言ってくれれば話は早かったんだが。
ちゃんと質問に答えてくれていれば
この時点で、君の汎用的ってのは抽象クラスのことね(笑)で終わっていた。
304:nobodyさん
09/01/31 17:53:26
クールダウンして>>185,188の質問に戻ろうか?w
> フレームワークのSSL対応ってどうなっているのでしょうか?
305:nobodyさん
09/01/31 17:53:36
>>302
>>303 熱いねぇ
>>280は汎用的なクラスと書いてるなぁ。
>>281は個別実装でも別サイトで利用できたら汎用的なんだってさ。
汎用的なクラスといったら、抽象クラスに限定するわけじゃないが、
少なくともコンクリートのことじゃないと思うが、まぁ個人的な見解だからいいや。
それにしても、>>302は汎用的な"パーツ"って言い換えて苦しそうだねぇ。
> SSLページと非SSLページでセッションIDを共通にしたらセッションハイジャックされますよね。
> こういう部分をフレームワークは解決してくれているのでしょうか?
> 解決してくれているとしたら、どういった設計になっているのでしょうか?
さすが、こういうレベルの人の頭の中は面白い。
306:nobodyさん
09/01/31 17:55:15
>>303
>>284でFAだが?
307:nobodyさん
09/01/31 17:55:39
> 汎用的なクラスといったら、抽象クラスに限定するわけじゃないが、
> 少なくともコンクリートのことじゃないと思うが
それは無いw
308:nobodyさん
09/01/31 17:57:54
>>305
> それにしても、>>302は汎用的な"パーツ"って言い換えて苦しそうだねぇ。
別に、分かりやすく言い換えただけで
汎用的なクラスという言い方でもいいが?
309:nobodyさん
09/01/31 17:59:46
以 下 、「 汎 用 的 」 禁 止。
こんないい加減な言葉で喧嘩するなw みっともない。
310:nobodyさん
09/01/31 18:02:05
クールダウンして>>185,188の質問に戻ろうか?w
> フレームワークのSSL対応ってどうなっているのでしょうか?
311:nobodyさん
09/01/31 18:06:32
>>302
> いや常識(笑)
> 汎用的なクラスは、一つのクラスを複数のサイトで使える物。
> それ以外の意味なんて無いだろw
先生!複数のサイトで使えないクラスの方がめずらしいと思うんですが?
312:nobodyさん
09/01/31 18:07:49
> 先生!複数のサイトで使えないクラスの方がめずらしいと思うんですが?
複数のサイトで使えないクラス。
それがビジネスロジックを記述したクラス
313:nobodyさん
09/01/31 18:39:23
じゃ、>>281のロジックはどこのサイトでも使いようがないので、
>>302の定義でも汎用的ではないってことで落ち着きそうですね
314:nobodyさん
09/01/31 19:12:22
基幹業務系の処理なんて再利用できるほうが珍しいw
315:nobodyさん
09/01/31 20:17:12
>>313
そうか?
手法に致命的な欠陥がない限り多分そのまま普通に使えるし、使ったなりのシステムになると思うんだが。
ただ単に、>>313(とか>>282?)がそのやり方を使いたくないだけではないかとちょっと思った。
316:nobodyさん
09/01/31 20:31:55
え、欠陥見えない?
317:nobodyさん
09/01/31 20:46:34
>>316
リダイレクトがちょっと引っかかるがそこは適当な処理に読み替えるとして、
致命的な欠陥があるなら指摘してみたらいいじゃない。正直煽りうざい
318:nobodyさん
09/01/31 21:02:59
致命的とは思わん、が、ショップじゃ使えないな。売り上げが落ちる。
煽り?どこが。
319:nobodyさん
09/01/31 21:03:44
だから、使えないというのなら、その理由を指摘してみたらいいじゃない。
320:nobodyさん
09/01/31 21:05:32
売上が落ちるから、でわからんの?
321:nobodyさん
09/01/31 21:06:31
2段階ログインはありがちな処理だし、使いまわせないとは思わないな。
まあ、好みの問題はあるだろうが。
俺なら設定依存じゃなくてコントローラから明示的に呼び出す方式にするかな。
フレームワークにもよるだろうし、どっちの方法も一長一短だけど。
322:nobodyさん
09/01/31 21:06:54
分かるわけ無いだろw
どういう理由で売り上げが落ちるんだよw
323:nobodyさん
09/01/31 21:07:36
>>318
最初からそう書けば誰も煽りとは思わんよ
ああ、なんか違う話をしてる人がいるなーって思うだけでw
324:nobodyさん
09/01/31 21:08:19
インフラと絡むが、セッション固定攻撃は可能だし
325:nobodyさん
09/01/31 21:08:37
>>323
自演?
326:nobodyさん
09/01/31 21:10:24
2段階もなにも、ログインを強要してる段階で売上減だな
327:nobodyさん
09/01/31 21:10:39
>>324
じゃあ改良してセッション固定攻撃を防ぐようなコードにすれば
問題ないって話?
328:nobodyさん
09/01/31 21:12:42
>>326
えっ? それだけの話?
それならログインを強要するかしないかの
オプションをつければ解決する話じゃない。
329:nobodyさん
09/01/31 21:13:06
>>327
自分のサイトは防ぐようにしてますが何か?
今は、>>281のクラス?の問題だろ
330:nobodyさん
09/01/31 21:13:38
>>328
ログインを強要しないで、>>281はセキュアにできるのかね?
331:nobodyさん
09/01/31 21:15:55
ログインしなくてもセキュアに処理できなきゃ、この手のスクリプトは無意味だよな。
332:nobodyさん
09/01/31 21:18:24
上のほうでは、一行でできるからフレームワークに入れるほどでもないと
いっているやつがいるかと思えば、話がすすんでみれば
結局、いろんなことを考えないといけないってことになってしまったな。
だからフレームワークに入れておいて簡単に使えるようにするべきだというのに。
333:nobodyさん
09/01/31 21:24:59
ワラタ。
「汎用的なカレー調理器具を考案しました」って言ってる奴に
「それじゃボルシチには使えないから汎用的じゃねえよ」
「うちは蕎麦屋だから関係ねえよ」って言ってるようなもんだな。
334:nobodyさん
09/01/31 21:25:37
>>281 がまあミスリーディングというか
> 全てのコントローラのアクション実行前に、セキュアにするべきか一覧に入っているか調べる。
> セキュアページにhttpでアクセスしていたら、httpsにリダイレクト
ここと、
> セキュアトークンを持っていなければ、ログインページにリダイレクト
> ログインが許可されればセキュアトークンをセット(secure属性を負荷したクッキーを発行)し元のページに戻す。
> ログインページはデフォで用意するがカスタマイズ可能。要するにscaffold(土台)
これは別の処理
で、どちらも実は元の流れの、セキュアセッションと非セキュアセッションの持ち方について、
直接は関係ないじゃないかw
どう発展させるつもりだったんだろうと気にはなるが
335:nobodyさん
09/01/31 21:28:00
>>330
ようは、ゲスト会員の話をしているんだろ?
あんなの新規会員をその場で作成するのと同じことだよ。
336:nobodyさん
09/01/31 21:31:24
>>333
挙句の果てに、
「それカレー調理器具じゃねーか。そんなの汎用的とはいえない。
いろんな調理器具をはめ込める規格を作れ。」
といっているやつまでいるから手に負えないw
337:nobodyさん
09/01/31 21:33:17
汎用的な調理器具は鍋だろ
338:nobodyさん
09/01/31 21:34:26
中華鍋だな
339:nobodyさん
09/01/31 21:36:42
>>335
すばらしく重いサイトができそうですね
340:nobodyさん
09/01/31 21:37:11
>>337-338
コンクリートクラスはだめだって誰かが言ってたw
341:nobodyさん
09/01/31 21:38:09
>>339
それの解決策を君は思いつけたかな?
342:nobodyさん
09/01/31 21:38:55
それはコンクリート批判の方が当りだと思うぞ
343:nobodyさん
09/01/31 21:39:20
>>341
普通に実装してますが何か?
344:nobodyさん
09/01/31 21:40:03
じゃあ問題ないじゃんw
345:nobodyさん
09/01/31 21:40:36
おれにとっちゃ問題ない。
しかし、>>281は使えないよって話
346:nobodyさん
09/01/31 21:41:25
じゃあ使えるようになおせばいいだけの話。
文句はいらない。改善したコードを示せ。
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5374日前に更新/131 KB
担当:undef