Merhaba
Konunun aslında direk olarak php ile ilgisi yok ancak web üzerine programlamada en bilgili kişiler burada olduğu için direk buradan sormak istedim.
Benim chat sitem var,mesajlar soket üzerinden gidiyor yani kayıt etmiyorum.Ancak spam sorunlarına karşı önlem için kayıt etmek istiyorum nasıl bir çözüm bulunabilir sizce ? Mongodb falan mı kullansam sorgu olmayacak ama her mesaj veritabanına kaydedilecek.Site oldukça yoğun bu işlemin yavaşlatmaması gerekiyor veritabanının şişmemesi gerekiyor vs.
Çözüm için tavsiyeleriniz nedir ?
Mesaj Kaydetme
3
●366
- 01-07-2014, 11:52:48Üyeliği durduruldukullanıcı mesaj attığında ona ait socket nesnesine lastMessage şeklinde bir property ekleyin.
bir sonraki mesajında bu property ile şimdiki zamanı karşılaştırın ve aradan geçen süre çok kısaysa mesajı göndermesine izin vermeyin, değilse mesajı gönderin ve lastMessage property'sini düzenleyin, bu işlem için veritabanına ihtiyacınız yok
ki ilerde mesajları veritabanına bile kaydetsen, scaling yapacağın bir uygulamada online kişilerin son mesaj tarihini redis ile in-memory tutman senin çok daha işine gelecektir.
kolay gelsin, iyi günler - 03-07-2014, 01:41:28Altta açıkladım,sizin düşünceniz nedir ?bayGaReZ adlı üyeden alıntı: mesajı görüntüle
Ama sizin dediğinize göre client bazlı bir bloklama olmaz mı ? Yani 1000 kişiye ben spam mesaj attım diyelim 1 tane ama flood değil yani.Bu bloklanmamış olacak ben bunun önüne geçmek istiyorum toplu mesajın yani.BTHN adlı üyeden alıntı: mesajı görüntüle
