저는 C#을 처음 접했습니다. 따라서 현재 학교에서 사용하기 위해이 LAN 메신저를 사용하고 있습니다. 인터넷에서 찾은 서버 및 클라이언트를 포함하여 메신저 코드이므로 모든 프로그램을 직접 프로그래밍하지 않았습니다. 아주 기본적인 코드. 메시지를 보내고받는 것이 복사되었습니다. 어쨌든! 인스턴트 메신저 채팅에 스팸을 보내는 사람들에게 문제가 있습니다. 클라이언트에는 연결 옵션뿐만 아니라 모든 수신 메시지에 대한 여러 줄 텍스트 상자, 메시지 작성 용 텍스트 상자 및 메시지 자체를 보내기위한 보내기 단추가 있습니다. 채팅 클라이언트를 "스팸"하지 못하게하는 방법이 있습니까? 예를 들어, 사용자가 2 초 안에 5 개의 메시지를 보내는 경우 "메시지 보내기"텍스트 상자를 잠그십시오. 어떻게이 일을 할 수 있겠습니까? 그것은 스팸받는 사용자가 더 많은 메시지를 보내지 못하도록 차단하는 한 텍스트 상자를 잠글 필요가 없습니다. 미리 감사드립니다.C# 채팅 클라이언트의 스팸 자동 차단
0
A
답변
4
먼저 고려해야 할 것은 입니다. 클라이언트를 신뢰하지 마십시오. 즉, 소스 코드에 액세스 할 수 있거나 서버가 사용하는 프로토콜을 알고있는 사람이라면 하루 종일 스팸 메시지를 보내는 자체 클라이언트를 작성할 수 있습니다.
제공하는 클라이언트를 사용하는 사람들이 스팸을 전송한다고 가정하면 특정 시간대에 보낸 메시지 수를 확실히 계산할 수 있으며 임계 값을 초과하면 보내기 단추를 사용할 수 없게됩니다. 무언가 같이
이 있습니다 사용 윈폼을 가정 할 때, 버튼을 차단하는 코드는 다음과 같습니다
btnSend.Enabled = false;
은 최근 역사에서 보낸 메시지의 수를 추적하려면
List<DateTime> messageTimestamps;
같은 것을 만들 수 있습니다
그리고 거기에 타임 스탬프를 넣으십시오.
사람이 메시지를 보낼 때이 작업을 수행 :
- 보다 더있는 목록에서 모든 항목을 제거 (예를 들어) 이초 된
- 목록
- 경우]에 새 항목을 추가 목록 개수> (말하기) 5, 보내기 버튼을 비활성화하고이 메시지를 버리십시오.
차단 된 상태를 지우려면 타이머를 시작해야합니다. 작품을 어떻게 볼 수
http://msdn.microsoft.com/en-us/library/system.windows.forms.timer.aspx
에서보세요.
0
사용자가 메시지를 보낼 때마다 카운터 수가 올라갈 수 있으며 카운터가 5에 도달하면 사용자가 다른 메시지를 보내지 않도록하려면 무엇을 하든지 할 수 있습니다. 그런 다음 Timer 개체로 2 초마다 카운터를 재설정하면됩니다.
int spam = 0;
Timer timer = new Timer(2000);
timer.Elapsed += new ElapsedEventHandler(timer_Elapsed);
timer.Enabled = true;
static void timer_Elapsed(object sender, ElapsedEventArgs e)
{
spam = 0;
}
if (spam < 5)
{
//send message as usual
spam++;
}
else
//notify user that sending messages has been disabled, please wait 'x' seconds to send another message
관련 문제
- 1. 채팅방의 스팸 차단
- 2. EC2에서 스팸 요청 차단
- 3. skype에서 그룹 채팅 차단
- 4. PHP로 이메일 보내기 & hotmails 스팸 메일 차단
- 5. jquery/php 채팅 클라이언트의 연결 문제 처리
- 6. C#을 사용하여 PC 채팅 및 Android 클라이언트의 채팅 클라이언트에서 메시지를받을 수 있습니까?
- 7. 자동 차단 기능을 사용하는 사용자 차단
- 8. 스팸 감지 (목표 -) C
- 9. Gmail에서 표시된 스팸 메일은 있지만 썬더 버드 클라이언트의 전자 메일은 정상 (비 스팸)으로 배달됩니다.
- 10. 자동 새로 고침 채팅 문제
- 11. Windows/IIS7에서 쉽게 호스팅되는 스팸 차단 기능이 뛰어난 위키는 무엇입니까?
- 12. 도메인에 의한 리퍼러 스팸 차단 - 403 응답 효율
- 13. C 클라이언트의 TCPClient와 소켓
- 14. 내 클라이언트의 자동 업데이트를 어떻게 설계합니까?
- 15. 스팸
- 16. 이메일 스팸 방지 PHP
- 17. 스팸 확인, 스팸 점수 방법?
- 18. C# 채팅 프로그램 Lidgren
- 19. C# 채팅 - TCP P2P
- 20. 전자 메일 스팸 방지?
- 21. 스레드 차단 목표 C
- 22. C# 차단 단추 찾아보기
- 23. C# 차단 treenode 선택
- 24. C# windows 클라이언트의 레지스트리 값
- 25. C# WCF 클라이언트의 메시지를 사용하여
- 26. C# MDI 클라이언트의 도구 설명
- 27. 스팸 메일이란 무엇입니까? 스팸 메일 필터 작성의 요지
- 28. HTTP v 소켓 v Java의 RMI 채팅
- 29. 스팸 필터 로직
- 30. C의 자동 차단 메시지 상자가 없습니다.