SELECT data_key, data_value
FROM xf_data_registry
WHERE data_key IN ('options', 'languages', 'contentTypes', 'codeEventListeners', 'deferredRun', 'simpleCache', 'addOns', 'defaultStyleProperties', 'routeFiltersIn', 'routeFiltersOut', 'routesPublic', 'nodeTypes', 'bannedIps', 'discouragedIps', 'styles', 'displayStyles', 'userBanners', 'smilies', 'bbCode', 'threadPrefixes', 'userTitleLadder', 'reportCounts', 'moderationCounts', 'userModerationCounts', 'notices', 'userFieldsInfo')
Run Time: 0.000530
Select Type | Table | Type | Possible Keys | Key | Key Len | Ref | Rows | Extra |
---|
SIMPLE | xf_data_registry | range | PRIMARY | PRIMARY | 27 | | 26 | Using where |
SELECT data_key, data_value
FROM xf_data_registry
WHERE data_key IN ('brListenerClasses', 'brBriviumAddOns')
Run Time: 0.000150
Select Type | Table | Type | Possible Keys | Key | Key Len | Ref | Rows | Extra |
---|
SIMPLE | xf_data_registry | range | PRIMARY | PRIMARY | 27 | | 2 | Using where |
SELECT *
FROM xf_brivium_addon
ORDER BY addon_id
Run Time: 0.000142
Select Type | Table | Type | Possible Keys | Key | Key Len | Ref | Rows | Extra |
---|
SIMPLE | xf_brivium_addon | index | | PRIMARY | 77 | | 1 | |
INSERT INTO xf_data_registry
(data_key, data_value)
VALUES
(?, ?)
ON DUPLICATE KEY UPDATE
data_value = VALUES(data_value)
Params: brBriviumAddOns, a:0:{}
Run Time: 0.000128
SELECT session_data
FROM xf_session
WHERE session_id = ?
AND expiry_date >= ?
Params: 8b7e37e849b001ceb301748916b9dced, 1716080911
Run Time: 0.000150
Select Type | Table | Type | Possible Keys | Key | Key Len | Ref | Rows | Extra |
---|
SIMPLE | xf_session | const | PRIMARY,expiry_date | PRIMARY | 34 | const | 1 | |
SELECT cache_value
FROM xf_permission_combination
WHERE permission_combination_id = ?
Params: 1
Run Time: 0.000148
Select Type | Table | Type | Possible Keys | Key | Key Len | Ref | Rows | Extra |
---|
SIMPLE | xf_permission_combination | const | PRIMARY | PRIMARY | 4 | const | 1 | |
SELECT thread.*
,
user.gender, user.avatar_date, user.gravatar,
NULL AS thread_read_date,
0 AS thread_reply_banned,
0 AS thread_is_watched,
'' AS draft_message, NULL AS draft_extra
FROM xf_thread AS thread
LEFT JOIN xf_user AS user ON
(user.user_id = thread.user_id)
WHERE thread.thread_id = ?
Params: 633759
Run Time: 0.000377
Select Type | Table | Type | Possible Keys | Key | Key Len | Ref | Rows | Extra |
---|
SIMPLE | thread | const | PRIMARY | PRIMARY | 4 | const | 1 | |
SIMPLE | user | const | PRIMARY | PRIMARY | 4 | const | 1 | |
SELECT node.*, forum.*
,
permission.cache_value AS node_permission_cache,
NULL AS forum_read_date
FROM xf_forum AS forum
INNER JOIN xf_node AS node ON (node.node_id = forum.node_id)
LEFT JOIN xf_permission_cache_content AS permission
ON (permission.permission_combination_id = 1
AND permission.content_type = 'node'
AND permission.content_id = forum.node_id)
WHERE node.node_id = ?
Params: 25
Run Time: 0.000558
Select Type | Table | Type | Possible Keys | Key | Key Len | Ref | Rows | Extra |
---|
SIMPLE | forum | const | PRIMARY | PRIMARY | 4 | const | 1 | |
SIMPLE | node | const | PRIMARY | PRIMARY | 4 | const | 1 | |
SIMPLE | permission | const | PRIMARY | PRIMARY | 35 | const,const,const | 1 | |
SELECT post.*
,
thread.*, thread.user_id AS thread_user_id, thread.username AS thread_username,
thread.post_date AS thread_post_date,
post.user_id, post.username, post.post_date,
bb_code_parse_cache.parse_tree AS message_parsed, bb_code_parse_cache.cache_version AS message_cache_version,
user.*, IF(user.username IS NULL, post.username, user.username) AS username,
user_profile.*,
user_privacy.*,
signature_parse_cache.parse_tree AS signature_parsed, bb_code_parse_cache.cache_version AS signature_cache_version,
session_activity.view_date AS last_view_date,
0 AS like_date
FROM xf_post AS post
INNER JOIN xf_thread AS thread ON
(thread.thread_id = post.thread_id)
LEFT JOIN xf_bb_code_parse_cache AS bb_code_parse_cache ON
(bb_code_parse_cache.content_type = 'post' AND bb_code_parse_cache.content_id = post.post_id)
LEFT JOIN xf_user AS user ON
(user.user_id = post.user_id)
LEFT JOIN xf_user_profile AS user_profile ON
(user_profile.user_id = post.user_id)
LEFT JOIN xf_user_privacy AS user_privacy ON
(user_privacy.user_id = post.user_id)
LEFT JOIN xf_bb_code_parse_cache AS signature_parse_cache ON
(signature_parse_cache.content_type = 'signature' AND signature_parse_cache.content_id = post.user_id)
LEFT JOIN xf_session_activity AS session_activity ON
(post.user_id > 0 AND session_activity.user_id = post.user_id AND session_activity.unique_key = CAST(post.user_id AS BINARY))
WHERE (
(post.thread_id = ? AND (post.position >= 0 AND post.position < 10) )
)
AND (post.message_state IN ('visible'))
ORDER BY post.position ASC, post.post_date ASC
Params: 633759
Run Time: 0.001975
Select Type | Table | Type | Possible Keys | Key | Key Len | Ref | Rows | Extra |
---|
SIMPLE | thread | const | PRIMARY | PRIMARY | 4 | const | 1 | Using filesort |
SIMPLE | post | ref | thread_id_post_date,thread_id_position | thread_id_post_date | 4 | const | 1 | Using index condition; Using where |
SIMPLE | bb_code_parse_cache | eq_ref | content_type_id | content_type_id | 31 | const,xenforo.cc.post.post_id | 1 | Using where |
SIMPLE | user | eq_ref | PRIMARY | PRIMARY | 4 | xenforo.cc.post.user_id | 1 | |
SIMPLE | user_profile | eq_ref | PRIMARY | PRIMARY | 4 | xenforo.cc.post.user_id | 1 | |
SIMPLE | user_privacy | eq_ref | PRIMARY | PRIMARY | 4 | xenforo.cc.post.user_id | 1 | |
SIMPLE | signature_parse_cache | eq_ref | content_type_id | content_type_id | 31 | const,xenforo.cc.post.user_id | 1 | Using where |
SIMPLE | session_activity | eq_ref | PRIMARY | PRIMARY | 22 | xenforo.cc.post.user_id,func | 1 | Using where |
INSERT INTO xf_thread_view
(thread_id)
VALUES
(?)
Params: 633759
Run Time: 0.000086
UPDATE `xf_session` SET `expiry_date` = ? WHERE (session_id = '8b7e37e849b001ceb301748916b9dced')
Params: 1716084511
Run Time: 0.000913
INSERT INTO xf_session_activity
(user_id, unique_key, ip, controller_name, controller_action, view_state, params, view_date, robot_key)
VALUES
(?, ?, ?, ?, ?, ?, ?, ?, ?)
ON DUPLICATE KEY UPDATE
ip = VALUES(ip),
controller_name = VALUES(controller_name),
controller_action = VALUES(controller_action),
view_state = VALUES(view_state),
params = VALUES(params),
view_date = VALUES(view_date),
robot_key = VALUES(robot_key)
Params: 0, , , XenForo_ControllerPublic_Thread, Index, valid, thread_id=633759, 1716080911,
Run Time: 0.000318
INSERT INTO xf_bb_code_parse_cache
(content_type, content_id, parse_tree, cache_version, cache_date)
VALUES (?, ?, ?, ?, ?)
ON DUPLICATE KEY UPDATE parse_tree = VALUES(parse_tree),
cache_version = VALUES(cache_version),
cache_date = VALUES(cache_date)
Params: post, 640926, a:24:{i:0;s:168:"针对身份不明人士假冒 Bungie 版权维护合作伙伴、向油管创作者发送大量虚假 DMCA 侵权通知一事,Bungie 已经在美国提起了诉讼。";i:1;a:4:{s:3:"tag";s:1:"b";s:6:"option";N;s:8:"original";a:2:{i:0;s:3:"[B]";i:1;s:4:"[/B]";}s:8:"children";a:1:{i:0;s:152:"尽管官方未点名被告“Doe”的真实身份,但 Bungie 还是通过一系列数字调查手段,锁定了这位闹事者的姓名和地址。";}}i:2;s:120:"今年早些时候,《命运 2》社区因虚假 DMCA 版权下架请求,而让 Bungie 遭遇了无辜的集火。
";i:3;a:4:{s:3:"tag";s:6:"center";s:6:"option";N;s:8:"original";a:2:{i:0;s:8:"[CENTER]";i:1;s:9:"[/CENTER]";}s:8:"children";a:1:{i:0;a:4:{s:3:"tag";s:3:"img";s:6:"option";N;s:8:"original";a:2:{i:0;s:5:"[IMG]";i:1;s:6:"[/IMG]";}s:8:"children";a:1:{i:0;s:90:"https://rdimg.com/proxy/https://static.cnbetacdn.com/article/2022/0618/f92d7e1a400884f.jpg";}}}}i:4;s:2:"
";i:5;a:4:{s:3:"tag";s:1:"b";s:6:"option";N;s:8:"original";a:2:{i:0;s:3:"[B]";i:1;s:4:"[/B]";}s:8:"children";a:1:{i:0;s:18:"【事件起因】";}}i:6;s:1042:"
由于 Google 的审核机制存在漏洞,导致假冒 Bungie 版权维护者的不明人士滥发 DMCA 下架通知,结果导致油管平台误伤了许多创作者、且其中不乏社区内知名的频道。
还有一些 DCMA 伪造通知被瞄准了 Bungie 自己的频道,此事在《命运》游戏社区内引发了巨大的混乱和沮丧情绪。
即使 Bungie 支持粉丝们二创、并将视频上传到油管,但这一误会还是让广大玩家得出了一个糟糕的结论,即官方应该受到谴责。
在声誉岌岌可危之时,Bungie 终于下定决定对此展开调查,结果证明相关 DCMA 下架通知都是被别有用心的人伪造发出的。
3 月下旬,Bungie 在华盛顿法院提起了诉讼,其中揭示了两个 Gmail 账户是如何被用来碰瓷大量油管创作者的。
鉴于破坏规模很是庞大,Bungie 不仅主张与欺诈通知油管的损害赔偿,还向被告提出了侵犯版权、虚假指定、商业诽谤、违反约定和消保条例等额外指控。
";i:7;a:4:{s:3:"tag";s:1:"b";s:6:"option";N;s:8:"original";a:2:{i:0;s:3:"[B]";i:1;s:4:"[/B]";}s:8:"children";a:1:{i:0;s:18:"【展开追查】";}}i:8;s:575:"
上周,Bungie 提交了首份修订后的诉状。除了指明被告身份,该公司还解释了是如何追溯并揪出这位幕后黑手的。
起初 Bungie 未能顺利从 Google / YouTube 那里获取信息 —— 因为平台方的 DMCA 权利主张机制,仅允许曝露侵犯版权者、而不是假冒官方身份滥发 DMCA 通知的搞事者。
庆幸的是,在经过一些弯弯绕绕之后,Bungie 于本月早些时候开始理清事情的脉络。
6 月 10 日,Google 交出了用于发送欺诈通知的账户的“重要”信息 —— 包括";i:9;a:4:{s:3:"tag";s:3:"url";s:6:"option";s:44:"http://rssdiy.com/cdn-cgi/l/email-protection";s:8:"original";a:2:{i:0;s:52:"[URL='http://rssdiy.com/cdn-cgi/l/email-protection']";i:1;s:6:"[/URL]";}s:8:"children";a:1:{i:0;s:17:"[email protected]";}}i:10;s:22:"(Wiland 账户)和";i:11;a:4:{s:3:"tag";s:3:"url";s:6:"option";s:44:"http://rssdiy.com/cdn-cgi/l/email-protection";s:8:"original";a:2:{i:0;s:52:"[URL='http://rssdiy.com/cdn-cgi/l/email-protection']";i:1;s:6:"[/URL]";}s:8:"children";a:1:{i:0;s:17:"[email protected]";}}i:12;s:583:"(Reynolds 账户)。
此外 Google 提供了嫌疑人账户发出的每条 DMCA 下架通知列表、账户间的所有通讯内容副本,以及访问者的 IP 地址日志。
日志信息显示,Wiland 和 Reynolds 这两个账户,一直都是通过某个以 .241 结尾的特定 IP 地址访问的,并追溯到了位于加州罗克林市的民用互联网服务提供商(ISP)Consolidated Communications 。
虽然Reynolds 在 3 月 22 日注销了 Google 账户,但不到一秒,他又切到了 Wiland 账户登录 —— 表明背后使用者为同一人。
";i:13;a:4:{s:3:"tag";s:1:"b";s:6:"option";N;s:8:"original";a:2:{i:0;s:3:"[B]";i:1;s:4:"[/B]";}s:8:"children";a:1:{i:0;s:18:"【深入剖析】";}}i:14;s:629:"
上述相同的 .241 IP 地址,也被用于向 Bungie 的版权维护合作伙伴 CSC 发送辱骂性电子邮件。更成问题的是,它与两个《命运 2》官方账户有关联。
其中一个账户实际购买了《命运 2:女巫之王》原声带(OST),随后将商品寄送到了用户的实际住址。而购买时附带的一枚徽章奖励,则通过电子邮件发了出去。
收件人点击了这一徽章链接,并被 Bungie 记录了相同的 .241 IP 地址。事已至此,网络方面的调查算是告一段落,但 Bungie 并未就此停止。
可点击的徽章链接,被发送到了";i:15;a:4:{s:3:"tag";s:3:"url";s:6:"option";s:44:"http://rssdiy.com/cdn-cgi/l/email-protection";s:8:"original";a:2:{i:0;s:52:"[URL='http://rssdiy.com/cdn-cgi/l/email-protection']";i:1;s:6:"[/URL]";}s:8:"children";a:1:{i:0;s:17:"[email protected]";}}i:16;s:403:"这个电子邮件地址。在虚假 DMCA 通知造成混乱期间,一位昵称 Lord Nazo 的有关用户收到了 Wiland 帐户发来的告知函。
对这一“不公正待遇”感到愤怒的 Nazo,选择了向油管平台提出了反 DMCA 抗诉,并在描述文字中对泛滥的虚假通知破口大骂。毕竟他的创作并未涉及侵权,且遵照着合理使用的范例。
最终与";i:17;a:4:{s:3:"tag";s:3:"url";s:6:"option";s:44:"http://rssdiy.com/cdn-cgi/l/email-protection";s:8:"original";a:2:{i:0;s:52:"[URL='http://rssdiy.com/cdn-cgi/l/email-protection']";i:1;s:6:"[/URL]";}s:8:"children";a:1:{i:0;s:17:"[email protected]";}}i:18;s:219:"这个邮件捆绑的 Bungie《命运》账户被揪了出来,并涉及一个位于加州罗克林的一个实际地址。无论是粗心还是故意,搞事者的真名 —— Nick Minor —— 都已被锁定。
";i:19;a:4:{s:3:"tag";s:1:"b";s:6:"option";N;s:8:"original";a:2:{i:0;s:3:"[B]";i:1;s:4:"[/B]";}s:8:"children";a:1:{i:0;s:13:"相关文章:";}}i:20;s:2:"
";i:21;a:4:{s:3:"tag";s:3:"url";s:6:"option";s:34:"http://rssdiy.com/view/1282149.htm";s:8:"original";a:2:{i:0;s:42:"[URL='http://rssdiy.com/view/1282149.htm']";i:1;s:6:"[/URL]";}s:8:"children";a:1:{i:0;s:71:"Bungie与《命运2》外挂制作者达成1350万美元的和解协议";}}i:22;s:2:"
";i:23;a:4:{s:3:"tag";s:3:"url";s:6:"option";s:34:"http://rssdiy.com/view/1284599.htm";s:8:"original";a:2:{i:0;s:42:"[URL='http://rssdiy.com/view/1284599.htm']";i:1;s:6:"[/URL]";}s:8:"children";a:1:{i:0;s:81:"油管创作者因假冒《命运》开发商滥发版权警告而被Bungie起诉";}}}, 1621686945, 1716080911
Run Time: 0.000911