1 :
ののの ★
2017/06/28(水) 00:08:14.68 ID:CAP_USER9
http://itpro.nikkeibp.co.jp/atcl/news/17/062701776/?itp_side_ranking 大森 敏行=日経NETWORK 2017/06/27
メルカリは2017年6月27日、メルカリWeb版での個人情報流出に関して新たな情報を同社の技術ブログで公開した。CDNのキャッシュの動作について、CDNプロバイダーと仕様について確認し検証した結果だという。同月26日までの説明とは一部異なっている点があり、ブログエントリを加筆修正した。
メルカリは当初、「Expiresヘッダーが過去の日付であっても、Cache-Controlヘッダーが存在している場合、Expiresヘッダーの情報は考慮されない仕様になっていた」と説明していた。しかし、この内容が正確ではなかった。
正確には、Expiresヘッダーは、Cache-Controlヘッダーにmax-age(キャッシュの有効期限を設定するキー)またはs-maxage(共有キャッシュの有効期限を設定するキー)がないときに機能していた。ただし、Expiresヘッダーに過去の日付が指定されていた場合は、このCDNプロバイダーではキャッシュの有効期限が0秒として扱われていたという。つまり、メルカリのケースでは「有効期限が0秒のキャッシュ」が存在していたことになる。
キャッシュの有効期限が0秒になっていると、CDNからWebサーバーへのリクエスト処理を実施している間に同じURLに対してリクエストが発生すると、Webサーバーからの最初のレスポンスを待ち、二つ目以降のリクエストに対しても同じレスポンスを返す仕様になっていた。
このため、あるユーザーがWeb版メルカリにアクセスし、メルカリのWebサーバーがレスポンスを構築している途中で、別のユーザーが同じURLにアクセスした場合、あるユーザーの情報を含むコンテンツが別のユーザーに見えてしまったという。
(くわしくはソースで)
2 :
名無しさん@1周年
2017/06/28(水) 00:11:34.74 ID:UIMbX0Ec0
要するに設定エラーだから俺は悪くないって言いたいのか?
3 :
名無しさん@1周年
2017/06/28(水) 00:12:05.56 ID:k/kiXgSH0
4 :
名無しさん@1周年
2017/06/28(水) 00:12:31.82 ID:GHE6DcGl0
メル狩り
5 :
名無しさん@1周年
2017/06/28(水) 00:13:27.30 ID:hUsIQyAL0
つまりバグだろ!
6 :
名無しさん@1周年
2017/06/28(水) 00:13:37.20 ID:xwZRlLOi0
技術の検証はもちろん必要だろうけど、客には何の関係もない話
7 :
名無しさん@1周年
2017/06/28(水) 00:14:19.84 ID:bRU9VHqN0
同時アクセス検証やってれば防げたってことじゃねーか
ただのバカ
8 :
名無しさん@1周年
2017/06/28(水) 00:20:16.85 ID:ZkUg5vs/0
キャッシュのテストをしてないとかバカかよ
アホプログラマーが多いのかね
ここ新卒多いよね、つまりそういうことです
9 :
名無しさん@1周年
2017/06/28(水) 00:20:25.92 ID:hrLyu5QR0
馬鹿みたいw
cdnみたいなもんに個人情報通すかねw
ブラウザの仕様とかそんな問題じゃねーよ
10 :
名無しさん@1周年
2017/06/28(水) 00:21:18.88 ID:t0cWAPmZ0
なるほど、わからん
11 :
名無しさん@1周年
2017/06/28(水) 00:25:06.09 ID:Qy+ML9A10
何人くらい人生終了したんだ?
12 :
名無しさん@1周年
2017/06/28(水) 00:27:52.58 ID:XB9eLKJt0
騒動を知っても辞めないようなのは、もう放置で良いだろ
13 :
名無しさん@1周年
2017/06/28(水) 00:31:54.55 ID:Yzw3Bl760
>>1 URLの ?itp_side_ranking は除いた方がいいかも
14 :
名無しさん@1周年
2017/06/28(水) 00:32:54.09 ID:LANU4uar0
あーこれね
CDNをExpiresするとCache-Controlが落ちてmax-ageが過ぎてURLになるんだよな
初心者がよくやる奴だよwww
15 :
名無しさん@1周年
2017/06/28(水) 00:34:04.98 ID:Ym7Os5hE0
16 :
名無しさん@1周年
2017/06/28(水) 00:34:37.18 ID:RBM3xlgn0
>>1 いやだから何で他人がWEB経由で見られるん?
ヘッダがどうのキャッシュがどうのじゃなくてさ。
17 :
名無しさん@1周年
2017/06/28(水) 00:35:06.55 ID:4eyE3rOd0
本来no-storeにすべきコンテンツを0-TTLに設定しちゃったのね。複数サーバで負荷試験しないと発覚しないバグ。本番環境でABテスト出来る運用を取るべき。
18 :
名無しさん@1周年
2017/06/28(水) 00:45:47.63 ID:hIGhFnec0
>>17 ああ、実環境を用意しないと発言しないバグってやっかいだよな
似たようなのにポインターがヌルでエクセプションしちゃうバグとかもあるよな
19 :
名無しさん@1周年
2017/06/28(水) 00:51:01.90 ID:4eyE3rOd0
>>18 とりあえず、ガッ
オリジンからのレスポンスが過去のExpireヘッダ返すのはそもおかしいので、すぐ直しとけって感じ
20 :
名無しさん@1周年
2017/06/28(水) 00:54:48.73 ID:qPOgDROd0
アプリ版は大丈夫なんだろ?
21 :
名無しさん@1周年
2017/06/28(水) 00:58:24.60 ID:yo0ezHSI0
超最先端の新発明の技術なのにテストもしなかったのか
もっと慎重に
枯れた技術も大事に
22 :
名無しさん@1周年
2017/06/28(水) 01:02:34.67 ID:4eyE3rOd0
>>19 自分で書いて気付いたけどメルカリのリバースプロキシが悪さしてるのか
23 :
名無しさん@1周年
2017/06/28(水) 01:17:30.38 ID:aj+AHLF20
>>2 俺は悪くないってどこに書いてあるんだ。
この間抜け。
24 :
名無しさん@1周年
2017/06/28(水) 01:17:55.49 ID:aj+AHLF20
25 :
名無しさん@1周年
2017/06/28(水) 01:18:25.88 ID:aj+AHLF20
>>8 馬鹿はお前だ。
1を見て、理解できないオツムなら書き込まないことだ。
26 :
名無しさん@1周年
2017/06/28(水) 01:24:20.35 ID:R4HSyhHn0
こんなケースあるんだな。これから気を付けよう。
27 :
名無しさん@1周年
2017/06/28(水) 01:27:06.78 ID:R4HSyhHn0
と思ったが、個人情報を扱ってるページにキャッシュなんか使ってなかった。
いったいどんな個人情報をCDNに流してんの?
28 :
名無しさん@1周年
2017/06/28(水) 01:27:23.08 ID:pctAmUd70
29 :
名無しさん@1周年
2017/06/28(水) 01:30:17.28 ID:aj+AHLF20
>>16 負荷分散のために、写真とかページとかのアクセスがあると、CDNがサーバからデータを取って来て、それを渡していた。
アクセスはCDNで済む範囲なら、サーバに負荷はかからない。
CDNに無い場合はサーバに行くが、一つの写真やページについてのアクセスは一回で済むから、サーバの負荷は低くて済む。
で、この時、このページなり写真が出品の情報のようなものならば何にも問題はない。
でも、例えば応札したとかなら、先に応札した人のページと2番目に応札した人のページは内容が別にならないといけない。
だから、そういう、一人一人内容が違う可能性があるページをサーバがCDNに渡すときには、渡したら終わりで、次の人に渡さないように有効期限を設定する。
しかし、その有効期限が最初の人へページを渡そうとしていた時にすでに期限切れだったらどうなるかという話。
一般的な認識だと、そもそも最初の人に有効なページが存在しないので、誰も応札したページを見れないことになる。
これなら、個人情報は出ていかない。
実際は、保持時間0秒のページがCDNの中に生じた。
保持時間0秒だから、ほぼ同時にアクセスがないと問題ないが、ほぼ同時に最初の人の応札と2番目の人の応札があった場合、2番目の人には最初の人の個人情報が入ったページが送られることになる。
わかるかな。
30 :
名無しさん@1周年
2017/06/28(水) 01:30:24.01 ID:yAT+taRQ0
なんで動的なコンテンツをキャッシュすんだよ?
おじさんにはわからん。
31 :
名無しさん@1周年
2017/06/28(水) 01:30:56.85 ID:aj+AHLF20
>>9 この場合のCDNはロードバランサ役だから、普通の使い方ではない。
32 :
名無しさん@1周年
2017/06/28(水) 01:31:15.54 ID:aj+AHLF20
33 :
名無しさん@1周年
2017/06/28(水) 01:32:05.93 ID:yAT+taRQ0
34 :
名無しさん@1周年
2017/06/28(水) 01:33:33.13 ID:S6MF4c120
最近、やけにCM打ってるよなぁ、なんだかんだで利用者増えて儲かりまくってるのかな?
35 :
名無しさん@1周年
2017/06/28(水) 01:33:41.58 ID:yAT+taRQ0
36 :
名無しさん@1周年
2017/06/28(水) 01:33:43.37 ID:gghdEAYa0
>>1 仕様もクソも関係無く、マニュアルをちゃんと読まないからの設定ミスじゃん
37 :
名無しさん@1周年
2017/06/28(水) 01:33:56.69 ID:9M7FVtPD0
0秒て確認して漏れてるよって通報したユーザー大統領になれるな
38 :
名無しさん@1周年
2017/06/28(水) 01:35:34.37 ID:pctAmUd70
>>30 だからキャッシュするつもりはなかったっつーの。単にCDN通したかっただけ。
39 :
名無しさん@1周年
2017/06/28(水) 01:35:37.53 ID:aj+AHLF20
>>33 意図してキャッシュしたわけではない。
有効期限がCDN到着時に、期限切れとなっているコンテンツは保持時間0秒のキャッシュとするという仕様なんだろ。
40 :
名無しさん@1周年
2017/06/28(水) 01:36:25.57 ID:yAT+taRQ0
41 :
名無しさん@1周年
2017/06/28(水) 01:37:17.12 ID:aj+AHLF20
>>35 間違っているわけでは無いさ。
メルカリのサーバが渡してるページの大半は同一コンテンツで、動的コンテンツは一部だ。
動的コンテンツで、個別のコンテンツだけデリバリーしないようにしてれば、後はCDNで配って問題無い。
42 :
名無しさん@1周年
2017/06/28(水) 01:38:21.63 ID:pctAmUd70
>>40 アホはお前。CDN=キャッシュするためのものと思い込んでるんだろ?レベル低っ。
43 :
名無しさん@1周年
2017/06/28(水) 01:38:21.95 ID:yAT+taRQ0
44 :
名無しさん@1周年
2017/06/28(水) 01:38:47.17 ID:yAT+taRQ0
45 :
名無しさん@1周年
2017/06/28(水) 01:39:54.09 ID:pctAmUd70
>>44 まぁ技術の進歩についてけないおじさんは、おとなしく汎用機の面倒でも見ていてくださいw
46 :
名無しさん@1周年
2017/06/28(水) 01:39:54.91 ID:aj+AHLF20
>>43 一緒くたになんかしてないだろ?
CDNの動作がわからないなら、お前さんには話が付いていけない話題なんだから、寝てな。
47 :
名無しさん@1周年
2017/06/28(水) 01:40:38.99 ID:yAT+taRQ0
うぇぶやさんもたいへんだねえ
48 :
名無しさん@1周年
2017/06/28(水) 01:41:37.60 ID:aj+AHLF20
>>47 メルカリみたいに、月間アクティブユーザが100万とか1000万のオーダーになると、物理的な戦いに近くなる。
49 :
名無しさん@1周年
2017/06/28(水) 01:41:44.85 ID:yAT+taRQ0
>>46 一緒くたじゃん。それでこんなことになっちゃったんだろ。
50 :
名無しさん@1周年
2017/06/28(水) 01:42:29.60 ID:J9aV1JJM0
>>14 用語が与えられてそれを使って解答しろっていうテスト問題で、全然解らなかったときに書いた解答みたい。
51 :
名無しさん@1周年
2017/06/28(水) 01:43:19.97 ID:aj+AHLF20
>>49 お前はサバのレベルとCDNのレベルを区別できてないのな。
サバのレベルでは大概のページは動的なページで、個別のコンテンツに区別はないよ。
まあ、お前さんにはわからない話だ。
52 :
名無しさん@1周年
2017/06/28(水) 01:43:51.57 ID:pctAmUd70
CDNは一昔前は静的コンテンツを効率的に配信するために使われていたけど、
最近はミドルマイルのレイテンシを最適化するためのソリューションとして使うケースが増えてる。
ゆえに動的コンテンツもCDN経由で配信するという当たり前の判断。
この知識がないやつが、え?なんで一緒にするの?て無知を晒しているのが現状。
53 :
名無しさん@1周年
2017/06/28(水) 01:44:12.99 ID:yAT+taRQ0
54 :
名無しさん@1周年
2017/06/28(水) 01:44:35.10 ID:aj+AHLF20
>>52 馬鹿は、わからない。で良いのに、なんで食ってかかるのかね。
55 :
名無しさん@1周年
2017/06/28(水) 01:44:43.76 ID:s1Vj5K760
ブラウザ変えて同時になんかやると昔はおもしろいことになった。
56 :
名無しさん@1周年
2017/06/28(水) 01:44:55.28 ID:yAT+taRQ0
>>52 で、こういうことになるわけですよ。ざまあ。
57 :
名無しさん@1周年
2017/06/28(水) 01:44:59.77 ID:pctAmUd70
58 :
名無しさん@1周年
2017/06/28(水) 01:45:11.85 ID:BmYjjlV70
最近始めたけどメルカリって10%の手数料は取るけど馬鹿みたいにポイントばら撒くね
リサイクル店じゃほとんど値が付かないような物もサクサク売れるのは気持ちいいよ
59 :
名無しさん@1周年
2017/06/28(水) 01:47:08.18 ID:pctAmUd70
>>56 まぁお前みたいなレベルの人間がうちのエンジニアに居ないことを祈るわw
60 :
名無しさん@1周年
2017/06/28(水) 01:48:48.82 ID:yAT+taRQ0
61 :
名無しさん@1周年
2017/06/28(水) 01:49:35.73 ID:M6cu433T0
意味不明の技術話で煙に巻こうって魂胆がミエミエ
仕掛けた方もバカで無知でメルカリキチガイ巣窟
運営もゴロツキかヒッピー集まり
62 :
名無しさん@1周年
2017/06/28(水) 01:50:33.40 ID:yAT+taRQ0
単なる設定屋がでかい顔してる業界だからねえ
63 :
名無しさん@1周年
2017/06/28(水) 01:51:15.86 ID:6hGZ+h+l0
同時アクセステストしてないとかアホすぎる。
64 :
名無しさん@1周年
2017/06/28(水) 01:52:37.46 ID:cKLfOZmd0
トラブルのスレで唐突に始まる謎のメル〇リ上げ。工作員さん、深夜までご苦労様ですw
65 :
名無しさん@1周年
2017/06/28(水) 01:53:37.87 ID:0YfDqb5H0
なるほど分からん
66 :
名無しさん@1周年
2017/06/28(水) 01:54:42.05 ID:aj+AHLF20
>>63 同時アクセステストでこの問題が見つかるとなんで思うの?
67 :
名無しさん@1周年
2017/06/28(水) 01:55:43.76 ID:c2FHjjkB0
よく分からんがCDNに個人情報があるってことか?
んな事ある訳ないな。
キャッシュ0秒ならキャッシュの意味ねーだろーし
68 :
名無しさん@1周年
2017/06/28(水) 01:55:54.00 ID:4eyE3rOd0
大規模サイトでサクサク実現するには、ベースページごとCDNに乗せて可能な限りCDNにキャッシュさせるのが基本。
今回の問題はオリジンから過去のコンテンツが返ってくるという矛盾した状況で、CDNがTTL切れのキャッシュを返す仕様になっていたんじゃまいか(テキトー)
ガチでウェブ最速目指してないとカスリもしない障害じゃないのか。メルカリいいぞもっとやれ
69 :
名無しさん@1周年
2017/06/28(水) 01:56:19.27 ID:pctAmUd70
70 :
名無しさん@1周年
2017/06/28(水) 01:56:59.12 ID:O148Vsab0
安倍晋三「同一労働同一賃金が実現すれば、非正規の時にはなかった責任感ややる気が正規になって生まれていく!!」
71 :
名無しさん@1周年
2017/06/28(水) 01:58:25.22 ID:c2FHjjkB0
72 :
名無しさん@1周年
2017/06/28(水) 01:59:03.88 ID:BmYjjlV70
>>64 俺の事かな?
プログラミング関連の話は分からないからメルカリの話しただけだよ
別に上げたつもりはないし今回みたいな不祥事でどうなろうと知ったこっちゃないw
73 :
名無しさん@1周年
2017/06/28(水) 01:59:29.73 ID:L1hjPMtV0
普通こういうのの管理ってデータベース使うんじゃね?
74 :
名無しさん@1周年
2017/06/28(水) 02:00:13.99 ID:c2FHjjkB0
>>48 フロントサーバー4台+CDNで事足りるだろ。
バックエンドは別として
75 :
名無しさん@1周年
2017/06/28(水) 02:00:32.35 ID:yAT+taRQ0
>>71 自称高レベルなエンジニアが
簡単な設定さえできずにミスったのがこのざま。
76 :
名無しさん@1周年
2017/06/28(水) 02:01:54.99 ID:NxSIOO6n0
>>71 む、また数年前で知識が止まってるやつが増えたのか。やれやれ。
77 :
名無しさん@1周年
2017/06/28(水) 02:05:14.48 ID:4eyE3rOd0
>>67 0-TTLだとしてもCDN上でキャッシュはすぐ消えるわけじゃなくて、もしキャッシュが残っていた場合はオリジンとのやり取りはIf-Modified-Sinceヘッダのやり取りのみでコンテンツはCDNのデータが再利用される。
つまりオリジンはデータを送る必要がなくそのキャッシュまだ最新wwwてヘッダで通知するだけで良いので負荷が減る。
78 :
名無しさん@1周年
2017/06/28(水) 02:07:35.22 ID:x82537fs0
メルカリってバカがバカに安物売るには良いサイトだが手数料も微妙だから生き残れないだろな
ヤフオクから客取ってこなきゃじき終わる
ヤフオクでハイブランドや骨董を取り扱ってるガチ勢連れてこなきゃダメ
79 :
名無しさん@1周年
2017/06/28(水) 02:09:39.21 ID:pehQ+35R0
>>59 うわ、横レスだけど、こんなこと書いてる人が居るような会社とは契約しないわw
80 :
名無しさん@1周年
2017/06/28(水) 02:15:33.91 ID:dt/0KPQO0
>>78 ユーザーサポートはメルカリのが圧倒的に手厚い
というかヤフオクはユーザーを舐めてるにもほどがある
問い合わせすらわざとさせないように相当わかりにくくしてる
所詮チョン企業
それだけに今回の件は痛いね
まあメルカリも目くそ鼻くそなんだけど
81 :
名無しさん@1周年
2017/06/28(水) 02:17:09.83 ID:BmYjjlV70
>>78 ヤフオクもワンプライス出品でプレミアム会員じゃなくても出品できるもんね
良い値で売りたい物はやっぱりヤフオクだろうなぁ
個人的には匿名配送をヤフオクでも簡単にできるようにしてほしい
82 :
名無しさん@1周年
2017/06/28(水) 02:22:13.57 ID:/uJaT6cI0
お前ら、所属企業名記載の上コメントかけよ。
アホいう企業は、RFP選定から外すから
83 :
名無しさん@1周年
2017/06/28(水) 02:30:20.78 ID:Z117Kvy10
>>78 ヤフオクは低価格帯のものが売れにくい
あとそもそも圧倒的に人口少ない
両方使い方が違う
84 :
名無しさん@1周年
2017/06/28(水) 02:33:54.83 ID:k/kiXgSH0
>>1 非合法グレーゾーン非道徳なシノギしてる時点でお察し
YahooBBであくどい手口してたソフトバンクが今でも犯罪幇助してるやん?
85 :
名無しさん@1周年
2017/06/28(水) 02:39:24.84 ID:yAT+taRQ0
>>76 お前みたいなんがこういう事故を起こすのさ
86 :
名無しさん@1周年
2017/06/28(水) 02:40:02.15 ID:iqI2biB70
キャッシュしちゃいかんものをCDNを通したらいかんだろ。
アホが設計するからこうなる。
87 :
名無しさん@1周年
2017/06/28(水) 02:42:05.59 ID:yAT+taRQ0
>>86 自称高レベルエンジニア君がいまはあたりまえー!とかいって発狂しだすぞ
88 :
名無しさん@1周年
2017/06/28(水) 02:47:15.39 ID:uoNucrP/0
お漏らししたメルキャリさんは今の技術をものに出来てないってことでいいんです?
89 :
名無しさん@1周年
2017/06/28(水) 02:53:58.36 ID:QbUglrAe0
なるほどわからん