Tôi có một trang web diễn đàn bằng tiếng Anh được viết bằng perl liên tục bị tấn công bằng thư rác bằng tiếng Nga. Có cách nào sử dụng Perl và regex để phát hiện văn bản tiếng Nga để tôi có thể chặn nó không?Tôi làm cách nào để phát hiện các bài đăng spam của Nga bằng Perl?
Trả lời
Bạn có thể sử dụng sau đây để phát hiện Cyrillic ký tự (được sử dụng bằng tiếng Nga):
[\u0400-\u04FF]+
Nếu bạn thực sự chỉ muốn ký tự tiếng Nga, bạn có thể có một cái nhìn tại các văn bản nêu trên, trong đó có phạm vi chính xác sử dụng cho bảng chữ cái tiếng Nga cơ bản là [\u0410-\u044F]
. Tất nhiên bạn cũng cần phải xem xét các nhân vật Cyrillic mở rộng được sử dụng độc quyền bằng tiếng Nga - cũng được đề cập trong tài liệu.
sử dụng bộ mã Cyrillic unicode theo đề xuất của JG là tốt nếu mọi thứ được mã hóa như vậy. tuy nhiên, đây là spam và phần lớn, mọi thứ không phải. ngoài ra, những kẻ tung thư rác sẽ thường xuyên sử dụng kết hợp các bộ ký tự trong thư rác để tiếp tục sử dụng cách tiếp cận này.
tôi thấy rằng cách tốt nhất (hoặc ít nhất là bước sơ bộ trong quá trình này) phát hiện thư rác Nga là để grep cho bảng mã phổ biến nhất được sử dụng:
koi8-r
windows-1251
iso-8859-5
bước tiếp theo sau đó sẽ là thử một số thuật toán phát hiện ngôn ngữ về những gì còn lại. nếu đó là một vấn đề đủ lớn, hãy sử dụng một dịch vụ trả phí như google translate (cũng phát hiện ra) hoặc xerox. các dịch vụ này cung cấp IMO phát hiện ngôn ngữ tốt nhất xung quanh.
Tôi hiểu quan điểm của bạn, nhưng vì đây là diễn đàn bằng tiếng Anh, nên phát hiện xem bài đăng chứa ký tự cyrillic có đủ để xác định rằng đó là spam hay không. –
hmmm, i * đã * nghĩ rằng poster gốc đã nói về spam email ... nếu không phải như vậy, và thư rác đang được nhập thông qua trang web (ví dụ: trên diễn đàn) thì tôi sẽ đồng ý với những gì bạn đang nói. –
- 1. Phát hiện các ký tự tiếng Nga trên biểu mẫu trong PHP
- 2. Lấy ID bài đăng WordPress của bài đăng hiện tại
- 3. Làm cách nào để phát hiện các dấu đăng ký trên giấy bằng OpenCV?
- 4. Làm cách nào để giảm điểm spam của thư email?
- 5. Tôi làm cách nào để thay đổi URL bài đăng trên blog của trang web Jekyll?
- 6. Django: Làm cách nào để chuyển hướng bài đăng và chuyển vào dữ liệu bài đăng
- 7. Làm cách nào để liệt kê tất cả các đăng ký của tôi bằng ClearCase?
- 8. Làm cách nào để xây dựng URL bài đăng trên Facebook từ id bài đăng?
- 9. Làm cách nào để tải lên tệp bằng cách sử dụng bài đăng http? Delphi 2009
- 10. Làm cách nào để tôi nhận được spam cho dự án nghiên cứu của mình?
- 11. Làm cách nào để hiển thị danh sách các loại bài đăng tùy chỉnh của WordPress?
- 12. Tôi làm cách nào để tự động phát hiện proxy?
- 13. Làm cách nào để định dạng bài đăng trong HTML khi xuất bằng chế độ Org?
- 14. Làm cách nào để tạo lại bài đăng trên onclientclick bằng jQuery với asp.net
- 15. Tôi làm cách nào để ghi lại dữ liệu bài đăng RESTful?
- 16. Làm cách nào để các chuỗi số lượng của Nga hoạt động bình thường?
- 17. Làm cách nào để tôi phát hiện các thứ nguyên quảng cáo được phân phát
- 18. Tôi làm cách nào để phát hiện ANT?
- 19. Tôi làm cách nào để phát hiện onKeyUp trong AngularJS?
- 20. Làm cách nào để tôi có thể thực hiện các bài tập trong danh sách hiểu?
- 21. Tôi làm cách nào để có thể truy xuất tất cả các bài đăng từ blog Blogger (blogspot.com)?
- 22. Tôi làm cách nào để thực hiện webtesting trong Perl cho các trang yêu cầu JavaScript?
- 23. Tôi có thể dừng lại bài đăng bằng cách sử dụng các bản xác nhận không?
- 24. Làm cách nào để đặt tiêu đề bằng phương pháp http bài đăng
- 25. Tôi có thể phát hiện các trang web farsi bằng tika bằng cách nào?
- 26. Làm cách nào để nhận bài đăng từ danh mục bằng sên?
- 27. Làm cách nào để phát hiện mã hóa của tệp?
- 28. Làm cách nào để bật một web-API .Net để chấp nhận các bài đăng được mã hóa bằng gáy
- 29. Làm cách nào để gửi email đến tài khoản Gmail của tôi bằng SMTP và Perl?
- 30. Làm cách nào để git phát hiện các tệp tương tự, để phát hiện đổi tên?
Để phát hiện tiếng Nga, bạn cần phải tìm các từ chỉ được sử dụng bằng tiếng Nga. Hay bạn chỉ muốn thử nghiệm các chữ cái cyrillic? – Gumbo
nếu ($ text ~ =/vodka /) {$ language = "ru"; } – tunnuz
@Gumbo chỉ phát hiện Cyrillic là đủ tốt vì diễn đàn bằng tiếng Anh. –