- เครดิต
- 220
- เพื่อน
- ทักทาย
- บล็อก
- อัลบั้ม
- โพสต์
- กระทู้
- แชร์
- สำคัญ
- สิทธิ์อ่าน
- 180
- จำนวนผู้ติดตาม
- จำนวนผู้กำลังติดตาม
- เพศ
- ไม่บอก
|
แก้ไขครั้งสุดท้ายโดย aaa.111 เมื่อ 2013-5-9 17:09
) r4 U# Y% M9 l
4 Z6 o3 s* @8 f" g8 h% n# Tตอนแรกจะเขียนเป็นบทความ แต่ตัวเองอ่านไปแล้วไม่เข้าใจเลยเลิกละ
( l& P4 g \5 E, K3 K; t0 [4 o+ g& {9 B5 x9 g( }% U
ก็ตรงๆเลยนะ7 P9 O3 j. \$ i. `/ r+ c1 _7 b
. ^. Y& s0 S. m4 X) X
ลองใช้เป็น ลิงก์ "แจ้งลบ" ข้างๆ เหมือนพวก @ อ้างอิง
+ {8 ~' M' R! j% Vแล้วเอาไปวิเคราะห์ดู/ K6 Z( h8 {* s2 U
& L0 c, }7 X$ ^7 _& q: r
หลักๆ ก็เป็น
* k3 m& M8 Y- y) z/ Q/ v6 Y1) ตรวจสอบว่าเป็นการโพสโดยคนๆ เดียวใช่หรือไม่ (เก็บค่า a)
( s; v7 G+ L$ h7 F2 y2 { ~2) ตรวจว่าข้อความนั้น ตรงกับ ข้อความใดบ้างในแชท (หาผู้ร่วมกระทำผิด ) (เก็บค่า b) s. `8 L4 `3 Z) ?, c% R
3) ครวจว่าเป็นระยะเวลาห่างกันเท่าไร (เก็บค่า c)
$ V2 G$ n" w, C& v3 b) C
2 ~7 }6 Y) m' P. y0 w1 E+ ^เหมือ a b c เป็นการเก็บแบบ array" e+ x. Y" d$ X8 g; [8 x, Q2 J
ข้อใช้เป็น โครงสร้าง ภาษา C ฟิชเชอร์ริง กับ php นะ (อย่าไปดูโค๊ตมันไม่ถูกหรอก)6 f _1 W( s8 ]% k
, w7 c6 x6 A1 V0 |2 P; S
7 d- p1 |2 N' _! Q, Z6 Y! B, Zfunction a($uid){ ตรวจว่า ในช่วงนั้น $uid นี้ โพสติดกันเท่าไร ; return จำนวนโพสติด;}7 c' z7 p/ | r7 A% [. N4 w: g" h7 A; }
function b($str){ ค้นหาจำนวนส่วนของข้อความเหมือนกัน($str) ; } //จะได้ array ของ chat_id => 'chat_text'* W6 }3 `- x, x6 i
function c($datetime1, $datetime2){ หาผลต่างของเวลา if( $def_time < ค่าที่ตั้งไว้){return 1;}}" I6 |* @" H8 d! S; G
& ?* z3 t! A7 I7 t8 S3 Q) |
& }9 A% E, r; e' \: r
, u2 B* |0 M! m& q7 s! g" w
ทั้งหมดแล้ว
3 U% w1 w6 @1 uแค่ต้องการบอกว่า
& E7 Q, I7 r4 r8 ~: c! f5 O+ M2 t9 E9 a) q
ทำลิงค์ แจ้งลบ ไปเถอะ
0 N# J- V/ }% `! O
% g* c+ b5 l; \! R9 L) `# x5 nแต่ ใช้จำนวนคนที่แจ้งลบ มาเป็นตัวตัดสินไม่ได้นะ เพราะ บางคนก็ไม่กด บ้าง ก็ ระดมรีพอท
( n# `! t) U' _* gใช้ระบบวิเคราะห์เอา จากสีส้ม
) d8 z7 l0 M/ H+ |/ j
# E1 `. ^* [8 y) r8 J6 v, [
7 i' i7 n; m# H6 M3 w( zปล อ่านแค่ข้อความสีจะรู้เรื่องกว่า แล้วถ้าว่าง หายมึน แล้วจะมาแก้ไขกระทู้ใหม่6 E/ _4 G) d8 {9 e/ ?
: s2 I5 g: |' v. l0 C9 i. S( k//ฝากพี่ๆ ออกมาเปิดประเด่นหน่อยนะ เพราะผมถนัดเขียนแบบ อธิบายแชทมากกว่า
* K! l0 n! E; k% O9 M E0 V k& l1 z- @: j
& R' a+ ?4 z( F! X
ลองเสนอทฤษฎีการฟลัด3 K8 {6 P) l2 L2 k- b! u
ก่อนที่จะเขียนบทความนี้ ก็ไม่ได้แตะแชท ดิสคัส หรือ ภาษาคอม ทุกภาษามานานละ ตั้งใจเรียนอย่างเดียว >///<
' w1 W' E/ W$ P( T/ F% T2 {# Q8 z55 เหมือนจะไม่น่าเชื่อถือ
8 f$ }; ^1 \; w5 G$ {! a: y
. J; [0 G1 \& l9 X S% @อย่างแรกเลย นิยามก่อน (ตามที่ผมเข้าใจนะ)3 v. j2 Z) N3 V' e# I) T
การฟลัดข้อความ (Flooding) ส่วนใหญ่มักจะเจอในหน้าๆที่ ที่ให้สมาชิก สมารถโพสข้อความ หรือ ฯลฯ
- O: y' J% |5 r# {จะพบมากใน กล่องสนทนา (Chat box) ซะส่วนใหญ่ $ f# Q' v1 L6 }
$ t9 ]) z; \3 B# {+ R4 Nวิธีป้องกัน พื้นฐานที่สุดเลยคือ การ หน่วงเวลา (Delay) ไม่ให้โพสข้อความลงติดๆกันได้2 B) v( S4 v. K6 E
ที่นี่ มันก็จะมีปัญหากับไอ่พวกชอบถาม อย่างผม
. t0 c2 N- T2 r: I1 h! a- T- s, H: {มักจะพิมพ์ว่า: B* V: v# d' ]
<!!
5 h1 g) `, p: Q% w: h) Jเออ...; s. B J" b+ M
ขอโทษครับ ไม่ทราบว่า การ เออ...
7 `0 r' h$ D. ~4 X+ z# Aการแก้โจทย์ของ Dx/dm โดยใช้ ขั้นตอน# W+ k. a K. a r
...3 ^5 g1 A O# k8 f( [
เงียบเลยแหะ( @+ B% |7 R- J$ P- A4 Z+ Z
!!>
8 ^$ h) c. f) c' q' g0 [6 h7 W) ^) j0 T
6 S& a! q# v- w/ J/ ?แต่ละข้อความใช้เวลาพิมพ์ ห่างกัน 1 วินาที0 _4 T1 A, F2 n6 L9 B
ถ้าใครเล่น เฟสบุ๊ค (Facebook) เมื่อก่อน ตอนพิมพ์แชทติดๆกัน มันจะรวมเป็นบรรทัดเดียวกันเลยใช่ไหม
+ J) m u) I: B( j- b& U( W; T. e$ r/ @. j$ E8 ~2 s
อะ คราวนี้ มาฟังทฤษฎีผมมั้ง, y2 o4 ~5 q7 z* m0 C
: V" n8 v+ R2 m/ Y1 H+ l
มันอาจจะเรียกว่า การป้องกันการฟลัดข้อความไม่ได้หรอกมั้ง
+ Y9 m* w C, Q0 eมันเหมือน ระบบแจ้งลบ ข้อความ ซะมากกว่า$ J% k8 L! O# G' }
; y: F A }: n. _8 ?
4 q% C G0 T. e
กรณีที่ 1 : ห้องแชทโล่งๆ (มีคนออน 2-3 คน)
: \3 [5 y' p Lการฟลัแชท ในกรณีนี้ ก็อาจจะเป็นพวกเว็บบอร์ดความรู้ สาระ ส่วนตัว ฯลฯ ที่คนไม่เยอะเท่าไร6 O) [, p7 ~: _% t
อยู่มาวันหนึ่ง ก็จะมี เกรียนขายของ เข้ามา ฟลัดโฟสขายของแบบรัวๆ 2 Z& n% Q" b1 {* V1 u: O
( t: v2 T1 e7 Y+ m% o! m, l
แน่นอนว่า ระบบ delay เราช่วยไว้ได้มาก แต่ถ้าเราคุยกับสมาชิกปกติละ โครตน่ารำคาญ delay มากเลย
3 n9 N5 h% S+ z9 \2 G# i& m' [& P4 x5 R$ u, l' O' m9 T
เอาละ1 [: e% Y2 ^! D, `, t; a
จุดที่หลายคนพอสังเกตได้คือ 6 @6 T& y' E) ]+ }, L0 ^
- ]! c4 w9 v1 S. t- S. A8 V1) จะเป็นการโพสโดยคนเดียวอย่างต่อเนื่อง& D- X* a: G7 J- P
2) ข้อความเรียงติดกัน4 O/ }7 O" y' i4 k
3) เวลาใกล้เคียงกัน
# D* l2 H( J3 K/ a+ o1 {6 n6 r( {9 T" h& W# ^8 b: p0 g
# e! X9 @6 }/ U
* r/ K, W' u$ N2 Z3 N& J `3 z5 Aวิธีแก้ปัญหา คือ (รูปแบบผมจะเขียนเป็น if else แบบย่อนะครับ แนวการอ่าน \ n "1) ข้อความ" ? ข้อความใช่ : ข้อความไม่ใช่) Y# \, [ M' G0 G" g$ ]
1) ตรวจสอบว่าเป็นการโพสโดยคนเดียวหรือไม่หรือไม่ แบ่งเป็น 2 กรณี
7 m7 e2 Z6 J) d. R 1.1) กรณีโพสคนเดียว แต่ระยะเวลาห่างกันนานมาก => แก้โดยการเปรียบเทียบข้อความ
# l0 P* O; o* N# v1 ` 1.2) กรณีโพสคนเดียว เวลาติดๆ กัน => ฟลัดโพสแน่นอน (เพราะถ้ามีคนกดแจ้งเตือนมา แสดงว่าฟลัดโพสอยู่แล้ว)
3 O0 a2 z# \' V9 p1 i5 F) V<!!-- แต่วิธีที่ 1 ก็ยังคงเป็นจุดด้อยอยู่ คือ ถ้า มีคนแกล้ง มันก็จะลบใช่ไหม ดูต่อวิธี 2 -->* B0 v% n! c1 T; c, x4 X
) ]. l, V: m. L5 E% a9 G
2) ตรวจสอบจากข้อ 1.2 |
คะแนน
-
ดูบันทึกคะแนน
|
|
|
|
|
|