SNS作ってみよう
■ このスレッドは過去ログ倉庫に格納されています
0001へっぽこ君
2006/09/05(火) 23:37:06ID:dR0NUQuBそんなわけでテストよろすくお願いします。
http://tiraura.sytes.net/
0446nobodyさん
2006/10/10(火) 07:45:05ID:???0447nobodyさん
2006/10/10(火) 09:32:09ID:???Perl、PHP、Ruby、Pythonでどうやって、サーバ増設して動かせるスケーラビリティーを実現するのか説明してほしい。
利用者増えて、サーバ増設して動かせるスケーラビリティーが要求される時点で十分に大規模なシステムだと思うが。
0449nobodyさん
2006/10/10(火) 13:41:42ID:???オープンソースも工夫次第
ttp://d.hatena.ne.jp/yoosaki/20060707/1152237361
ttp://goodsite.cocolog-nifty.com/uessay/2005/09/mixi_5854.html
ttp://blog.livedoor.jp/nipotan/archives/50538571.html
金があるなら、Oracle、専用のミドルウェアを買ったらいいね
0450nobodyさん
2006/10/10(火) 13:46:02ID:???人集めるの大変
運用コストが回収できないならサーバ増設しない
0451nobodyさん
2006/10/10(火) 16:42:29ID:???レプリケーションで負荷分散すればいいんじゃ?
0453nobodyさん
2006/10/10(火) 21:46:51ID:???フレンドリストやコミュニティリストはユーザの基本情報とは別テーブルにしたほうがわかりやすいかな?
俺が考えてるのは、フレンドリストテーブルを作って、そこに、IDを2つ(自分のと友達の)をどんどん追加していく、
というものなんですが、みなさんどうしてます?
0455nobodyさん
2006/10/10(火) 23:42:02ID:???良いのができた(もちろん検証済みのを)ら晒してくれ。
実装的には将来テーブル変えることも想定して組んだ方がいい。もう一度作り直す覚悟なら何も考えなくても良いけど。
ミクシの記事とか見てると、機能ごとに鯖分けして負荷分散してるみたいだから、機能ごとに別テーブルにしておいた方が良いのかもな。
0457nobodyさん
2006/10/11(水) 01:02:53ID:???それでいいと思うけど、疑問に感じるんなら、正規化の勉強をした方が良いと思うよ。そんなに時間かからないから。
0458nobodyさん
2006/10/11(水) 01:10:37ID:???強いて言えば、例えば会員番号が
35 → 77
77 → 35
という具合に、実質的に同じつながりを示すデータが重複しないように工夫する余地はあるかも。
0459nobodyさん
2006/10/11(水) 02:24:31ID:???いや、あえて重複させといたほうが、
あとでいろんな場面で便利に使いやすいと俺は思う。
(クエリでWHERE条件を単純に指定しやすくなる等)
0460nobodyさん
2006/10/11(水) 13:39:49ID:???俺の考えだと足跡機能にもテーブルが必要になりそう・・・。
0462nobodyさん
2006/10/11(水) 19:38:18ID:???いい商売してるね。
0463nobodyさん
2006/10/11(水) 20:54:56ID:???0464nobodyさん
2006/10/11(水) 22:13:41ID:KMxRqEheあれはなんで起こったんだっけ?
ソースが見られてしまう可能性があるなら、データベースのパスワードとかどこに書いとけばいいんだ
0465nobodyさん
2006/10/11(水) 22:18:02ID:???オススメのO/Rマッパありますか?
PHPならpropelとか?
DB処理部分は、ADOdbとか使っても良いかと思います。
勉強のためにDBラッパを自作してみますか?
0467nobodyさん
2006/10/11(水) 22:43:52ID:???どういう原理でそうなったんだろう
Apacheの設定ミス?
0468nobodyさん
2006/10/11(水) 22:48:48ID:???0469nobodyさん
2006/10/12(木) 00:56:08ID:???0470nobodyさん
2006/10/12(木) 01:21:02ID:???0471nobodyさん
2006/10/12(木) 01:31:24ID:???学者とか理論重視なら綺麗さにこだわるだろうけど。実運用経験者なら、システム全体の負荷が重要だと思うが。
0473nobodyさん
2006/10/12(木) 05:04:50ID:???DBへの接続パスなど重要情報を書いたファイルはドキュメントルートより上に置いてrequire。
こうすれば仮にApacheの設定ミスでソースが見えちゃっても無問題。
>>466
不可逆な暗号じゃ接続できないだろうよ。
0474nobodyさん
2006/10/12(木) 07:12:56ID:???鯖管理者募集してたから新人が設定ミスったのだろうな。ろくに動作確認もせずに鯖公開するアフォは危険(w
0475nobodyさん
2006/10/12(木) 08:19:04ID:???>いっそ、ほとんどのソ−スをリクアイアで読み込むような記述
つまり、直接叩いたURL(例:hoge.php)には、require("hoge_hontai.php");と1行だけしか記述しないってことだよね?
俺も自作のWebシステムをそのように変更しようかと悩んでるところなんだけど、
それによってレスポンスとか性能に問題が出ないかと思案中。
まあ、大した影響は無いだろうとは思うんだけど、ユーザ数や同時アクセス数などが増えた場合にどうなるかが未知数。
0476nobodyさん
2006/10/12(木) 08:30:04ID:???0478nobodyさん
2006/10/12(木) 09:28:34ID:???そうかな・・・そうだといいけど
誰かテストしてみてくれないかな。。。
(自分でやりたいけど、abの使い方すらよく分かってない orz)
0479nobodyさん
2006/10/12(木) 13:03:07ID:Rh+mM1tm0481nobodyさん
2006/10/12(木) 15:09:17ID:Rh+mM1tmユーザー専用のページをまたぐときもっていないとならないんですが・・・・・
0482nobodyさん
2006/10/12(木) 16:16:25ID:???0485nobodyさん
2006/10/12(木) 18:11:38ID:???(このレスだけを読んで、入門者の方が誤解しないように、念のためフォロー)
クッキーは、クライアント側のPCに保存されている
セッションは、サーバ側のPCに保存されている
=それぞれデータを保持している場所が異なります。
クッキーにしろ、セッションにしろ、必要なければパスワードを保存して持ち歩くんじゃなくて、
パスワードの代わりにログインフラグの値を持ち歩いて、ページ毎の処理をすればいいんじゃない?と。
0486nobodyさん
2006/10/12(木) 18:43:28ID:???お前の説明だと、ド素人が余計に誤解する恐れあり。
特に、クッキーにログインフラグを持たせちゃダメだろwww
いくらでも改ざん出来るんだから。
0487nobodyさん
2006/10/12(木) 18:52:39ID:???0488nobodyさん
2006/10/12(木) 22:35:57ID:QUaWl9r8いや、設定によってはクッキーで保存するようにできるよ。
俺はそうしてる。
>>486
改竄はされねーだろ。
0490nobodyさん
2006/10/13(金) 00:28:16ID:???javascript:void%28%28function%20%28%29%20%7B%0Adocument.cookie%3Dprompt%28%22Set-Cookie%3A%22%2C%20%22%22%29%3B%0A%7D%29%28%29%29%3B
0491nobodyさん
2006/10/13(金) 00:46:06ID:nZS7xPDu0492nobodyさん
2006/10/13(金) 00:49:46ID:???バカかお前は。
XSSなんか使わなくても、クッキーにログインフラグを格納してたら
いくらでも自由にログインできちゃうっつーの(PC所有者自身が、な)。
それについて「自分のPCのクッキーだから問題ない」というのなら、お前はセキュリティ・センスがゼロだ。
0493nobodyさん
2006/10/13(金) 00:52:27ID:nZS7xPDu0494nobodyさん
2006/10/13(金) 01:01:11ID:???0495nobodyさん
2006/10/13(金) 01:04:24ID:nZS7xPDu0496nobodyさん
2006/10/13(金) 02:35:53ID:???0497nobodyさん
2006/10/13(金) 09:51:27ID:???0498nobodyさん
2006/10/13(金) 10:02:11ID:???特にログインフラグをクッキーに持たせるなんて愚の骨頂でしかない。
0499nobodyさん
2006/10/13(金) 11:23:01ID:EL3EStb/何がだめか俺もわからん。
498がどうしてるのか教えてくれ
0500nobodyさん
2006/10/13(金) 11:41:45ID:???簡単に言えばセッションとクッキーの混同だな。
セッションでもクッキーを使うけど、どのように使っているかを理解していない。
セッションではセッションIDをクッキーに含めるだけで、その他のデータ(たとえばフラグなど)は
絶対に格納しない。格納したらセッションの意味がない。
0502nobodyさん
2006/10/13(金) 12:48:25ID:???(2) クッキーやセッションを使う場合のセキュリティ対策方法を理解する
>>485は(1)の話
(2)は
http://www.asahi-net.or.jp/~wv7y-kmr/memo/php_security.html
http://www.amazon.co.jp/gp/product/4883374718
あたりを参考にして、セキュアな利用に心がけてください。
0503nobodyさん
2006/10/13(金) 12:53:35ID:???携帯サイトはクッキー使えない
クッキーなしで動作するサイトを作ろう!
そうすればPCサイトでも、クッキーなしで動作するものが作れるはず。
0505nobodyさん
2006/10/13(金) 13:14:50ID:???http://pc8.2ch.net/test/read.cgi/php/1064399467/l50
【PHP】セッションについて語ろう!【PHP】
0506nobodyさん
2006/10/13(金) 13:24:28ID:???携帯サイトで、個体識別番号(サブスクライバID)が取得できない時はどうやってユーザーの識別をしてますか?
セッションIDをURLに付加してページ遷移させる!?
http://bbs.sekkaku.net/faq/220.html
http://tachibana.blog.ocn.ne.jp/blog/2006/05/ez_7a39.html
0508nobodyさん
2006/10/13(金) 18:01:02ID:???0509nobodyさん
2006/10/13(金) 18:15:15ID:???0510500
2006/10/13(金) 19:22:53ID:???だからお前はバカで基地害でクズなんだよ。
セッションの仕組みをよく理解しろと言っただろうが。
きちんと調べて勉強したのか?
仕組みを理解したのなら、各種フラグはクッキーじゃなくてセッション変数に
持たせるのだという「当たり前の方法」が分かるはずだが。
0511へっぽこ君 ◆vPBS8pifwk
2006/10/13(金) 19:40:34ID:???日々勉強じゃぁ
0512nobodyさん
2006/10/13(金) 21:32:43ID:???0513nobodyさん
2006/10/13(金) 22:07:49ID:???0514nobodyさん
2006/10/13(金) 22:34:41ID:???0515nobodyさん
2006/10/14(土) 02:50:54ID:???>ドメインが違うことによりクッキーが共有できないことによるセッションIDの
受
>け渡しが簡単にできない問題を解決して初めて「共有SSL対応」と言える。
SSL対応ページとSSL非対応ページを使い分けられる作りにしておきたいですね。
0516sage
2006/10/14(土) 02:51:28ID:S3lbqA/j基本的にクッキーに入れて良いのは盗まれたり改ざんさ
れたりしてもいい値だけと考えたほうが間違いがないよ。
ページ間で結果を繋ぐなら、クッキーに入れるのは乱数化
した文字列(セッション番号)だけにしておくといい。
session_id=lkjdajenn322115
みたいな感じ。で、プログラムの一番最初にそれをキーに
して他のデータを読む。要は500氏の言う通りなんだけどね。
500氏が怒ってる理由はクッキーの改ざん問題かな?
login=1ならログインしてる、login=0ならしてない、とい
うようなフラグをクッキーに入れる仕様だと、改ざんにめちゃ
めちゃ弱くなる。なんせ1に改ざんするだけで認証を不正にパスされて
しまう。
同じ理由で、重要なデータ、たとえばユーザーIDがクッキーに入って
たりするのもかなりヤバイ。IDが2の奴が、ID=1 というように値を改
ざんしたらID1の名前と権限で操作ができてしまう。
セキュリティはめんどいけどやるしかない、がんがれ511。
0517nobodyさん
2006/10/14(土) 02:56:12ID:???0518nobodyさん
2006/10/14(土) 04:05:39ID:???0519nobodyさん
2006/10/14(土) 04:11:55ID:???スーパーハカーがサーバーに保存されてるセッションIDをクッキーに仕込んだらちょっとやばいかも
まあそんなことできるってことは既にサーバーがハッキングされてるんだろうから考える意味ないか
0520nobodyさん
2006/10/14(土) 06:56:22ID:???セッションFixationを防ぐ手段はいくつかある。
0521へっぽこ君 ◆vPBS8pifwk
2006/10/14(土) 09:42:45ID:???ID:unko Pass:unkounko Login_flg:0 or 1
画面更新毎に
いずれか1つでも違えばエラーで弾いくというユーザー認証をしています。
これをcookieを使わず処理するにはどうすればいいんだろう・・・
セッションなんかサパーリだぁ
ログイン時にセッションというものを発行してサーバーに保存→画面更新毎に認証チェック??
そもそもセッションってなんだろう。何を元に生成しているんだろう。IP?OS?
んで、そのセッション番号とIDがリンクしているわけですか。
いまいちわかんない。
cookieにセッションIDを入れ込むやり方と直接ID・PASSを入れるのと、どう違うのか
セッションを使わないとcookieファイルを見ればIDとPASSが分かるから?
家族や友達などPC共有している人にバレテしまうという意味でのセキュリティのなさを言われてるんですかね?
でもそのセッションIDの書かれたcookieをコピーしてしまえば他人のアカウントでアクセスできそうな気も。
いや、上の方でcookie使わないみたいな事書いてたから、使わず済むのか。
う〜んう〜〜ん。
なんか的外れな事言ってそう。。わけわかんなくなってきた。
この週末使って勉強してみます。。
0522nobodyさん
2006/10/14(土) 09:55:14ID:???>idとパスとログインフラグをcookieにしこんでます
・・・。
http://www.soi.wide.ad.jp/class/20030011/slides/10/
0523nobodyさん
2006/10/14(土) 09:58:25ID:???お気に入りに保存でURLみても変数もってないし。
携帯だからクッキーじゃないし。
何だろ?
0524へっぽこ君 ◆vPBS8pifwk
2006/10/14(土) 09:59:08ID:???・・・。
やべーよそりゃ!っていうのは伝わりました。
どこがやばいのかは、いまいち分かりませんがorz
参考サイト見てみます。ありがとうございます。
0525nobodyさん
2006/10/14(土) 10:12:45ID:???10万セッションぐらい総当たりすれば1セッションぐらい取れると思う。
Pen4なら10万試しても10分もかからないよ。
0526nobodyさん
2006/10/14(土) 10:40:28ID:???それはそれとして、セッションIDのブルートフォース・アタックを
防御する仕組みを考えないといけないな。
ApacheもしくはPHPで標準装備してくれないかなぁ。
0527nobodyさん
2006/10/14(土) 12:08:24ID:???俺も色々ググって勉強してみた。
1.セッションIDっていうのを発行して、それをユーザのクッキーに入れる。
セッションIDは他と重複しないランダムな値。既存の暗号作成ライブラリーを使うのが吉。
2.ユーザの細々とした情報は、自分のサーバに保存しておく。
例えば、セッションIDを名前としたテンポラリーファイルを作って、その中にユーザ情報を保存
3.ユーザが最アクセスした時、クッキーからセッションIDを取り出し、そのセッションIDのファイル
があれば、認証済みとする。また、買い物情報等はこのテンポラリーファイルに保存する。
誰か指摘してくれると嬉しい。
0528nobodyさん
2006/10/14(土) 14:13:00ID:???0529nobodyさん
2006/10/14(土) 14:19:48ID:???0530nobodyさん
2006/10/14(土) 14:34:21ID:???0531nobodyさん
2006/10/14(土) 14:54:56ID:???0532nobodyさん
2006/10/14(土) 17:23:29ID:???0533nobodyさん
2006/10/14(土) 17:34:36ID:???30文字だとすると52^30
一度にログインしてるユーザーなんて多くて10万程度だろう
100000/(52^32)
がんばって総当たりしてね^^
0534nobodyさん
2006/10/14(土) 17:39:29ID:???3.31054649 * 10^(-47)
>>525
重要なのはレスポンスが返ってくるまでの時間な
0535nobodyさん
2006/10/14(土) 17:57:30ID:???0536nobodyさん
2006/10/14(土) 21:12:08ID:???セッションIDってクッキーに保存されてるPHPSESSIDのことだよな?
ログインフラグにせよこれにせよ、どっちにしろクッキーに保存されるんだから同じじゃないの?
0537nobodyさん
2006/10/14(土) 22:16:55ID:???で、そんな大量にリクエスト送ってくるぁゃιぃ人は弾いちゃえばおkっと
>>536
保存される内容が違うでしょ
要は書き換えらたり見られたりしちゃ困る物はクッキーに保存しちゃダメって事さ
0538nobodyさん
2006/10/14(土) 22:17:50ID:90O7Bnz3鯖が死んでるみたいだけど。
0539nobodyさん
2006/10/14(土) 22:23:38ID:???セッションに一般的な概念・仕組みだね。まあ概ねそれで良し。
で、実際にPHPでセッションを使うにはそんな小難しいことを知らんでも専用の関数で楽チン。
>>536
同じじゃない。セッションIDってのは、いわば「鍵」である。
この「鍵」を使って、サーバにあるデータ(セッション・ファイルの中身)にアクセスできる。
鍵だけでは何の意味もない。鍵を見ても鍵でしかない。見て意味のあるデータは、鍵のかかった「箱」に入れるわけだ。
0540nobodyさん
2006/10/14(土) 22:28:50ID:8uNXTSbcとかじゃだめってこと?じゃあどうやるの?
セッションIDがわかったとしてもそれがログインしてるか調べないといけないよね?
0541nobodyさん
2006/10/14(土) 22:29:40ID:???0542nobodyさん
2006/10/14(土) 22:30:30ID:???0543nobodyさん
2006/10/14(土) 22:45:04ID:???このとき誰もが・・・
うんざりした
0544nobodyさん
2006/10/14(土) 23:23:22ID:???鯖が死んでるみたいだけど。
0545nobodyさん
2006/10/15(日) 00:29:11ID:???どこぞの権威あるサイトみたいにhiddenよりセッションのほうが安全などと言い切ると
ろくに理解も確認もしないで真似するやつが出てくるので非常に危険。
セッション変数にSQL文を入れるやつまで出てくる有様なのでいたずらされないように気をつけてね♪
■ このスレッドは過去ログ倉庫に格納されています