2 /************************************************************************
3 * Mailer v0.2.1-FINAL Start: 01/21/2013 *
4 * =================== Last change: 01/21/2013 *
6 * -------------------------------------------------------------------- *
7 * File : blacklist_filter.php *
8 * -------------------------------------------------------------------- *
9 * Short description : Filters for ext-blacklist *
10 * -------------------------------------------------------------------- *
11 * Kurzbeschreibung : Filter fuer ext-blacklist *
12 * -------------------------------------------------------------------- *
15 * $Tag:: 0.2.1-FINAL $ *
17 * -------------------------------------------------------------------- *
18 * Copyright (c) 2003 - 2009 by Roland Haeder *
19 * Copyright (c) 2009 - 2013 by Mailer Developer Team *
20 * For more information visit: http://mxchange.org *
22 * This program is free software; you can redistribute it and/or modify *
23 * it under the terms of the GNU General Public License as published by *
24 * the Free Software Foundation; either version 2 of the License, or *
25 * (at your option) any later version. *
27 * This program is distributed in the hope that it will be useful, *
28 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
29 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
30 * GNU General Public License for more details. *
32 * You should have received a copy of the GNU General Public License *
33 * along with this program; if not, write to the Free Software *
34 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, *
36 ************************************************************************/
38 // Some security stuff...
39 if (!defined('__SECURITY')) {
43 // Filter to check if email address is blacklisted
44 function FILTER_CHECK_EMAIL_BLACKLISTED ($filterData) {
45 // Is the email address blacklisted?
46 if (($filterData['init_done'] === TRUE) && (isEmailBlacklistEnabled()) && (isEmailBlacklisted($filterData['post_data']['email']))) {
48 $filterData['init_done'] = FALSE;
49 $filterData['blacklisted'] = 'email';
50 $filterData['message'] = '{--EMAIL_IS_BLACKLISTED--}';
52 // Run filter chain for successful detection (don't rely on other fields than 'email') here
53 runFilterChain('post_email_blacklisted', $filterData);
56 // Return filtered data
60 // Filter to check if IP address is blacklisted
61 function FILTER_CHECK_IP_BLACKLISTED ($filterData) {
62 // Is the IP address blacklisted?
63 if (($filterData['init_done'] === TRUE) && (isEmailBlacklistEnabled()) && (isIpBlacklisted(determineRealRemoteAddress()))) {
65 $filterData['init_done'] = FALSE;
66 $filterData['blacklisted'] = 'ip';
67 $filterData['message'] = '{--IP_IS_BLACKLISTED--}';
69 // Run filter chain for successful detection (don't rely on other fields than 'IP') here
70 runFilterChain('post_ip_blacklisted', $filterData);
73 // Return filtered data
77 // Filter to check URL against blacklist
78 function FILTER_CHECK_URL_BLACKLISTED ($filterData) {
79 //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Called!');
80 // And shall I check that his URL is not in the black list?
81 if ((isUrlBlacklistEnabled()) && (isUrlBlacklisted($filterData['url']))) {
82 // Create redirect-URL
83 $filterData['redirect'] = 'modules.php?module=login&what=order&code=' . getCode('BLIST_URL') . '&blist=' . $GLOBALS['blacklist_data'][$filterData['url']]['timestamp'];
84 $GLOBALS['filter_chain_aborted'] = TRUE;
86 // Set data for next filter chain
87 $filterData['init_done'] = FALSE;
88 $filterData['blacklisted'] = 'url';
89 $filterData['message'] = '{--URL_IS_BLACKLISTED--}';
91 // Run filter chain for successful detection (don't rely on other fields than 'IP') here
92 runFilterChain('post_url_blacklisted', $filterData);
95 // Return the data for next filter
96 //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Done!');
100 // Filter for logging blacklisted email addresses, is being called from above filter
101 function FILTER_LOG_EMAIL_BLACKLISTED ($filerData) {
102 // Make sure, that required data is there
103 assert((isset($filterData['init_done'])) && ($filterData['blacklisted'] == 'email'));
105 // @TODO Insert log entry
107 // Return filtered data
111 // Filter for logging blacklisted IP addresses, is being called from above filter
112 function FILTER_LOG_IP_BLACKLISTED ($filerData) {
113 // Make sure, that required data is there
114 assert((isset($filterData['init_done'])) && ($filterData['blacklisted'] == 'ip'));
116 // @TODO Insert log entry
118 // Return filtered data
122 // Filter for logging blacklisted URLs, is being called from above filter
123 function FILTER_LOG_URL_BLACKLISTED ($filerData) {
124 // Make sure, that required data is there
125 assert((isset($filterData['init_done'])) && ($filterData['blacklisted'] == 'url'));
127 // @TODO Insert log entry
129 // Return filtered data