X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=inc%2Fhttp-functions.php;h=cf8377038873faf9436660cbb5b31a253517548d;hb=6bd47661d7ec406cd276f0835364b1e3f933d6c8;hp=5715c6edd0a5c48967b7ccd9abb6c0402f55c1aa;hpb=8fad776382e63b3f73f8dbe289f229d79cfc2c22;p=mailer.git diff --git a/inc/http-functions.php b/inc/http-functions.php index 5715c6edd0..cf83770388 100644 --- a/inc/http-functions.php +++ b/inc/http-functions.php @@ -144,7 +144,7 @@ function removeHttpHostNameFromUrl ($url) { } // Sends a HTTP request (GET, POST, HEAD are currently supported) -function sendHttpRequest ($requestType, $baseUrl, $requestData = array(), $removeHeader = false) { +function sendHttpRequest ($requestType, $baseUrl, $requestData = array(), $removeHeader = FALSE) { // Init response $response = array(); @@ -189,7 +189,7 @@ function sendHeadRequest ($baseUrl, $requestData = array()) { $host = extractHostnameFromUrl($baseUrl); // Generate HEAD request header - $request = 'HEAD ' . (isProxyUsed() === true ? $baseUrl : '') . trim($getUrl) . ' HTTP/1.1' . getConfig('HTTP_EOL'); + $request = 'HEAD ' . (isProxyUsed() === TRUE ? $baseUrl : '') . trim($getUrl) . ' HTTP/1.1' . getConfig('HTTP_EOL'); $request .= 'Host: ' . $host . getConfig('HTTP_EOL'); $request .= 'Referer: ' . getUrl() . '/admin.php' . getConfig('HTTP_EOL'); if (isConfigEntrySet('FULL_VERSION')) { @@ -211,7 +211,7 @@ function sendHeadRequest ($baseUrl, $requestData = array()) { } // Send a GET request -function sendGetRequest ($baseUrl, $requestData = array(), $removeHeader = false) { +function sendGetRequest ($baseUrl, $requestData = array(), $removeHeader = FALSE) { // Generate full GET URL $getUrl = generateGetUrlFromBaseUrlData($baseUrl, $requestData); @@ -228,7 +228,7 @@ function sendGetRequest ($baseUrl, $requestData = array(), $removeHeader = false $host = extractHostnameFromUrl($baseUrl); // Generate GET request header - $request = 'GET ' . (isProxyUsed() === true ? $baseUrl : '') . trim($getUrl) . ' HTTP/1.1' . getConfig('HTTP_EOL'); + $request = 'GET ' . (isProxyUsed() === TRUE ? $baseUrl : '') . trim($getUrl) . ' HTTP/1.1' . getConfig('HTTP_EOL'); $request .= 'Host: ' . $host . getConfig('HTTP_EOL'); $request .= 'Referer: ' . getUrl() . '/admin.php' . getConfig('HTTP_EOL'); if (isConfigEntrySet('FULL_VERSION')) { @@ -246,7 +246,7 @@ function sendGetRequest ($baseUrl, $requestData = array(), $removeHeader = false $response = sendRawRequest($host, $request); // Should we remove header lines? - if ($removeHeader === true) { + if ($removeHeader === TRUE) { // Okay, remove them $response = removeHttpHeaderFromResponse($response); } // END - if @@ -256,7 +256,7 @@ function sendGetRequest ($baseUrl, $requestData = array(), $removeHeader = false } // Send a POST request, sometimes even POST requests have no parameters -function sendPostRequest ($baseUrl, $requestData = array(), $removeHeader = false) { +function sendPostRequest ($baseUrl, $requestData = array(), $removeHeader = FALSE) { // Copy baseUrl to getUrl $getUrl = $baseUrl; @@ -276,7 +276,7 @@ function sendPostRequest ($baseUrl, $requestData = array(), $removeHeader = fals $body = http_build_query($requestData, '', '&'); // Generate POST request header - $request = 'POST ' . (isProxyUsed() === true ? $baseUrl : '') . trim($baseUrl) . ' HTTP/1.0' . getConfig('HTTP_EOL'); + $request = 'POST ' . (isProxyUsed() === TRUE ? $baseUrl : '') . trim($baseUrl) . ' HTTP/1.0' . getConfig('HTTP_EOL'); $request .= 'Host: ' . $host . getConfig('HTTP_EOL'); $request .= 'Referer: ' . getUrl() . '/admin.php' . getConfig('HTTP_EOL'); if (isConfigEntrySet('FULL_VERSION')) { @@ -299,7 +299,7 @@ function sendPostRequest ($baseUrl, $requestData = array(), $removeHeader = fals $response = sendRawRequest($host, $request); // Should we remove header lines? - if ($removeHeader === true) { + if ($removeHeader === TRUE) { // Okay, remove them $response = removeHttpHeaderFromResponse($response); } // END - if @@ -322,7 +322,7 @@ function sendRawRequest ($host, $request) { $response = array('', '', ''); // Default is non-broken HTTP server implementation - $GLOBALS['is_http_server_broken'] = false; + $GLOBALS['is_http_server_broken'] = FALSE; // Load include loadIncludeOnce('inc/classes/resolver.class.php'); @@ -345,7 +345,7 @@ function sendRawRequest ($host, $request) { $proxyHost = compileRawCode(getProxyHost()); // Open connection - if (isProxyUsed() === true) { + if (isProxyUsed() === TRUE) { // Resolve hostname into IP address $ip = $resolver->resolveHostname($proxyHost); @@ -372,7 +372,7 @@ function sendRawRequest ($host, $request) { } // Shall proxy be used? - if (isProxyUsed() === true) { + if (isProxyUsed() === TRUE) { // Setup proxy tunnel $response = setupProxyTunnel($host, $proxyHost, $port, $resource); @@ -388,7 +388,7 @@ function sendRawRequest ($host, $request) { fwrite($resource, $request); // Start counting - $start = microtime(true); + $start = microtime(TRUE); // Read response while (!feof($resource)) { @@ -396,7 +396,7 @@ function sendRawRequest ($host, $request) { $info = stream_get_meta_data($resource); // Is it timed out? 15 seconds is a really patient... - if (($info['timed_out'] == true) || (microtime(true) - $start) > 15) { + if (($info['timed_out'] == TRUE) || (microtime(TRUE) - $start) > 15) { // Timeout logDebugMessage(__FUNCTION__, __LINE__, 'Timed out to get data from host ' . $host); @@ -433,7 +433,7 @@ function sendRawRequest ($host, $request) { // Time request if debug-mode is enabled if (isDebugModeEnabled()) { // Add debug message... - logDebugMessage(__FUNCTION__, __LINE__, 'Request took ' . (microtime(true) - $start) . ' seconds and returned ' . count($response) . ' line(s).'); + logDebugMessage(__FUNCTION__, __LINE__, 'Request took ' . (microtime(TRUE) - $start) . ' seconds and returned ' . count($response) . ' line(s).'); } // END - if // Skip first empty lines @@ -452,15 +452,15 @@ function sendRawRequest ($host, $request) { } } // END - foreach - //* DEBUG: */ debugOutput('Request:
'.print_r($request, true).'
'); - //* DEBUG: */ debugOutput('Response:
'.print_r($response, true).'
'); + //* DEBUG: */ debugOutput('Request:
'.print_r($request, TRUE).'
'); + //* DEBUG: */ debugOutput('Response:
'.print_r($response, TRUE).'
'); // Proxy agent found or something went wrong? if (!isset($response[0])) { // No response, maybe timeout $response = array('', '', ''); logDebugMessage(__FUNCTION__, __LINE__, 'Invalid empty response array, maybe timed out?'); - } elseif ((substr(strtolower($response[0]), 0, 11) == 'proxy-agent') && (isProxyUsed() === true)) { + } elseif ((substr(strtolower($response[0]), 0, 11) == 'proxy-agent') && (isProxyUsed() === TRUE)) { // Proxy header detected, so remove two lines array_shift($response); array_shift($response); @@ -525,7 +525,7 @@ function setupProxyTunnel ($host, $proxyHost, $port, $resource) { // Check array for chuncked encoding function unchunkHttpResponse ($response) { // Default is not chunked - $isChunked = false; + $isChunked = FALSE; // Check if we have chunks foreach ($response as $line) { @@ -535,16 +535,16 @@ function unchunkHttpResponse ($response) { // Entry found? if ((isInStringIgnoreCase('transfer-encoding', $line)) && (isInStringIgnoreCase('chunked', $line))) { // Found! - $isChunked = true; + $isChunked = TRUE; break; } // END - if } // END - foreach // Is it chunked? - if ($isChunked === true) { + if ($isChunked === TRUE) { // Good, we still have the HTTP headers in there, so we need to get rid // of them temporarly - //* DEBUG: */ die('
'.htmlentities(print_r(removeHttpHeaderFromResponse($response), true)).'
'); + //* DEBUG: */ die('
'.htmlentities(print_r(removeHttpHeaderFromResponse($response), TRUE)).'
'); $tempResponse = http_chunked_decode(implode('', removeHttpHeaderFromResponse($response))); // We got a string back from http_chunked_decode(), so we need to convert it back to an array @@ -595,7 +595,7 @@ function removeHttpHeaderFromResponse ($response) { // Returns the flag if a broken HTTP server implementation was detected function isBrokenHttpServerImplentation () { // Determine it - $isBroken = ((isset($GLOBALS['is_http_server_broken'])) && ($GLOBALS['is_http_server_broken'] === true)); + $isBroken = ((isset($GLOBALS['is_http_server_broken'])) && ($GLOBALS['is_http_server_broken'] === TRUE)); // ... and return it return $isBroken; @@ -857,5 +857,41 @@ function getContentType () { return $GLOBALS['content_type']; } +// Logs wrong SERVER_NAME attempts +function logWrongServerNameRedirect () { + // Is ext-sql_patches at least version 0.9.2? + if (isExtensionInstalledAndNewer('sql_patches', '0.9.2')) { + // Is there an entry? + if (countSumTotalData(detectServerName(), 'server_name_log', 'server_name_id', 'server_name', TRUE, str_replace('%', '{PER}', sprintf(" AND `server_name_remote_addr`='%s' AND `server_name_ua`='%s' AND `server_name_referrer`='%s'", SQL_ESCAPE(detectRemoteAddr(TRUE)), SQL_ESCAPE(detectUserAgent(TRUE)), SQL_ESCAPE(detectReferer(TRUE))))) == 1) { + // Update counter, as all are the same + SQL_QUERY_ESC("UPDATE + `{?_MYSQL_PREFIX?}_server_name_log` +SET + `server_name_counter`=`server_name_counter`+1 +WHERE + `server_name`='%s' AND + `server_name_remote_addr`='%s' AND + `server_name_ua`='%s' AND + `server_name_referrer`='%s' +LIMIT 1", + array( + detectServerName(), + detectRemoteAddr(TRUE), + detectUserAgent(TRUE), + detectReferer(TRUE) + ), __FUNCTION__, __LINE__); + } else { + // Then log it away + SQL_QUERY_ESC("INSERT INTO `{?_MYSQL_PREFIX?}_server_name_log` (`server_name`, `server_name_remote_addr`, `server_name_ua`, `server_name_referrer`) VALUES('%s','%s', '%s', '%s')", + array( + detectServerName(), + detectRemoteAddr(TRUE), + detectUserAgent(TRUE), + detectReferer(TRUE) + ), __FUNCTION__, __LINE__); + } + } // END - if +} + // [EOF] ?>