Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class LinkModerator
- {
- string tld;
- List<string> whiteWebsiteList;
- public LinkModerator(List<string> whiteWebsiteList)
- {
- this.whiteWebsiteList = whiteWebsiteList;
- tld = topLevelDomains();
- }
- public boolean allow(String sender, String message)
- {
- boolean result = true;
- MatchCollection matches;
- Regex regex = new Regex("\\w+\\."+tld+("(/|\\s|$)"));
- if(regex.IsMatch(message);
- matches = regex.Matches(message);
- for(int i = 0; i < matches.Count; i++)
- {
- String s = matches[i];
- for(String whitewebsite : websiteWhiteList)
- {
- if(s.contains(whitewebsite))
- {
- result = true;
- break;
- }
- else
- {
- result = false;
- }
- }
- //System.out.println((result?"":"dis")+"allowed");
- }
- return result;
- }
- private String topLevelDomains()
- {
- return "("+
- "ZW|"+
- "ZONE|"+
- "ZM|"+
- "ZA|"+
- "YT|"+
- "YOKOHAMA|"+
- "YE|"+
- "YACHTS|"+
- "XYZ|"+
- "XXX|"+
- "XN--ZFR164B|"+
- "XN--YGBI2AMMX|"+
- "XN--YFRO4I67O|"+
- "XN--XKC2DL3A5EE0H|"+
- "XN--XKC2AL3HYE2A|"+
- "XN--WGBL6A|"+
- "XN--WGBH1C|"+
- "XN--UNUP4Y|"+
- "XN--SES554G|"+
- "XN--S9BRJ9C|"+
- "XN--RHQV96G|"+
- "XN--Q9JYB4C|"+
- "XN--PGBS0DH|"+
- "XN--P1AI|"+
- "XN--OGBPF8FL|"+
- "XN--O3CW4H|"+
- "XN--NQV7FS00EMA|"+
- "XN--NQV7F|"+
- "XN--NGBC5AZD|"+
- "XN--MGBX4CD0AB|"+
- "XN--MGBERP4A5D4AR|"+
- "XN--MGBC0A9AZCG|"+
- "XN--MGBBH1A71E|"+
- "XN--MGBAYH7GPA|"+
- "XN--MGBAB2BD|"+
- "XN--MGBAAM7A8H|"+
- "XN--MGBA3A4F16A|"+
- "XN--MGB9AWBF|"+
- "XN--LGBBAT1AD8J|"+
- "XN--L1ACC|"+
- "XN--KPUT3I|"+
- "XN--KPRY57D|"+
- "XN--KPRW13D|"+
- "XN--J6W193G|"+
- "XN--J1AMH|"+
- "XN--IO0A7I|"+
- "XN--I1B6B1A6A2E|"+
- "XN--H2BRJ9C|"+
- "XN--GECRJ9C|"+
- "XN--FZC2C9E2C|"+
- "XN--FPCRJ9C3D|"+
- "XN--FIQZ9S|"+
- "XN--FIQS8S|"+
- "XN--FIQ64B|"+
- "XN--FIQ228C5HS|"+
- "XN--D1ACJ3B|"+
- "XN--CZRU2D|"+
- "XN--CZR694B|"+
- "XN--CLCHC0EA0B2G2A9GCD|"+
- "XN--CG4BKI|"+
- "XN--C1AVG|"+
- "XN--90A3AC|"+
- "XN--80ASWG|"+
- "XN--80ASEHDB|"+
- "XN--80AO21A|"+
- "XN--80ADXHKS|"+
- "XN--6QQ986B3XL|"+
- "XN--6FRZ82G|"+
- "XN--55QX5D|"+
- "XN--55QW42G|"+
- "XN--4GBRIM|"+
- "XN--45BRJ9C|"+
- "XN--3E0B707E|"+
- "XN--3DS443G|"+
- "XN--3BST00M|"+
- "WTF|"+
- "WTC|"+
- "WS|"+
- "WORKS|"+
- "WIKI|"+
- "WIEN|"+
- "WF|"+
- "WED|"+
- "WEBSITE|"+
- "WEBCAM|"+
- "WATCH|"+
- "WANG|"+
- "VU|"+
- "VOYAGE|"+
- "VOTO|"+
- "VOTING|"+
- "VOTE|"+
- "VODKA|"+
- "VN|"+
- "VLAANDEREN|"+
- "VISION|"+
- "VILLAS|"+
- "VIAJES|"+
- "VI|"+
- "VG|"+
- "VET|"+
- "VERSICHERUNG|"+
- "VENTURES|"+
- "VEGAS|"+
- "VE|"+
- "VC|"+
- "VACATIONS|"+
- "VA|"+
- "UZ|"+
- "UY|"+
- "US|"+
- "UNO|"+
- "UNIVERSITY|"+
- "UK|"+
- "UG|"+
- "UA|"+
- "TZ|"+
- "TW|"+
- "TV|"+
- "TT|"+
- "TRAVEL|"+
- "TRAINING|"+
- "TRADE|"+
- "TR|"+
- "TP|"+
- "TOYS|"+
- "TOWN|"+
- "TOOLS|"+
- "TOKYO|"+
- "TODAY|"+
- "TO|"+
- "TN|"+
- "TM|"+
- "TL|"+
- "TK|"+
- "TJ|"+
- "TIROL|"+
- "TIPS|"+
- "TIENDA|"+
- "TH|"+
- "TG|"+
- "TF|"+
- "TEL|"+
- "TECHNOLOGY|"+
- "TD|"+
- "TC|"+
- "TAX|"+
- "TATTOO|"+
- "SZ|"+
- "SYSTEMS|"+
- "SY|"+
- "SX|"+
- "SV|"+
- "SUZUKI|"+
- "SURGERY|"+
- "SURF|"+
- "SUPPORT|"+
- "SUPPLY|"+
- "SUPPLIES|"+
- "SU|"+
- "ST|"+
- "SR|"+
- "SPACE|"+
- "SOY|"+
- "SOLUTIONS|"+
- "SOLAR|"+
- "SOHU|"+
- "SOFTWARE|"+
- "SOCIAL|"+
- "SO|"+
- "SN|"+
- "SM|"+
- "SL|"+
- "SK|"+
- "SJ|"+
- "SINGLES|"+
- "SI|"+
- "SHOES|"+
- "SHIKSHA|"+
- "SH|"+
- "SG|"+
- "SEXY|"+
- "SERVICES|"+
- "SE|"+
- "SD|"+
- "SCOT|"+
- "SCHULE|"+
- "SCHMIDT|"+
- "SCB|"+
- "SC|"+
- "SB|"+
- "SAARLAND|"+
- "SA|"+
- "RYUKYU|"+
- "RW|"+
- "RUHR|"+
- "RU|"+
- "RS|"+
- "RODEO|"+
- "ROCKS|"+
- "RO|"+
- "RIO|"+
- "RICH|"+
- "REVIEWS|"+
- "REST|"+
- "REPUBLICAN|"+
- "REPORT|"+
- "REPAIR|"+
- "RENTALS|"+
- "REN|"+
- "REISEN|"+
- "REISE|"+
- "REHAB|"+
- "RED|"+
- "RECIPES|"+
- "RE|"+
- "QUEBEC|"+
- "QPON|"+
- "QA|"+
- "PY|"+
- "PW|"+
- "PUB|"+
- "PT|"+
- "PS|"+
- "PROPERTIES|"+
- "PRODUCTIONS|"+
- "PRO|"+
- "PRESS|"+
- "PR|"+
- "POST|"+
- "PN|"+
- "PM|"+
- "PLUMBING|"+
- "PLACE|"+
- "PL|"+
- "PK|"+
- "PINK|"+
- "PICTURES|"+
- "PICS|"+
- "PHYSIO|"+
- "PHOTOS|"+
- "PHOTOGRAPHY|"+
- "PHOTO|"+
- "PH|"+
- "PG|"+
- "PF|"+
- "PE|"+
- "PARTS|"+
- "PARTNERS|"+
- "PARIS|"+
- "PA|"+
- "OVH|"+
- "ORGANIC|"+
- "ORG|"+
- "ONL|"+
- "OM|"+
- "OKINAWA|"+
- "NZ|"+
- "NYC|"+
- "NU|"+
- "NRW|"+
- "NR|"+
- "NP|"+
- "NO|"+
- "NL|"+
- "NINJA|"+
- "NI|"+
- "NHK|"+
- "NG|"+
- "NF|"+
- "NEUSTAR|"+
- "NET|"+
- "NE|"+
- "NC|"+
- "NAVY|"+
- "NAME|"+
- "NAGOYA|"+
- "NA|"+
- "MZ|"+
- "MY|"+
- "MX|"+
- "MW|"+
- "MV|"+
- "MUSEUM|"+
- "MU|"+
- "MT|"+
- "MS|"+
- "MR|"+
- "MQ|"+
- "MP|"+
- "MOTORCYCLES|"+
- "MOSCOW|"+
- "MORTGAGE|"+
- "MONASH|"+
- "MOE|"+
- "MODA|"+
- "MOBI|"+
- "MO|"+
- "MN|"+
- "MM|"+
- "ML|"+
- "MK|"+
- "MINI|"+
- "MIL|"+
- "MIAMI|"+
- "MH|"+
- "MG|"+
- "MENU|"+
- "MELBOURNE|"+
- "MEET|"+
- "MEDIA|"+
- "ME|"+
- "MD|"+
- "MC|"+
- "MARKETING|"+
- "MARKET|"+
- "MANGO|"+
- "MANAGEMENT|"+
- "MAISON|"+
- "MA|"+
- "LY|"+
- "LV|"+
- "LUXURY|"+
- "LUXE|"+
- "LU|"+
- "LT|"+
- "LS|"+
- "LR|"+
- "LOTTO|"+
- "LONDON|"+
- "LOANS|"+
- "LK|"+
- "LINK|"+
- "LIMO|"+
- "LIMITED|"+
- "LIGHTING|"+
- "LIFE|"+
- "LI|"+
- "LEASE|"+
- "LC|"+
- "LB|"+
- "LAWYER|"+
- "LAND|"+
- "LA|"+
- "KZ|"+
- "KY|"+
- "KW|"+
- "KRED|"+
- "KR|"+
- "KP|"+
- "KOELN|"+
- "KN|"+
- "KM|"+
- "KIWI|"+
- "KITCHEN|"+
- "KIM|"+
- "KI|"+
- "KH|"+
- "KG|"+
- "KE|"+
- "KAUFEN|"+
- "JUEGOS|"+
- "JP|"+
- "JOBURG|"+
- "JOBS|"+
- "JO|"+
- "JM|"+
- "JETZT|"+
- "JE|"+
- "IT|"+
- "IS|"+
- "IR|"+
- "IQ|"+
- "IO|"+
- "INVESTMENTS|"+
- "INTERNATIONAL|"+
- "INT|"+
- "INSURE|"+
- "INSTITUTE|"+
- "INK|"+
- "INFO|"+
- "INDUSTRIES|"+
- "IN|"+
- "IMMOBILIEN|"+
- "IM|"+
- "IL|"+
- "IE|"+
- "ID|"+
- "HU|"+
- "HT|"+
- "HR|"+
- "HOUSE|"+
- "HOST|"+
- "HORSE|"+
- "HOMES|"+
- "HOLIDAY|"+
- "HOLDINGS|"+
- "HN|"+
- "HM|"+
- "HK|"+
- "HIV|"+
- "HIPHOP|"+
- "HAUS|"+
- "HAMBURG|"+
- "GY|"+
- "GW|"+
- "GURU|"+
- "GUITARS|"+
- "GUIDE|"+
- "GU|"+
- "GT|"+
- "GS|"+
- "GRIPE|"+
- "GREEN|"+
- "GRATIS|"+
- "GRAPHICS|"+
- "GR|"+
- "GQ|"+
- "GP|"+
- "GOV|"+
- "GOP|"+
- "GN|"+
- "GMO|"+
- "GM|"+
- "GLOBO|"+
- "GLOBAL|"+
- "GLASS|"+
- "GL|"+
- "GIVES|"+
- "GIFT|"+
- "GI|"+
- "GH|"+
- "GG|"+
- "GF|"+
- "GENT|"+
- "GE|"+
- "GD|"+
- "GB|"+
- "GALLERY|"+
- "GAL|"+
- "GA|"+
- "FUTBOL|"+
- "FURNITURE|"+
- "FUND|"+
- "FROGANS|"+
- "FR|"+
- "FOUNDATION|"+
- "FOO|"+
- "FO|"+
- "FM|"+
- "FLORIST|"+
- "FLIGHTS|"+
- "FK|"+
- "FJ|"+
- "FITNESS|"+
- "FISHING|"+
- "FISH|"+
- "FINANCIAL|"+
- "FINANCE|"+
- "FI|"+
- "FEEDBACK|"+
- "FARM|"+
- "FAIL|"+
- "EXPOSED|"+
- "EXPERT|"+
- "EXCHANGE|"+
- "EVENTS|"+
- "EUS|"+
- "EU|"+
- "ET|"+
- "ESTATE|"+
- "ES|"+
- "ER|"+
- "EQUIPMENT|"+
- "ENTERPRISES|"+
- "ENGINEERING|"+
- "ENGINEER|"+
- "EMAIL|"+
- "EG|"+
- "EE|"+
- "EDUCATION|"+
- "EDU|"+
- "EC|"+
- "DZ|"+
- "DURBAN|"+
- "DOMAINS|"+
- "DO|"+
- "DNP|"+
- "DM|"+
- "DK|"+
- "DJ|"+
- "DISCOUNT|"+
- "DIRECTORY|"+
- "DIRECT|"+
- "DIGITAL|"+
- "DIAMONDS|"+
- "DESI|"+
- "DENTIST|"+
- "DENTAL|"+
- "DEMOCRAT|"+
- "DEGREE|"+
- "DEALS|"+
- "DE|"+
- "DATING|"+
- "DANCE|"+
- "CZ|"+
- "CY|"+
- "CX|"+
- "CW|"+
- "CV|"+
- "CUISINELLA|"+
- "CU|"+
- "CRUISES|"+
- "CREDITCARD|"+
- "CREDIT|"+
- "CR|"+
- "COUNTRY|"+
- "COOP|"+
- "COOL|"+
- "COOKING|"+
- "CONTRACTORS|"+
- "CONSULTING|"+
- "CONSTRUCTION|"+
- "CONDOS|"+
- "COMPUTER|"+
- "COMPANY|"+
- "COMMUNITY|"+
- "COM|"+
- "COLOGNE|"+
- "COLLEGE|"+
- "COFFEE|"+
- "CODES|"+
- "CO|"+
- "CN|"+
- "CM|"+
- "CLUB|"+
- "CLOTHING|"+
- "CLINIC|"+
- "CLEANING|"+
- "CLAIMS|"+
- "CL|"+
- "CK|"+
- "CITY|"+
- "CITIC|"+
- "CI|"+
- "CHURCH|"+
- "CHRISTMAS|"+
- "CHEAP|"+
- "CH|"+
- "CG|"+
- "CF|"+
- "CEO|"+
- "CENTER|"+
- "CD|"+
- "CC|"+
- "CATERING|"+
- "CAT|"+
- "CASH|"+
- "CAREERS|"+
- "CAREER|"+
- "CARE|"+
- "CARDS|"+
- "CAPITAL|"+
- "CAPETOWN|"+
- "CANCERRESEARCH|"+
- "CAMP|"+
- "CAMERA|"+
- "CAB|"+
- "CA|"+
- "BZH|"+
- "BZ|"+
- "BY|"+
- "BW|"+
- "BV|"+
- "BUZZ|"+
- "BUILDERS|"+
- "BUILD|"+
- "BT|"+
- "BS|"+
- "BRUSSELS|"+
- "BR|"+
- "BOUTIQUE|"+
- "BO|"+
- "BN|"+
- "BMW|"+
- "BM|"+
- "BLUE|"+
- "BLACKFRIDAY|"+
- "BLACK|"+
- "BJ|"+
- "BIZ|"+
- "BIO|"+
- "BIKE|"+
- "BID|"+
- "BI|"+
- "BH|"+
- "BG|"+
- "BF|"+
- "BEST|"+
- "BERLIN|"+
- "BEER|"+
- "BE|"+
- "BD|"+
- "BB|"+
- "BAYERN|"+
- "BARGAINS|"+
- "BAR|"+
- "BA|"+
- "AZ|"+
- "AXA|"+
- "AX|"+
- "AW|"+
- "AUTOS|"+
- "AUDIO|"+
- "AU|"+
- "ATTORNEY|"+
- "AT|"+
- "ASSOCIATES|"+
- "ASIA|"+
- "AS|"+
- "ARPA|"+
- "ARMY|"+
- "ARCHI|"+
- "AR|"+
- "AQ|"+
- "AO|"+
- "AN|"+
- "AM|"+
- "AL|"+
- "AIRFORCE|"+
- "AI|"+
- "AGENCY|"+
- "AG|"+
- "AF|"+
- "AERO|"+
- "AE|"+
- "AD|"+
- "ACTOR|"+
- "ACTIVE|"+
- "ACCOUNTANTS|"+
- "ACADEMY|"+
- "AC"
- + ")"
- ;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement