2009-12-04 6 views
1

현재 사용자로부터 일부 데이터를 가져 와서 서버에 업로드하는 iPhone 응용 프로그램을 작성 중입니다. 업로드 된 데이터는 동일한 프로그램의 다른 사용자에게 표시됩니다 (그 이상의 정보가 있지만 아이디어는 간단하게 유지됩니다 ...). 업로드되는 데이터는 기본적으로 이름 (최대 50 자), 제목 (최대 50 자) 및 일부 텍스트 (사실상 무제한 문자)의 세 줄입니다. 필요한 것은 기본적으로 데이터 입력의 유효성을 감지 할 수있는 함수, 서비스 또는 알고리즘입니다. 반복되는 일련의 문자, 특정 '불법'단어, 비정상적인 공백 등을 감지 할 수 있어야합니다. 따라서 제 질문은 있습니다. 이런 종류의 데이터 유효성 검사를위한 C 또는 Objective-C 라이브러리 (빌드 인 또는 오픈 소스)가 있습니까? 그렇지 않으면이 종류의 검사를 어떻게 수행할까요?스팸 감지 (목표 -) C

여기 좋고 나쁜 데이터의 두 가지 예 :

GOOD :

Name: "John Aaron Smith" 
Title: "Why am I still here?" 
Text: "Can anybody please help me? I'm feeling lonely!" 

BAD : 나는 정도의주의 사항을 복용 알고

Name: "f**k you, kldsanfklds" 
Title: "Only $99. Buy Now. Only $99" 
Text: "ndsaklgnvds lakævndsaklæfhadsæhdsjka fhdskjafhdskj lafhsdkhf. €#&/ #&()(/&%& ># €%€#% €#& hidosæahviædshvidshfiodsa. adsifjDSILFJIDSH \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" 

많은 경우 어렵 겠지만,이 알고리즘/라이브러리는 가장 나쁜 스팸을 필터링해야합니다. 또한 최종 데이터베이스 제출 전에 데이터를 조사 할 것이지만 물론 스팸이 적을수록 쉽게 얻을 수 있습니다.

너의 것, 벤.

EDIT : 가장 유창한 언어는 objective-C이지만 C로도 잘하고 있으며 PHP와 JAVA에 대한 지식이 있습니다. 다른 언어로 된 라이브러리/예제는 이해하기 어려울 수 있으며 유효한 iPhone 언어로 '번역'됩니다.

편집 편집 : 나는 지나치게 정교한 것을 찾고 있지 않습니다. 거친 상처를 내게 해주는 간단한 방법.

+4

좋은 데이터가 스팸처럼 보인다고 생각하나요? –

+0

글쎄, 내가 넣은 더미 데이터 일 뿐이야. 나쁜 점은 내가 정말로 탐지하려고 시도한 것이다. –

+0

반복적 인 문자와 텍스트와 숫자의 이상한 혼합과 같은 가장 최악의 최악의 방법을 없애기위한 간단한 방법 만 알고있는 사람이 있습니까? –

답변

1

해결해야 할 문제는 very difficult입니다. 나는 나 자신의 스팸 탐지를 시도하지 않을 것이고 이미 존재하고 좋은 평판을 가지고있는 해결책을 사용할 것입니다 (예 : SpamAssassin).

+0

무료 서비스를 받으려면 무료로 제공받을 수 있습니까? 무료 서비스를 운영하고 있다면 컴퓨터 시간과 대역폭을 기꺼이 기꺼이 기탁 할 수 있지만 기물 파손을 방지하기 위해 제 3 자에게 비용을 지불해야합니다. –

+0

나는 Akismet도 보았습니다. 과거에는 꽤 잘 돌아갔다. 상업 라이센싱에 대해서도 동일한 고려 사항이 있습니다. – paulthenerd

+0

Akismet은 꽤 멋져 보입니다. 구현 중 하나를 C (꽤 오랜 시간이 걸릴 수도 있음)로 이식해야하지만, 그렇지 않으면 아마도 한 달에 500 달러를 벌지 못할 것이라고 생각할 때 유용 할 수 있습니다. –

1

Mollom을 보았습니까? 항목의 스팸성을 결정하기 위해 Mollom 서버와 통신하는 bunch of developer libraries (php, ruby, perl 등)이 있습니다. 그것들 중 하나를 Objective-C로 변환하는 것이 어렵지 않을 것입니다.

+0

Mollom은 인터 레스트 한 것처럼 보이지만, 무료 응용 프로그램을 공개하려는 hobbiest를 고려하면 상당히 비쌉니다. –

1

나는 당신이 원하는 것과 비슷한 것을 만들었지 만 그것은 PHP에 있습니다. 내가 처리하는 모든 텍스트는 보안 문자로 입력되므로 나쁜 예와 비슷한 쓸데없는 댓글 스팸이 차단됩니다. 지금까지 제가 정크의 80 %를 차단하고있는 것을 보았습니다. 철자 습관이 나쁜 사람들의 일부 유효한 텍스트를 차단할 수 있지만 수동으로 텍스트를 편집하는 것보다 선호합니다. 텍스트가 비어 있지이며 모든 공간

  • 내가 3 자 이상을 사용하여 길이를 확인 아니라고 확인하는 것이

    1. 확인하시기 바랍니다.
    2. 일련의 일치하는 문자를 확인하십시오. !!!!!! 나는 그 다음 3을 더 이상 사용하지 않습니다.
    3. 15 문자 이상으로 확인하십시오. 예 :lakævndsaklæfhadsæhdsjka
    4. 소문자 나쁜 단어
    5. 의 사전을 통해 실행하는 텍스트의 사본을 변환
    당신은 예를 들어, 의심스러운 문자 텍스트를 차단하여이에 추가 할 수

    %^[] 추가적으로 결코 서로 옆에 사용해서는 안되는 문자 목록을 컴파일 할 수 있습니다. fd, gf, kp, yt, vnd 이 시점에서 알고리즘에 추가하여 자동화해야합니다. 이는 알고리즘이 일부 문법을 이해할 필요가 있고 전체 프로세스가 강도가 증가하기 시작한다는 것을 의미합니다. 다른 점은이 시점에서 내 이해를 넘어서는 것입니다.